Asenda TalkAsenda Talk
← All posts

The “Started” Calls Kojo Could Not Count, and What They Almost Cost Him

man using IP phone inside room

Photo by Berkeley Communications on Unsplash

A call marked “started” only shows that a call attempt entered the telephony flow. Lifecycle webhooks are needed to establish whether anyone answered, whether the conversation connected, how it ended, and which minutes should be reviewed against billing rules.

At 4:46 p.m. on a Friday, Kojo is still at his desk in Accra, his lunch container beside a cooling cup of tea. He manages a small support desk preparing for a Monday campaign. The dashboard shows a neat row of calls marked “started,” yet an agent tells him two customers say their phones never rang.

The spreadsheet he promised to send before close has one column for call status and one for minutes. Both look more certain than they are. If he treats every started call as a completed contact, the team could report outreach that never happened. If he treats every recorded minute as equally billable without checking the lifecycle, a campaign owner may challenge the total. By Monday morning, Kojo could be explaining numbers he cannot defend.

A started event is useful. It confirms the platform began processing a call. It cannot, on its own, answer the questions that matter after an attempted conversation: Did the provider accept the call? Did the recipient answer? Did the agent speak? Was there a disconnect before the greeting? Did the caller opt out? Was the duration associated with an actual connected call under the billing policy?

That gap is where call-truth tracking begins.

A call status needs a timeline, not a single label

Voice operations become unreliable when one early event is used as the final verdict. A lifecycle contains multiple moments, and each has a different operational meaning.

A practical record separates the attempt from the outcome. The system can receive webhook events as telephony states change, then retain those events in a traceable order. An operator reviewing a call should be able to see the progression from initiation through later states, including an answer or failure signal where available, a completed interaction or disconnect, and the final duration data used for reconciliation.

The exact event names and availability depend on the telephony provider and runtime. That distinction matters for Asenda Talk because production outbound calling remains gated until an explicit telephony-provider decision is made live. The platform has a telephony lifecycle webhook pipeline and call-truth tracking, while the production calling path is not something to imply as ready today. For the current boundary, see Asenda Talk’s unnamed telephony provider. Production calling remains gated.

A timeline also prevents a common reporting mistake: turning an attempted call into a successful customer contact. Those are separate measures. A support-desk manager may need both, but should never merge them because the row happens to say “started.”

The Friday report changes when evidence is attached

Kojo pauses before exporting the spreadsheet. Instead of sending a total based on the first event, he asks for the underlying lifecycle trail for the calls in dispute.

One record shows an attempt followed by a failure state. Another shows an answer event and a short interaction before disconnection. A third has a completed lifecycle with duration information that can be checked against the campaign’s per-minute billing rules. The rows no longer carry the same meaning, so they should not be counted the same way.

The turn is modest but important. Kojo can now write a report that separates calls attempted, calls answered where the provider reported an answer, calls that reached a completed state, and calls requiring review. He does not need to pretend a single dashboard label settled every question.

This approach also makes customer conversations less defensive. When someone disputes a charge or says a call never arrived, the operator has a record to investigate rather than a vague status to repeat. Lifecycle data does not make every provider signal perfect. It makes the basis for a decision visible.

For billing, the rule should be written before the campaign begins. Define which event combination supports billable minutes, who can approve real-money charging, and what happens when events are incomplete or contradictory. Asenda Talk’s metered per-minute billing includes an operator-controlled real-money gate, which gives teams a point of control before charging activity is treated as final. The gate is valuable only when the evidence behind it is clear.

A lifecycle is also about more than connection and duration. A caller may make a consent choice during or after an interaction. That choice must affect future outreach.

Asenda Talk records consent, opt-out, and an audit trail for every call. A support desk should treat those as operational events, not as notes someone must remember to copy into another system. If a person says “stop,” retries and alternative call routes need to respect that instruction. A Campaign Operator’s Consent Check. Every Retry Must Honor “Stop.” examines the control point in more detail.

The same principle applies to a disconnect during a Twi greeting. A disconnected call may contain a speech interaction, a partial interaction, or no usable conversation at all. The lifecycle record provides the context needed to investigate rather than guessing from a start time. Native Twi speech recognition and synthesis can support the conversation layer; it does not replace the need to know what happened to the call itself.

Build the review path before volume arrives

Before a campaign grows, decide what a manager can inspect when a call is questioned. Keep the call identifier, received webhook events, timestamps, consent outcome, duration basis, and billing decision connected in one reviewable path. Restrict access to provider credentials through write-only, masked, environment-aware secrets management so troubleshooting does not create a second risk.

When Kojo finally sends his Friday update, he does not claim every started call reached a person. He labels the attempted calls, identifies the completed records, and holds uncertain ones for review. On Monday, the tea cup is gone, but the evidence is still there.

Asenda Talk

A self-serve platform for building and running voice AI agents, built on native African-language speech (Twi, with more languages in progress) instead of a wrapper around a third-party voice API.

Try Asenda Talk

Comments

No comments yet.