Template

AI-to-Human Handoff Workflow Template

A fill-in handoff workflow for AI voice calls to traders: trigger conditions, warm transfer vs callback, context passed, desk hours and fallbacks.

Who it is for
Brokerage ops, retention and dealing-desk leads who own the AI calling program and the humans it hands traders to.
Time to complete
60 minutes

An AI voice agent should hand a trader to a person at the exact moment a human adds something the agent can't: judgment on a complaint, authority on a fee, a qualified answer on a product. This template pins down the triggers that fire a handoff, whether each one is a live warm transfer or a booked callback, what context the desk gets, when someone is actually there to take it, and what happens when nobody is. Fill in the blanks, paste the tables into your CRM and dialer setup, and your account managers and compliance team can run it next week.

Handoff trigger conditions

A trigger is a condition the agent can detect on the call or read from the CRM. Each one gets a handoff type and a priority, so the agent never has to guess.

  • Write the trader-asks-for-a-person trigger first and make it unconditional

    A trader who asks for a human and gets a third scripted line hangs up and remembers it. Whatever else you cut, this one stays.

  • List the exact phrases and keywords per language that fire each trigger, and store them next to the script

    Languages covered: ____

  • Set the money threshold for an automatic handoff in the account's base currency

    Threshold: ____

  • Decide which trigger wins when two fire on the same call

    Our default order: vulnerability, complaint, asks for a person, money threshold, everything else. A retention pitch into a complaint is how a call ends up in a regulator's inbox.

  • Mark every trigger where the agent must stop selling as well as every transfer trigger

    Complaint, vulnerability, regulator. The handoff line is neutral: "I'll get a colleague to help with that." No last offer, no bonus.

  • Add a manual trigger so a supervisor listening in can pull any call to a human

    Who can pull a call: ____

Handoff trigger conditions
TriggerHow the agent detects itHandoff typePriority
Trader asks for a personPhrases like "let me speak to someone" or "is this a robot", in any campaign languageWarm transfer if a desk is open, else callbackHigh
Complaint, chargeback or regulator mentionedKeywords: complaint, ombudsman, regulator, dispute, chargeback, lawyerWarm transfer to compliance-trained staff; no further scripted pitchHighest
Deposit or withdrawal above ____Amount stated on the call or read from the CRM recordWarm transfer to account managerHigh
Question that needs a qualified answer: leverage, margin call, suitability, taxTopic keyword list; the agent doesn't answer, it hands offCallback from a qualified person within ____ hoursHigh
KYC or account block the agent can't clearCRM account status shows pending review, frozen or restrictedCallback from onboarding or complianceMedium
Trader wants to close the account or move brokersIntent stated on the callWarm transfer to retention desk if open, else callback within ____ hoursHigh
Signs of distress, confusion or vulnerabilityConfused speech, mention of illness, debt, gambling or being pressured to tradeStop the pitch; warm transfer to a trained person, or end politely and flag for reviewHighest
Agent fails to understand twiceTwo fallback responses in a rowOffer a person or a callback; never loop a third timeMedium
Language switch the agent can't holdTrader answers in a language outside the campaign's configured setCallback from a speaker of that languageMedium

Warm transfer design

A warm transfer keeps the trader on the line while the agent brings a person in. It's the right choice when the trader is engaged now and a desk is open. It's the wrong choice when the hold runs longer than the call has lasted so far.

  • Set the maximum hold time before the agent switches to a callback offer

    Pick a number shorter than your average handled call. Sixty seconds is a common starting point; measure and adjust.

    Max hold: ____ seconds

  • Script what the agent says while the transfer connects: who's coming, why, and that the trader won't repeat themselves

    "I'm bringing in Maria from the account team, she can see our conversation." Naming the person and confirming context is what stops the trader hanging up during the ring.

  • Whisper the handoff reason and a trader summary to the human before the line joins

    Ten seconds of whisper or a screen pop with the summary. The human should open with the trader's name and the issue, not "how can I help you".

  • Route by trigger, not to a general queue

    Complaint ____ / Money ____ / Retention ____ / Other ____

  • Decide whether the AI agent stays on the line after the human joins

    Usually no. Drop the agent and log the handoff timestamp. A three-way call confuses both the recording and the trader.

  • Confirm the recording notice covers the human's part of the call, even if the desk runs on a different phone system

    The notice at the top of the call usually covers the whole call, but two phone systems can mean two recordings under two policies. Confirm with your compliance officer.

  • Define what happens when the transfer fails mid-ring: the agent comes back, apologises once, and books a callback

    Don't let the trader hear dead air. Failed transfers happen; unhandled failed transfers are what get complained about.

Scheduled callback design

A callback is a booked promise. It's the right handoff outside desk hours, for questions that need a qualified person, and whenever the trader would rather pick the time. Its whole value is that it happens when promised.

  • Offer two slots, not an open question

    "Tomorrow at 10 or at 3, your time?" gets a cleaner answer than "when suits you?" and produces a clean CRM entry.

  • Confirm the slot in the trader's local time and read it back

    Timezone source: CRM field / phone prefix / asked

  • Send a confirmation by SMS or email within ____ minutes of the call, naming who'll call and about what

  • Set the window the human must hit around the slot

    Within ____ minutes of the slot

  • Set the promised turnaround per trigger

    Complaint __ h / Qualified __ h / KYC __ h / Other __ h

  • Decide who owns a missed callback and what the trader hears

    A missed promise is worse than no promise. If the human misses the window, the system reassigns and sends an apology with a new slot, or the AI agent calls to rebook, in that order.

  • Check the callback lands in a live queue or calendar, not a spreadsheet nobody opens on a Friday

  • Block the AI agent from calling that trader on any campaign until the callback closes

    The reactivation campaign shouldn't ring a trader who's waiting on a compliance callback. Use a hold flag in the CRM that every campaign list respects.

Context passed to the human

The human should know the trader's name, the reason and the story before the line joins. This table is the screen pop. Anything not on it, the trader ends up repeating.

  • Write the one-line reason in words a human reads in three seconds, not a code

    The code goes in the CRM. The human needs the sentence.

  • Put the summary in the screen pop or whisper, and the transcript one click away

    Nobody reads a transcript during a ring. They read it when the trader says "like I told your machine".

  • Push the same context to the CRM record at the moment of handoff, not after the human finishes

    Topcalls sends call outcomes and transcripts to your CRM through Integrations, which connects to 5,000+ tools. The human should see the record before the line joins.

  • Never pass full card numbers, passwords or one-time codes, even if the trader said them on the call

    Redact them from the summary and mark the transcript segment. Check the redaction rule with your payments provider and compliance officer.

  • Decide who can see the handoff context and for how long

    Retention: ____ days, access: ____

  • Test with a real transfer and check every field arrived, in the order the human needs it

Context passed to the human
FieldWhere it comes fromFormatRequired
Trader name and account IDCRMText, ID as stored in the CRMYes
Phone numberDialerE.164Yes
Handoff triggerAI agentOne code from the trigger tableYes
One-line reason in plain wordsAI agent summary"Trader disputes a $250 withdrawal fee charged on 3 May"Yes
Call summary so farAI agent summaryThree to five sentences, most recent firstYes
Full transcript linkCall platformURL into the call recordYes
Campaign and script versionDialerCampaign name plus version tagYes
Language of the callAI agentLanguage codeYes
Account status and KYC stateCRM or trading platformVerified / pending / restrictedYes
Balance, last trade date, open positionsMT4/MT5 or CRMNumbers with currencyMoney and retention triggers
Prior complaints or handoffsCRMCount and date of the last oneYes
Distress or vulnerability flagAI agentLow / medium / high, plus the phrase that set itWhen set
Promised callback slotAI agentDate and time in the trader's local timeCallbacks only

Agent availability windows

The AI agent calls whenever the campaign schedule says. The humans it hands off to have shifts, languages and seat counts. Fill this in for every desk a trigger can route to.

  • Fill the table in trader-local hours and check it against every market the campaign dials

    A campaign calling Dubai, Lagos and Sao Paulo from a London desk has three different open windows. The AI agent works all of them; the humans don't.

  • Restrict any campaign with a high warm-transfer rate to the hours a desk is open

    Campaigns restricted to desk hours: ____

  • Set a rule for the desk being open but every seat busy

    Hold up to the max hold time, then offer a callback. Never park a trader behind a queue they can't see.

  • Feed live seat availability to the AI agent, or at least a desk-open flag by hour

    A calendar the agent can read beats a static table. If your phone system exposes queue status, connect it through Integrations.

  • List which languages each desk can take, not which ones the AI agent speaks

    The agent can run in 32 languages; a human desk usually covers three. A handoff in a language nobody on shift speaks is a callback, and the table should say so before launch.

  • Name the person who updates this table when shifts change

    Owner: ____

Agent availability windows
Desk or queueHours (trader local)LanguagesSeatsOverflow to
Account management____ to ____, Mon to Fri____________
Retention desk____ to ________________
Compliance or complaints____ to ________________
Onboarding and KYC____ to ________________
Payments____ to ________________
Night and weekend cover____ to ____________Callback queue

Fallbacks when nobody can take the call

Every handoff route needs a next route. Write them here so the agent never ends a call with "someone will be in touch" and nothing behind it.

  • Warm transfer fails or nobody picks up: the agent apologises once, offers a callback, books it, ends the call

  • Trader declines a callback: send a written summary and a direct number or email for the right desk

    Channel: SMS / email / both

  • Trader asks for a person outside all desk hours: the agent states the next opening in the trader's time and books the earliest slot

  • Complaint or regulator mention outside hours: stop the call, log it as a complaint, notify the compliance owner the same night

    Notify via: ____

  • Distress or vulnerability outside hours: end politely, no further automated contact, human review next morning

    Write down who reviews and what they do. Under the FCA's consumer protection expectations and equivalent conduct rules elsewhere, how you treat a vulnerable customer gets reviewed, and a written process is what you show. Confirm with your compliance officer or counsel.

  • Trader hangs up during the transfer: one callback attempt by a human, then a text, then close

    Max attempts: ____

  • CRM, dialer or phone system down: the agent gives a direct number and the campaign pauses

    Fallback number: ____

  • Cap total handoff attempts per trader per week, across all campaigns

    Cap: ____ per week

Outcome codes and CRM logging

One handoff record per call, opened by the agent and closed by the human on the same record. Keep the code list short enough that people use it.

  • Write the handoff record before the human picks up, and have the human close it on the same record

    Two records for one call is how handoffs go missing from reporting.

  • Log the time from trigger to human on every warm transfer

    Target: under ____ seconds

  • Log the time from call end to callback done on every callback

    Target: under ____ hours

  • Set an expiry on the hold flag so a callback nobody closes doesn't suppress the trader for good

    When it expires with no CALLBACK_DONE, log CALLBACK_MISSED and reassign; don't just silently release the trader back into the campaign.

    Expires after: ____ days

  • Keep the handoff reason as a fixed picklist so the weekly review can count by reason

Outcome codes and CRM logging
Outcome codeMeaningCRM field to updateNext action
HANDOFF_WARM_OKWarm transfer connected, human took overhandoff_type, handoff_at, handoff_ownerHuman logs the outcome on the same record
HANDOFF_WARM_FAILTransfer attempted, no human joinedhandoff_failed_reasonCallback booked or fallback route fired
CALLBACK_BOOKEDTrader accepted a slotcallback_at, callback_owner, hold_flag = trueConfirmation sent, campaign hold applied
CALLBACK_DONEHuman completed the callbackcallback_done_at, hold_flag = falseTrader returns to normal campaign rules
CALLBACK_MISSEDSlot passed with no human callmissed_atReassign, apology sent, new slot offered
COMPLAINT_FLAGComplaint or regulator mentionedcomplaint_flag, complaint_ownerCompliance review within ____ hours, no further automated calls
VULNERABLE_FLAGDistress or vulnerability signsvulnerability_flagHuman review, contact rules changed per policy
DO_NOT_CALLTrader asked not to be calleddnc_flag = trueSuppress from every voice campaign the same day

Weekly review and sign-off

Fill this in every Monday for the previous week. The point is to catch triggers firing too early, too late, or not at all.

  • Read ten handed-off transcripts a week and check whether the trigger fired at the right moment

    Too early and the humans are doing work the agent could finish. Too late and you'll find it in the complaint log.

  • Read ten calls that didn't hand off and should have

    Search for "speak to someone", "is this a robot" and the local equivalents. Every miss becomes a new phrase in the trigger list.

  • Review every COMPLAINT_FLAG and VULNERABLE_FLAG with the compliance owner

    Signed off by: ____

  • Check the handoff wording still meets your recording and AI disclosure requirements under GDPR, TCPA and FCA rules where they apply

    The AI call disclosure checklist covers wording by region. This item is the weekly confirmation it survived the last script edit.

  • Change one threshold or one trigger per week at most, so the numbers tell you what moved

  • Send any trigger that fires more than ____ times a week to product or payments as a root-cause item, not a handoff item

Weekly review and sign-off
MetricHow to get itThis week
Handoffs by triggerCount per trigger code____
Handoff rateHandoffs divided by connected calls____ %
Warm transfer successHANDOFF_WARM_OK divided by all warm attempts____ %
Median trigger-to-human timehandoff_at minus trigger time____ s
Callbacks kept on timeCALLBACK_DONE inside the window divided by CALLBACK_BOOKED____ %
Outcome after handoffDeposits, retained accounts and resolved complaints, as your CRM defines them____
AI minutes before handoffSum of agent minutes on handed-off calls x $0.35____ min, $____

How to use this

  1. 1

    Fill the trigger table first and get the order of precedence agreed by ops, retention and compliance in one meeting.

  2. 2

    Fill the desk availability table in trader-local hours for every market you dial.

  3. 3

    Decide warm transfer or callback per trigger, and write the max hold time into the dialer config.

  4. 4

    Paste the context fields into your CRM screen pop and the outcome codes into the picklist.

  5. 5

    Run five test calls that trigger a handoff and check every context field arrives before the human says hello.

  6. 6

    Walk the fallback and review sections with your compliance officer before the first live campaign.

  7. 7

    Fill the weekly review table every Monday and read twenty transcripts.

Next step

We map your handoff triggers to your desk hours, wire the context fields into your CRM screen pop, and scope a pilot that measures trigger-to-human time on real calls.

Book a 30-minute call

Read next

Related resources