Entry
Trigger

Answers inbound voice and web-chat sessions, stamps the channel and opens a transcript spine.

inbound: voiceinbound: webchannel: chat
Compliance
Identity & consent

Verifies the caller against the account PIN and captures recording consent before any advice is given.

verify: pinconsent: recordingon_fail → escalate
NLU
Intent resolve

Maps the opening turns onto one of 41 intents and switches language when the caller code-switches.

intent: 41 labelslang: auto-detect
Retrieval
Knowledge lookup

Pulls the live account state from CRM plus the two most relevant knowledge-base articles.

source: crm.accountsource: kb.articlescache: 15m
Guardrail
Policy guardrail

Screens the planned reply against the refund, disclosure and retention clauses before anything is spoken.

policy: v14on_fail → escalateretry: 2
Generation
Response plan

Shapes the verified answer into the warm-direct persona voice with a hard six-turn budget.

persona: warm-directmax_turns: 6
Action
Tool call

Books the callback, writes the qualification record and routes the escalation when policy refuses a reply.

tool: crm.upserttool: calendar.booktimeout: 1.5s
Output
Wrap-up & CRM write

Summarises the call, tags the outcome and appends the full payload to the audit spine.

write: crm.notewrite: audit.spinetag: outcome
guardrail node 5 of 8

Policy guardrail

Shown on the graph, in the changelog and on every rehearsal report.
Rules run top to bottom; the first match short-circuits the node.
Attempts before the on-failure behaviour above takes over.
TOOLS THIS NODE MAY CALL
policy.check61 ms
crm.upsert240 ms
kb.search88 ms
audit.append34 ms
escalate.route120 ms

Version history

v15 staged Open rehearsal lab
VersionAuthorChange summaryRehearsal runStatusDate
v15A. KrishnanCancellation-retention guardrail plus batched CRM write-back on long callsRun #218 · 9,812/10,000canary18 Sep 2026
v14A. KrishnanBaseline: prompt compression and a compliance footer on every refund replyRun #217 · 9,940/10,000live02 Sep 2026
v13M. OyelaranAdded an objection branch for “it is too expensive” across all sales intentsRun #214 · 9,701/10,000superseded24 Aug 2026
v12M. OyelaranTightened refund-disclosure wording to match clause RC-14.2Run #211 · 9,880/10,000superseded15 Aug 2026
v11R. DavidSpanish (es-MX) language switching on the eligibility stepRun #206 · 9,612/10,000superseded05 Aug 2026
v10R. DavidCallback scheduling tool with a retry budget of two attemptsRun #203 · 9,554/10,000superseded29 Jul 2026
v9.2Priya NairHotfix: masked card numbers inside the wrap-up summary before CRM writeRun #198 · 9,990/10,000hotfix21 Jul 2026
v7Priya NairFirst multilingual rollout — rejected, disclosure accuracy fell to 91.2%Run #180 · 9,104/10,000rejected09 Jun 2026

Guardrail library

Workspace-wide clauses · 6 of 34 shown
RC-14.2

“Never promise a specific refund amount before the 14-day window closes.”

enforcedBlocks reply
DP-04.1

“Mask card numbers, CVVs and IBANs to the last four digits in every channel.”

enforcedRewrites output
RT-07.3

“Disclose the retention offer before any transfer to a human closer.”

canaryInserts step
LG-02.1

“Escalate immediately on any mention of legal action, a regulator or the media.”

escalateHands to human
ID-03.4

“Never confirm that an account exists to a third party without the account PIN.”

enforcedBlocks reply
LG-11.2

“Do not quote a delivery window outside the carrier’s committed range.”

advisoryLogs only

Voice & persona

qualify-buyer v15 · warm-direct
Pace
1.02×
Warmth
78
Formality
44
Interruption tolerance
21
LANGUAGES IN THIS PERSONA
en-GB · default es-MX fr-CA hi-IN ar-AE pt-BR
PERSONA SAMPLE · 0:22
Rendered segment Silence padding