At bank scale, AI call volume depends less on the conversation model than on the telephony events recorded before, during and after each call. The critical architectural choice is a webhook pipeline that preserves call truth: what was attempted, what connected, what failed, what the customer consented to and what should be billed.
Consider an illustrative scenario. At 4:47 p.m. in Accra, Kojo, a contact-centre operations lead, is holding a paper cup of cold coffee when his dashboard reports 6,200 completed calls. The carrier portal shows fewer connections, while the billing system has counted every call attempt as answered.
Finance needs a reconciled figure before approving the next campaign. Compliance needs to know whether one customer’s opt-out was recorded before a retry. If Kojo chooses the wrong system as the source of truth, customers could be charged for conversations that never happened, or someone who said “do not call again” could receive another call that evening.
The AI may have spoken perfectly. The operation is still in doubt.
Scale exposes the difference between an event and a fact
Absa has said its chatbot handles 100,000 queries each month, alongside 1,400 developers using AI coding tools. Those figures demonstrate the operational scale at which African banks are applying AI. They do not establish that Absa runs 100,000 AI voice calls, or reveal its internal telephony architecture.
They do make one lesson hard to ignore: once automated interactions reach large volumes, small ambiguities become recurring operational problems.
A telephony provider can emit events such as call initiated, ringing, answered and ended. An AI runtime may separately record assistant started, transcript created or session stopped. Billing can produce another record. Each system describes part of the same interaction, often with different identifiers and arrival times.
A webhook saying “completed” may mean the provider finished processing the call. It does not necessarily mean a customer answered, heard the agent or completed the intended conversation. If the architecture treats every emitted event as final truth, reporting becomes confident and wrong.
Call truth requires a defined state model. An attempted call should remain distinct from a connected call. A connected call should remain distinct from a conversation with verified duration. Failure reasons, retries and provider timestamps need to survive reconciliation rather than disappearing into one convenient status.
Webhooks must survive duplicates, delays and missing events
At low volume, an operator can open two dashboards and resolve a mismatch manually. At bank scale, that habit collapses.
Telephony webhooks can arrive twice, arrive out of order or arrive after an internal timeout has already changed the call state. A durable pipeline therefore needs idempotency, so the same event cannot create two charges or two audit entries. It also needs ordering rules, correlation identifiers and a controlled way to reconcile missing terminal events.
Imagine Kojo tracing one disputed call. The “call ended” webhook arrived before the “call answered” event because two queues processed them at different speeds. A simple last-event-wins design marked the call as answered after it had ended. The billing meter then treated the later timestamp as fresh activity.
With minutes left before approval, Kojo finds the raw event history. The pipeline has retained each provider payload, its arrival time and the internal state transition it triggered. He can reconstruct the sequence, correct the rule and identify every affected record without guessing.
That preserved history is the turn. The campaign can proceed from evidence rather than whichever dashboard updated last.
Asenda Talk’s current architecture includes a telephony lifecycle webhook pipeline with call-truth tracking. Its assistant runtime is orchestrated through Vapi, while the surrounding records distinguish provider events from internal call state. Outbound calling remains gated behind an explicit telephony-provider decision and an operator-controlled real-money gate. The platform is in active early access, so that gate matters more than a claim of finished feature parity with Vapi, Retell AI or Bland AI.
Consent and billing belong inside the call lifecycle
A bank cannot bolt consent onto the final transcript and assume the job is done. The system needs to record when consent was requested, what response was captured, whether an opt-out occurred and which later actions were blocked because of it.
The same principle applies to billing. Metered per-minute charging should follow verified lifecycle state, with clear rules for rounding, retries, unanswered attempts and provider discrepancies. Otherwise, a duplicate webhook becomes a financial event.
This is where call truth meets governance. A useful audit trail connects the configured agent, the first message, the voice used, the call attempt, consent status, opt-out state, provider events, verified duration and billing decision. Secrets used by the runtime also need controlled handling. Asenda Talk stores admin secrets as write-only, masked and environment-aware values, reducing the chance that operational credentials leak through an interface or tracked configuration.
Language adds another layer. A caller may switch between English and Twi while giving consent, correcting a name or disputing a charge. Native Twi recognition and synthesis, fine-tuned in-house, gives Asenda Talk a foundation for those conversations without treating Twi as a thin translation layer. The accuracy risks behind that distinction are explored further in Native Twi Speech Processing: How Intent Outperforms Word Recognition.
Decide what counts before increasing volume
The practical design work starts with definitions. Write down what attempted, ringing, connected, answered, completed, opted out and billable mean. Assign an authoritative source to each state. Then test duplicate, delayed, contradictory and absent webhooks before real money or customer contact is enabled.
Kojo’s corrected dashboard now shows three separate numbers: attempts, verified connections and billable minutes. The disputed opt-out is visible in the same event history, and the retry is blocked. His coffee is still cold, but the approval no longer depends on an unexplained total.
That is the architecture behind AI at scale: every call leaves enough evidence to say what actually happened.
Comments
No comments yet.