Skip to content

Outcomes

Every finished call has an outcome: one word from a fixed list. Build your CRM rules on these words. Renaming or removing one takes at least 6 months’ notice. We may add new ones, so treat a word you don’t know as other.

Next to it, outcome_label is your organization’s own name for the outcome, the one your team sees in the app (for example Hung Up). Show it to people; branch on outcome.

outcome What happened
interested The lead wants what you offer. Usually someone on your team took the call (handled_by says who).
not_interested The lead said no.
callback A time to call back was booked. callback_at has it, in UTC.
voicemail We left a voicemail, and it was delivered. A message that didn’t go through doesn’t count.
no_answer Nobody picked up. This includes a mailbox that was full or not set up.
busy The line was busy.
failed The call didn’t connect, or a phone menu never reached a person.
dnc The lead asked not to be called again. The number is now on your Do Not Call list, and lead.opted_out was sent too.
wrong_number The person who answered isn’t the lead.
hung_up Someone answered, spoke, then hung up before anything was decided.
screened A call screener or an assistant answered, and the lead didn’t come on.
language_barrier The person who answered doesn’t speak English.
not_qualified The lead talked, but doesn’t fit what the campaign is for.
undetermined Our after-call check couldn’t tell what happened. Not knowing isn’t a “no”, so it has its own word.
other An outcome your team made up, or none. outcome_label has the name. A call a person handled that nobody filed within 10 minutes arrives as other with the note “No outcome was filed”.

outcome is null while the call has no outcome yet.

note is a sentence or two on what was said, written by the AI after the call (or typed by the person who took it). For example: “Wants a quote for a 6 kW system; home owner, roof replaced 2019.”

call.completed is sent once the outcome is final:

The call call.completed is sent
Only the AI spoke to the lead A few seconds after it ends, once our after-call check has looked at it
Someone on your team took it When they file the outcome, or after 10 minutes if they don’t

If someone corrects the outcome later, call.completed is sent again for the same call, with revision 2 (then 3 and so on) and a newer updated. Keep the one with the highest revision.

Terminal window
curl 'https://v2-api.callview.ai/api/v1/external/calls?outcome=interested&created[gte]=2026-10-01' \
-u "$CALLVIEW_KEY_ID:$CALLVIEW_SECRET"

Each lead also carries last_outcome and last_outcome_label, the outcome of its latest finished call.