Overview
A conversation is a call, a chat or a thread. Four triggers follow it:conversation.assigned when it is given an owner, conversation.completed when
it reaches the completed status, conversation.outcome_set when somebody
dispositions it, and conversation.deleted when it is removed.
A chat from the website widget and an email thread that has become a
conversation are covered too, so these events arrive for them with sourceType
set to widget or email, alongside the widget
and email events.
Outcomes are workspace-defined rows, not a fixed enumeration, so the values that
arrive are whatever that workspace has configured. Treat the field as an opaque
string and resolve it against the workspace’s own list rather than switching on
a set you hardcoded.
not_needed is the one value worth knowing by name. It is the seeded outcome
meaning this conversation warranted no disposition, and it is a recorded
answer rather than an absent one.
Nothing fires when a conversation is created or reopened. Closing one starts
Custral’s analysis of it, and conversation.completed arrives when that analysis
finishes with nothing waiting for review.
Related documentation
Stages & rules
Where a workspace defines the outcomes these payloads carry.
Conversations API
Reading the same conversations over the API.
Triggers
conversation.assigned
A conversation was given an owner, with who held it before.
conversation.completed
A conversation reached the completed status, by hand or when its analysis
finished.
conversation.deleted
A conversation was deleted. Carries its id and channel only.
conversation.outcome_set
A conversation was given an outcome, with the one it replaced.