Guides
Step-by-step guide to building warm transfers in Thoughtly — from qualifying leads and extracting variables to enabling early summaries so your reps have full context before they pick up.
Last updated
A cold transfer loses the conversation. The prospect repeats their name, their question, their intent — and your rep starts from zero. In high-volume lead conversion, that friction kills deals before they start.
A warm transfer, by contrast, hands the caller and the context to a human at the same time. The rep already knows who's calling, what they need, and why they qualified. The conversation picks up where the AI left off.
This guide walks through how to build warm transfers in Thoughtly step by step — from qualifying the lead, to extracting key variables, to enabling early summaries so your reps have full context the moment the call connects.
Optional but recommended: an Automation using the On Call Completed trigger for post-transfer CRMCRMThe system of record for leads, contacts, deals, and activity. Thoughtly reads from and writes to your CRM continuously. updates and rep notifications.
A warm transfer only works if the AI has something worth handing off. That means the agent needs to qualify the lead before deciding to transfer.
In Thoughtly's Agent Builder, structure the flow so the first several Speak nodes collect the information your reps actually need. For an insurance agency, that might be coverage type, state, and whether they currently have a policy. For a home services company, it might be service type, address, and urgency.
The goal is a short qualification loop — three to five questions — that captures enough context for the rep to take over without repeating anything.
Keep qualification questions tight. Each Speak node should focus on one piece of information. If you need to ask follow-ups or validate an answer, use Outcomes to loop back to the same node with a clarifying prompt before moving forward.
Thoughtly Variables capture structured data from the caller's responses. They extract immediately after the caller replies and before Outcomes evaluate — which means your routing logic can branch on fresh data.
For each piece of qualification data, create a VariableVariableA named value the voice agent stores during a conversation — caller name, intent, qualifying answers — and uses to drive routing and post-call actions. on the relevant Speak node:
| Variable name | Extraction instruction | Example value |
|---|---|---|
| loan_purpose | What type of loan is the caller asking about? | refinance |
| property_state | Which state is the property located in? | Florida |
| estimated_value | What is the estimated property value? | 425000 |
| timeline | How soon does the caller need to close? | within 60 days |
| caller_name | What is the caller's first name? | Maria |
Set the extraction scope to Current speak node when the answer comes from the most recent reply, or Conversation history when the information may have been mentioned earlier in the call.
These variables serve two purposes: they feed into Outcomes for routing decisions, and they provide structured context that the rep can use after the transfer. The more specific your extraction instructions, the cleaner the data.
After the qualification Speak nodes, you need Outcomes that decide whether the lead should be transferred to a human or handled differently.
Use prompt-based Outcomes when the decision depends on conversational intent rather than a specific field value. For example:
Use rule-based Outcomes when you have clear qualification criteria. For example:
timeline is not empty AND property_state is not empty → Transfer nodeRule-based Outcomes are deterministic — no AI interpretation involved. They evaluate from top to bottom, and the first match wins. Always include an Else outcome as a fallback so the agent never gets stuck.
For most warm-transfer scenarios, a hybrid approach works well: use prompt-based Outcomes early in the flow to interpret caller intent, then switch to rule-based Outcomes for the final transfer decision where you need certainty that all required fields are present.
The Transfer node is where the handoff happens. Thoughtly offers two transfer modes:
Phone Router transfers the caller to a specific phone number. This is the most common mode for warm transfers to human reps.
Write a pre-transfer message that confirms the transfer is happening and reassures the caller that their information will carry over. Keep it natural:
Great — I've got everything I need. Let me connect you with one of our loan officers who can walk you through the next steps. They'll have all the details from our conversation, so you won't need to repeat anything. One moment.The pre-transfer message is spoken exactly as written, so proofread it. Phone numbers are validated in real time using country-aware formatting rules, and leading/trailing whitespace is automatically trimmed.
Agent Transfer connects the caller to another Thoughtly Voice AgentVoice agentAn autonomous, conversational interface that interacts with humans over the phone — answering, qualifying, and routing calls without human staffing. in your account. This is useful for specialist escalation — for example, a front-desk agent that qualifies and routes to a product-specific agent.
Select the target agent from your account's agent list. The current agent session ends when the transfer begins. An optional pre-transfer Description customizes what the caller hears before the handoff (the default is "Transferring you to [agent name] now").
Agent Transfer is ideal when the "human" on the other end is actually a more specialized AI agent — a two-agent handoff pattern where the first agent qualifies and the second handles a specific workflowWorkflowAn automated, multi-step process — usually triggered by an event (form fill, new lead) and orchestrating one or more voice / SMS / email actions. like scheduling, quoting, or claims intake.
This is what makes the transfer warm instead of cold. Thoughtly's Early Summaries feature generates a conversation summary before the transfer happens — not after the call ends.
When Early Summaries are enabled on a Transfer node:
This is especially valuable when the rep receiving the transfer is using a CRM dashboard or a Slack notification to prepare before picking up. The summary arrives before the caller does.
Pair Early Summaries with a post-call Automation (Step 6) to push this context into your CRM, Slack, or email before the rep even says hello.
Use Thoughtly Automations to push transfer context to your team in real time. The On Call Completed trigger fires after every call, including transferred calls.
The On Call Completed trigger provides rich call data including durations, outcomes, all captured variables, transcriptTranscriptThe text record of a voice conversation, used for review, training, compliance audit, and search. structure, and transfer status. Use Conditions to filter for transferred calls so this automation only runs when it should.
If you use Slack as your notification layer, the rep sees the summary in their channel before the transferred call even connects — giving them a few seconds to pull up the CRM record and prepare.
Before going live, use both of Thoughtly's testing methods:
Test at least these scenarios:
After each test call, review the response log in History. Node step numbers help you identify exactly where the conversation routed during replay.
Track these metrics to evaluate whether your warm transfers are working:
| Metric | What it tells you | Target |
|---|---|---|
| Transfer rate | Percentage of calls that reach the Transfer node | Depends on funnel — 20-40% for qualified inbound |
| Transfer completion rate | Percentage of transfers where the rep picks up | > 80% |
| Time to transfer | Seconds from call start to transfer | 60-120 seconds for simple qualification |
| Rep handle time after transfer | How long the rep spends on the call post-transfer | Should decrease vs. cold transfers |
| Conversion rate (post-transfer) | Percentage of transferred calls that result in a booked appointment or closed deal | Compare to pre-implementation baseline |
| Repeat-info rate | How often callers report repeating information | Target: near zero |
Use Thoughtly's History and Analytics to track call outcomes, transfer counts, and variable capture rates. For conversion tracking beyond the call, connect your CRM data to measure what happens after the rep picks up.
Yes. Use Variables to capture location or intent during the call, then reference those Variables in the Transfer node's phone number field. You can also use rule-based Outcomes to route to different Transfer nodes — one per region or product line.
The caller will hear the destination's voicemail or hold music depending on the receiving system's configuration. Design a fallback path: use an Automation triggered by On Call Completed to detect transferred calls where the rep didn't pick up, then send an SMS to the caller confirming a callback and alert the rep via Slack or email.
With Early Summaries enabled and a post-transfer Automation pushing to Slack or email, yes. The summary generates before the handoff, and the Automation fires on call completion. The rep typically sees the Slack notification within seconds — often before the transferred call finishes ringing on their end.
Yes. Agent Transfer connects the caller to another Thoughtly Voice Agent in your account. The first agent qualifies, collects data, and hands off to a specialist agent — for example, a general intake agent transferring to a quoting agent or a scheduling agent. The current session ends and the new agent takes over.
You can add multiple Transfer nodes to handle different routing paths. For example, one Transfer node for sales, another for support, and a third for a specialist team. Each Transfer node should have a distinct pre-transfer message so the caller knows where they're being routed. Transfer node messages must be at least 80 characters.