is_typing
is_typing
A human started or stopped typing. This is distinct from message.generating, which is the AI, and you may want to render them differently.
by.role says who: an operator typing is worth showing to the end customer, a client typing is worth showing to the operator.
A stopped event is not guaranteed. A connection can drop mid-typing, so expire the indicator yourself after a few seconds rather than waiting for is_typing: false.
Payload
The payload of this webhook request is an object.
schema_version
Semver for the payload shape. Fields are added without a major bump; nothing is removed or repurposed without one.
event
Which event this is.
delivery_id
Unique per delivery attempt. Log it, and use it to detect a redelivery.
occurred_at
When the event happened.
robot_id
The robot it belongs to.
external_id
Your own id for that robot, echoed on every event so you never need a lookup table.
channel_id
The channel it arrived on.
data
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.