Skip to main content

WhatsApp chat events

A WhatsApp agent sends chat events instead of call events. You subscribe in the same Event Subscription screen; only the event list and payload differ.

Events

They arrive in that order. An analysis event is skipped when its analysis didn’t succeed, but all_processing_completed still fires and carries the status. chat_completed fires when the chat closes, not after each message. Call events (call_started, call_ringing, call_ongoing, call_completed, recording_completed) never fire for a chat and aren’t offered on a WhatsApp agent. Subscribing to one through the API returns 400: Event type ‘call_completed’ is not available for a WhatsApp agent — it can only be produced by a voice call. Likewise, chat_completed can’t be added to a voice agent.

Chat payload

Every chat event carries these base fields. None of them has call_id or call_sid; use entity_type to tell chat events from call events on a shared endpoint. Each event adds:
chat_completed
all_processing_completed

Common questions

The chat closes only when the agent calls End Chat or the agent’s idle timeout passes (3 hours by default). Lower End the chat after no messages for under Chat → Settings if you need the event sooner.
Yes. Subscribe it on each agent and branch on entity_type (payload). To read a chat while it is still open, use Logs → WhatsApp.