Use GOVENANT and Retell AI together — govern the voice & CX agents, not the framework. Every call verified. Misses included.
A support org routes 40,000 calls a month through a voice agent. The platform reports a 82% resolution rate; the CFO wants to expand the deployment.
“Resolution” is the platform grading itself: a call that ends without a transfer is scored resolved. Nobody is checking how many “resolved” customers called back within 48 hours about the same issue — the exact gap between answered and resolved.
With resolution keyed to the record and reopens logged by an independent watchdog, verified resolution lands at 63%, with a reopen cluster in billing. The honest number is lower — and it’s the first number the CFO trusts enough to actually expand on.
The substrate: The conversation record: transcripts, end reasons, and a verified outcome row per call — resolution, not mere completion.
The path — Native substrate: The platform already produces records that map to the standard — the sweep reads what it already keeps.
| GOVENANT shape | Retell AI source |
|---|---|
| Duty-run | One per call — Retell’s call object (call_id, timestamps, transcript reference) |
| Verified outcome | call_analysis resolution flag AND no reopen/callback within 48h — resolution, not “call ended” |
| Validation gate | Your resolution criteria, decided in advance, checked against the record |
| Miss log | Missed, failed, abandoned, and reopened conversations — written independently of the platform’s CSAT |
// Retell posts a webhook when a call is analyzed. Write ONE outcome row per
// call, keyed to verified resolution — the watchdog checks reopens. Aggregate only.
export async function onRetellWebhook(req, ledger) {
if (req.body.event !== 'call_analyzed') return;
const c = req.body.call;
const resolved =
c.call_analysis?.custom_analysis_data?.resolved === true &&
!(await reopenedWithin(c.metadata?.customer_id, '48h')); // verified, not asserted
await ledger.writeDutyRun({
duty: 'resolve_inbound_call',
subject_ref: c.call_id,
ran_at: c.start_timestamp,
delivered: resolved,
});
} The substrate shapes and acceptance tests are open (CC BY 4.0): developer integration · the portable schema.
A real integration can wear the Built-on GOVENANT badge under its four rules, and publish level claims to the registry with probe logs — self-assessed, open to challenge, never “certified.” For CX buyers, a public delivery record with the misses included is the strongest trust asset there is, because it is the one thing a vendor cannot fake comfortably.
This example is a worked mapping with read-only code — adapt the object/field names to your environment. It will never say “supported” or “certified” before a working example lands and its record is public — progress lives in the GitHub issue. Holding our own examples to the standard’s claims discipline is the product.
All sample projects · Govern voice & CX agents · All integrations · Run the audit