Guides
A practical guide to building a Thoughtly agent that qualifies high-volume consumer leads, captures fit and urgency, follows up by SMS, and routes ready buyers to the right human team.
Last updated
High-volume consumer lead teams lose opportunities before a human ever has time to respond. A quote request, appointment inquiry, enrollment form, mortgage lead, home-services request, or real estate inquiry lands in the CRMCRMThe system of record for leads, contacts, deals, and activity. Thoughtly reads from and writes to your CRM continuously.; the buyer waits; and by the time someone calls back, intent has cooled or a competitor has already answered. Even when a team does respond quickly, the first conversation often gets spent on basic fit questions that a Thoughtly agent can handle immediately.
This guide walks through how to build an AI voiceAI voiceAn artificially generated, natural-sounding voice produced by a TTS model. Thoughtly supports a library of AI voices and brand-specific cloning. agent in Thoughtly that contacts new inbound leads, qualifies them over a real phone conversation, follows up with SMS, and routes ready buyers to your human team with full context. The framing is for high-consideration B2C teams with real lead volume: insurance, mortgage, education enrollment, healthcare, home services, real estate, automotive, financial services, and similar funnels.
By the end, you will have a working qualification agent that captures fit, urgency, consent, and next-step intent from live conversations, routes ready leads to a specialist or booking path, and sends an SMS recap to every lead who engages.
Thoughtly is strongest when a team already has meaningful opted-in inbound volume and needs every lead worked quickly across voice, SMS, email, and CRM workflows. That is usually a consumer or high-consideration funnel, not a narrow software demo queue. The agent should decide whether a lead is in-market, eligible, reachable, ready for a human, or better suited for nurture — then execute the next step before the lead goes cold.
| Vertical | Useful qualification signals | Typical next step |
|---|---|---|
| Insurance | Coverage type, renewal date, state, current carrier, urgency | Transfer to producer or schedule quote call |
| Mortgage | Property type, purchase/refi intent, timeline, state, loan officer preference | Route to MLO or book consultation |
| Education | Program interest, start date, funding questions, location, availability | Route to enrollment counselor |
| Home services | Service type, ZIP/service area, issue severity, availability | Book appointment or dispatch callback |
| Healthcare/elective care | Need, location, appointment timing, insurance/payment path, consent | Book consult or route to care team |
| Real estate/automotive | Location, budget/range, timeline, financing or trade-in context | Transfer to specialist or schedule follow-up |
Use the rest of this guide as an operating pattern. Swap the variables and rules for your vertical, but keep the core motion: respond immediately, qualify only what matters, route the ready leads, and keep everyone else moving through SMS or email follow-up.
Before opening the Agent Builder, write down the three to five data points that separate a qualified lead from an unqualified one. These become the variables your agent extracts during the call.
A practical set for high-volume consumer lead conversion:
| Variable | Type | Example extraction instruction |
|---|---|---|
| need | Text | Extract the primary reason the lead responded or submitted the form. Keep it under 20 words. |
| urgency | Text | Extract when the lead wants help. Normalize to immediate, this_week, this_month, later, or unknown. |
| service_fit | Boolean | Return true if the lead appears to match your service area, program, product, or eligibility criteria. Return false if clearly outside fit. |
| preferred_next_step | Text | Extract the next step the lead wants: call_now, appointment, quote, text_details, callback, or human_help. |
| consent_to_text | Boolean | Return true if the lead agrees to receive SMS follow-up or has already provided text consent in the inbound workflow. |
| Text | Extract the caller's email address. Normalize to lowercase, remove spaces. If none mentioned, leave empty. |
Defining these up front matters because in Thoughtly, variables extract immediately after the caller replies and before outcome evaluation. Your branching logic depends on clean extraction instructions that match the way real consumers talk, not a rigid enterprise-sales scorecard.
Open the Thoughtly Agent Builder and create a new agent. In Settings, set the conversation type to qualification. Choose a voice from the Voice Selector that matches your brand. If you serve a specific region, set the language accordingly.
Your flow uses four node types: Start, Speak, Transfer, and End. For a qualification agent, the skeleton looks like this:
If you prefer to start from a natural-language description instead of a blank canvas, use Vibes. Describe the workflowWorkflowAn automated, multi-step process — usually triggered by an event (form fill, new lead) and orchestrating one or more voice / SMS / email actions.: "Build a consumer lead qualification agent that greets new inbound leads, asks about need, urgency, location, availability, and consent, qualifies based on those answers, and transfers ready leads to the right specialist or booking path."
Your main qualification node should be a Prompt speak node. Write the prompt as instructions, not a script. Think of it as a mini playbook for the agent:
Ask the caller what they need help with, when they are looking to move forward, whether they are in the right service area, and what the best next step would be. Be conversational. If the caller gives partial answers, ask a short follow-up. Do not interrogate. Keep questions natural and spaced out.
Attach the variables you defined in Step 1 to this node. For each variableVariableA named value the voice agent stores during a conversation — caller name, intent, qualifying answers — and uses to drive routing and post-call actions.:
Variables extract before outcomes evaluate in the same node. This is the key mechanic that makes qualification branching work. When the caller says they need a quote this week or wants an appointment tomorrow, your urgency and next_step variables capture that signal before the agent decides where to route.
Outcomes decide where the conversation goes after the caller responds. For lead qualification, you will likely use a mix of both outcome types.
Use these when the caller's intent is ambiguous or expressed in varied phrasing. For example:
Make labels concrete and distinct. Avoid overlapping labels like "Positive" and "Very positive." The AI classifies based on these labels, so specificity matters.
Use these after your variables have been extracted and you want deterministic branching. Rule-based outcomes check conditions from top to bottom, and the first match wins.
Example qualification rules for a consumer lead flow:
| Priority | Rule | Route to |
|---|---|---|
| 1 | urgency == immediate AND service_fit == true AND preferred_next_step in [call_now, appointment, quote, human_help] | Transfer to specialist or booking path |
| 2 | service_fit == true AND urgency in [this_week, this_month] | Send SMS recap and schedule callback or appointment |
| 3 | service_fit == false | End politely, send helpful next step if appropriate |
| 4 | consent_to_text == false | Do not send SMS; use voice/email path or close respectfully |
| 5 | Else (default) | Fallback — clarify once, then transfer to human or end gracefully |
Always include an Else/default outcome. Without it, the agent can get stuck at a node with no exit path.
SMS confirmation after a qualification call reinforces the conversation and gives the lead a reference point. There are two ways to send SMS in Thoughtly:
For US-based outbound SMS, make sure your 10DLC10DLC10-Digit Long Code — US carrier-mandated registration for A2P SMS. Without it, your business texts get filtered or blocked. registration is approved and your messages comply with TCPATCPAUS federal law governing telemarketing calls and SMS. Thoughtly enforces consent capture, time-of-day windows, and DNC scrubbing automatically. requirements. Thoughtly supports A2P messagingA2P messagingApplication-to-person SMS — the category for business messages sent from a software platform like Thoughtly. Subject to carrier registration and content rules. through registered campaigns, but the registration is your responsibility.
When a lead passes your qualification threshold, transfer them to a human while intent is still live. Thoughtly offers two transfer modes:
Enable Early Summaries on your Transfer node. This generates a call summary before the transfer completes, so the receiving rep, producer, counselor, loan officer, scheduler, or next agent has full context: what the caller needs, urgency, fit details, requested next step, and any objections raised. The human picks up already knowing the situation instead of starting from scratch.
If your agent needs to answer product, program, coverage, pricing, service-area, or appointment questions during the qualification call, attach a Genius knowledge base. Genius is Thoughtly's retrieval-augmented knowledge layer. Populate it with:
Attach the Genius database under the agent's Settings, in the Genius tab. The agent will pull answers during the call without you having to hard-code them into speak nodes. Keep entries concise and current. Stale or overly detailed entries can confuse the retrieval.
Thoughtly provides two testing modes. Use both.
The recommended workflow: build the skeleton, validate logic with Test Agent, add actions and retest, tune presence settings, then polish with Call Me. Do not skip text testing to jump straight to voice. Logic bugs are much cheaper to catch in text.
Once testing is clean, deploy the agent to your inbound phone number. You can either buy a new number directly in Thoughtly or forward calls from your existing business number. For form-fill follow-up, create an automation triggered by a webhook or CRM event such as a new HubSpot contact, Salesforce lead, quote request, appointment inquiry, enrollment form, or lead-provider webhook that calls the lead immediately.
For detailed deployment steps, see the Thoughtly deployment docs.
After your qualification agent is live, track these metrics to evaluate and improve performance:
| Metric | What it tells you | Healthy direction |
|---|---|---|
| Speed to lead | Time from form submission or inbound trigger to first agent contact | Under 60 seconds for new high-intent leads |
| Contact rate | Percentage of leads reached by voice or SMS | Should rise as Thoughtly works every lead, including after-hours and overflow volume |
| Qualification completion rate | Percentage of conversations where the agent captures the required fit and next-step fields | Improves when questions are short, vertical-specific, and natural |
| Ready-lead transfer or booking rate | Percentage of qualified leads transferred, booked, or routed to the right human path | Should track downstream capacity and source quality |
| SMS reply rate | Percentage of leads who reply after voice-to-SMS or post-call follow-up | Useful for missed calls, callback requests, and asynchronous buyers |
| Rep acceptance rate | Percentage of routed leads that humans confirm as genuinely ready or correctly categorized | Above target means your criteria are well-calibrated |
Use Thoughtly Analytics to monitor call outcomes, qualification rates, transfer volumes, booked appointments, and source-level performance. Build a dashboard that shows whether the agent is helping your team work every lead, not just the subset humans had time to reach.
Yes. Use variables in the advanced prompt or pass metadata from your automation trigger. For example, if a lead comes from a trusted partner, the agent can skip basic source questions and fast-track to scheduling. If the source is a paid ad or aggregator leadAggregator leadA lead purchased from a comparison-shopping site (EverQuote, MediaAlpha, etc.). Quality varies; Thoughtly handles the high-volume, low-conversion follow-up profitably., the agent can confirm need, location, and urgency before routing.
Design an outcome for this scenario. A prompt-based outcome like "caller declined to answer questions" can route to a polite close with an offer to send information by email or SMS. Do not force the conversation. An End node with a respectful message preserves the relationship for future outreach.
Yes. Deploy the agent on an inbound number and also trigger it from automations for outbound follow-up. Adjust the Start node message to distinguish context. For inbound: "Thanks for calling." For outbound: "Hi, I am following up on your request from earlier today." Use metadata to pass the call direction, source, vertical, or campaign into the flow.
Extract a callback_ok boolean variable and a preferred callback time. Route to an End node that confirms the callback. Fire a post-call automation to schedule the follow-up in your CRM or create a task for a rep. Send an SMS confirmation with the scheduled time.
Thoughtly agents support both voice and SMS. For SMS-only qualification, use the Send SMS action in an automation and set up an inbound SMS trigger. The same variable and outcome logic applies. Keep SMS prompts shorter and expect asynchronous responses.