# Typing Indicators

> Mark an inbound WhatsApp message as read and show a typing indicator while you prepare a response. Improves UX when replies take more than a couple of seconds.

When a customer messages your business and the reply needs a moment to prepare — an LLM agent, a database lookup, an external API call — you can show the same "typing…" dots WhatsApp users see when a friend is replying. The same call also marks the inbound message as read (blue checks).

## Show a Typing Indicator

Call the typing endpoint with the inbound message ID you want to acknowledge:

```typescript
await zavu.messages.showTyping("msg_abc123");
```

```bash
curl -X POST https://api.zavu.dev/v1/messages/msg_abc123/typing \
  -H "Authorization: Bearer zv_live_xxx"
```

The indicator is automatically dismissed when:
- You send a reply, OR
- 25 seconds elapse — whichever comes first.

## When to Use

Show the indicator only when a response really is on the way. The typical pattern is to call it as the first thing your webhook handler does for an inbound message that will trigger slow work:

```typescript
// In your webhook handler for `message.inbound`
await zavu.messages.showTyping(event.data.messageId);

const reply = await yourLLM.generate(event.data.text);

await zavu.messages.send({
  to: event.data.from,
  channel: "whatsapp",
  text: reply,
});
```

This is especially valuable for [AI Agents](https://www.zavu.dev/docs/guides/ai-agents/overview) — without it, the user sees nothing happen for several seconds after they send their message.

## Specifications

| Property | Requirement |
|----------|-------------|
| Message channel | Must be `whatsapp` |
| Message direction | Must be `inbound` |
| Provider message ID | Must be present (set automatically on received messages) |

> **Note:**
> Do not call this endpoint speculatively — only when you are about to respond. Showing typing dots without ever replying degrades trust.

> **Note:**
> The 24-hour conversation window applies. Typing indicators on messages outside that window will fail.

## Related

- [Reactions](https://www.zavu.dev/docs/guides/whatsapp/messages/reaction) — acknowledge a message without sending a full reply
- [AI Agents](https://www.zavu.dev/docs/guides/ai-agents/overview) — agents that benefit most from typing indicators
