Key takeaways
- Keep connection state, agent disposition, buyer outcome, and commercial outcome in separate fields.
- Allow unknown and conflicting states so the system does not manufacture clean data.
- Define every outcome with evidence, ownership, and permitted next actions.
- Reconcile callbacks, conversation events, CRM writes, and downstream revenue on a routine cadence.
01
“Completed” may mean only that audio connected
A carrier can mark a call complete after a person, an automated attendant, or a voicemail system answered. The voice application may separately report that it reached the intended contact, gathered a request, transferred the caller, or failed mid-task. Sales then needs to know whether the buyer agreed to a next step. Folding all of that into one disposition makes the dashboard simple and the operation unknowable.
Model the layers independently. Preserve the provider’s raw status, map it to a documented internal state, and record who or what supplied the higher-level outcome. Do not let the model overwrite transport evidence or let a CRM workflow relabel an unanswered question as a qualified lead.
Swipe to compare every column
| Layer | Example values | Evidence owner |
|---|---|---|
| Telephony | Queued, ringing, in progress, completed, busy, failed | Voice provider callback |
| Conversation | Human reached, voicemail, wrong person, transfer failed | Application event plus review rule |
| Buyer | Declined, asked for follow-up, booked, needs a person | Explicit utterance or human disposition |
| Commercial | Qualified meeting, opportunity, sale, no-show | CRM and revenue system |
02
Write definitions that survive a disagreement
For each value, specify the entry evidence, exclusions, source, confidence or review state, next permitted action, and whether the record can be changed later. “Interested” is not a definition. “The intended contact explicitly requested a product follow-up within 30 days” can be reviewed.
Include unknown, ambiguous, and conflicting. A voicemail detector can be uncertain; a caller may first decline and then request an email; the CRM write may fail after the conversation. A visible unresolved state is more valuable than a forced answer that silently triggers the wrong campaign.
03
Join events with a stable call identity
Carry a correlation ID from the call request through provider status callbacks, application turns, tool calls, transfer attempts, consent state, CRM activity, and the eventual commercial record. OpenTelemetry describes how trace and span identifiers can correlate logs across services; the same principle helps a voice team reconstruct one customer journey without searching by phone number.
Use signed webhooks, deduplicate repeated delivery, preserve event time and observed time, and make updates idempotent. Provider callbacks can arrive after the application has written an interim result. Reconciliation should decide which source is authoritative for each field rather than trusting whichever update arrived last.
04
Audit the taxonomy against real calls
Sample records from every high-volume and high-impact outcome. Compare the audio or transcript only under the applicable consent and access policy, then inspect the provider event, application summary, CRM action, and downstream result. Measure disagreement between reviewers and between human and automated labels.
Report outcome distribution, unknown rate, conflict rate, delayed callbacks, failed CRM writes, repeated contacts, opt-outs, meetings held, and qualified progression. A taxonomy is healthy when it helps the team find uncertainty and fix routing—not when every row appears conveniently complete.
Primary sources and further reading
Use the source material to validate details against your own context and current platform configuration.
- Twilio Voice API: Call resource and status values
- Twilio: Voice webhooks
- OpenTelemetry: Logs and trace correlation
This field note follows the XenGrowth editorial policy: primary sources where available, visible limitations, material review dates, and no invented first-hand experience.
Stay with the problem



