Handling a failed call

Failure is chosen, not eliminated. Tell apart what wavered, step down instead of dropping, and close out what is left in the console.

On a live call you cannot throw an exception and be done. Eliminating failure is not an available goal; choosing how you fail is. Stepping a capability down beats dropping the call, and saying you do not know beats saying the wrong thing confidently.

Telling apart what wavered

Handling every failure the same way blunts the response. A vendor degrading, a capability of ours sitting in an uncertain state, and the caller's connection dropping are three different events, and each needs different handling.

The order failure is handled in
  1. Separate

    Vendor, capability, or connection — which one wavered

  2. Step down

    Lower that capability rather than ending the call

  3. Hold

    Keep the call up through to the end where possible

  4. Record

    Leave what was lowered in the console

While the call is running

When a vendor wavers

Speech synthesis depends on an outside vendor. When one degrades mid-call, the rest of that call moves to another provider and stays there. Swapping every sentence would be stranger than the degradation itself, so once a call fails over, it stays failed over.

When a capability is uncertain

When one of our own capabilities is uncertain, a flag steps it down. The flags guide covers that level structure in detail. What matters here is that the call continues in the stepped-down state.

The pipeline degrades instead of dropping — a vendor hiccup doesn't mean a dead call.

Sticky failoverSilence watchdogs and health-gated deploys

A flow that narrows without stopping
A kitchen tap running a thin, steady stream of water into a bowl.

After the call ends

A failed call still leaves a record. What ran in a stepped-down state has to be in it, or the same judgement gets made again in the same place next time.

  • Check which stage stepped down, and whether the call held to the end.
  • Read the transcript back for what changed on the caller's side — following the transcript review guide.
  • When a pattern repeats, mark the settings rather than the flow as what to adjust.
  • When the decision is about deployment scope, support is where the next step is.

This is not a claim that the pipeline does not die. It does. We only tried to choose how.

How capability opens, and what happens in review afterwards.

We work out the next step with you

What opens, and when, differs per deployment. Tell us the environment you run and we will map a path from what is actually built.

  • Stack documentation

    The order a call moves through, the custom processors, and how flags are structured.

    Read the docs
  • Support and common questions

    Real answers on deployment scope, data handling, and telephony integration.

    See support