Skip to main content
These events track the lifecycle of each message — from the moment a contact sends it to the read confirmation. Use them to sync conversation history, trigger content-based automations, or monitor delivery failures.

Event list


message.received

When it fires

A new message from a contact arrives on any channel connected to the workspace. This includes text, image, audio, video, document, and location.

Payload

Key fields

Usage example

Use message.received to integrate with your CRM, trigger external automations, or route messages to your own support system. If type is something other than text, check media_url to access the file.

message.sent

When it fires

The AI agent or a human agent sends a message to the contact — whether via inbox, API, or automation.

Payload

Key fields

Usage example

Use sent_by_type to separate metrics for messages sent by AI vs. humans in your performance dashboard.

message.delivered

When it fires

The channel (WhatsApp, Instagram, etc.) confirms the message reached the contact’s device. Not all channels support delivery confirmation — widget and Telegram do not emit this event.

Payload

Key fields


message.read

When it fires

The contact opened and viewed the message. Available only on channels that return read status — WhatsApp Business API and Instagram Direct.

Payload

Key fields

The message.read event is generated at the individual message level. If the contact opens the conversation, you may receive several read events in sequence for previously unread messages.

message.failed

When it fires

Sending a message failed. This can happen due to a number not registered on WhatsApp, a disconnected channel, an expired Instagram session, or any other channel error.

Payload

Key fields

Usage example

Monitor message.failed with alerts. Many consecutive failures on the same channel_id indicate the channel may be disconnected — check the channel.error event in parallel.