Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.zavu.dev/llms.txt

Use this file to discover all available pages before exploring further.

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:
await zavu.messages.showTyping("msg_abc123");
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:
// 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 — without it, the user sees nothing happen for several seconds after they send their message.

Specifications

PropertyRequirement
Message channelMust be whatsapp
Message directionMust be inbound
Provider message IDMust be present (set automatically on received messages)
Do not call this endpoint speculatively — only when you are about to respond. Showing typing dots without ever replying degrades trust.
The 24-hour conversation window applies. Typing indicators on messages outside that window will fail.
  • Reactions — acknowledge a message without sending a full reply
  • AI Agents — agents that benefit most from typing indicators