Payload
string
required
The conversation. Always present.
string
The outcome that was set. This is a disposition key, not a label.
string
The outcome it replaced. Omitted when the conversation had none, which is
the usual case the first time one is set.
string
The free-text note left alongside the outcome, when there is one.
string
The conversation’s status at the time, for example
open, closed,
completed.string
The channel the conversation came from:
phone, email, sms, widget,
meeting, slack.Outcomes are per workspace
Each workspace defines its own dispositions under Settings → Dispositions, sooutcome is whatever key that workspace uses. Do not hard-code a closed set:
switch on the values you care about and let the rest fall through.
Resolve a key to its label with
GET /v1/dispositions, and cache the map.
not_needed is a real outcome, seeded into every workspace. It means the
person on the call decided the conversation warranted no categorisation, which
is different from nobody having answered the prompt. Exclude it from
conversion maths rather than treating it as a result.Worth knowing
- Setting the same outcome twice still fires.
previousOutcomeandoutcomecan be equal. - Correcting an outcome fires again, with the old value in
previousOutcome. The last delivery for a conversation is the current state, but arrival order is not guaranteed. - Other changes have their own events. Assigning a conversation delivers
conversation.assigned, and completing it deliversconversation.completed, which carries the outcome as it stood at that moment.