Skip to navigation

chat

A conversation changed state. status is the new state and previous_status is what it was before.

Each status means something different for your side, so branch on it rather than storing the string. operator_attention is the one to raise an alert on: it means a human is needed.

closed carries two extra fields, context_reset and message_count. context_reset is not a deletion flag — nothing is deleted, the prior history simply stops being replayed to the AI as context. A partner who treated it as a deletion instruction would discard a transcript we still hold.

Payload

The payload of this webhook request is an object.
schema_versionstringOptional

Semver for the payload shape. Fields are added without a major bump; nothing is removed or repurposed without one.

eventstringOptional
Which event this is.
delivery_idstringOptional
Unique per delivery attempt. Log it, and use it to detect a redelivery.
occurred_atdatetimeOptional
When the event happened.
robot_idstringOptional
The robot it belongs to.
external_idstringOptional
Your own id for that robot, echoed on every event so you never need a lookup table.
channel_idstringOptional
The channel it arrived on.
dataobjectOptional

Response

200

Return any 2xx as soon as you have stored the event. Anything else, or a timeout, is retried: 6 attempts over about an hour, then dead-lettered.