Guides
Step-by-step guide to building a voice-first, multi-channel follow-up sequence in Thoughtly that reaches every inbound lead across voice, SMS, and email — with timing, compliance, and CRM sync built in.
Last updated
Most inbound leads never hear from anyone. They fill out a form, wait, and move on. The teams that convert consistently are the ones that reach every lead across voice, SMS, and email — fast, and in the right order.
This guide walks through building a complete multi-channel follow-up sequence in Thoughtly. You will start with an outbound voice call triggered by a form fill or CRMCRMThe system of record for leads, contacts, deals, and activity. Thoughtly reads from and writes to your CRM continuously. event, fall back to SMS when the lead does not answer, add email as a third touch, and write every result back to your CRM. By the end, you will have a sequence that reaches 100% of leads without manual intervention.
Before opening the automation builder, decide the sequence and timing for each channel. A multi-channel follow-up sequence is not just "try everything" — it is a deliberate escalation path where each channel serves a specific purpose.
A proven pattern for high-consideration consumer industries like insurance, mortgage, home services, and education enrollment looks like this:
| Touch | Channel | Timing | Purpose |
|---|---|---|---|
| 1 | Voice call | Within 60 seconds of form fill | Live qualification, appointment booking, or warm transfer |
| 2 | SMS | Immediately after unanswered call | Short text with context — who you are, why you called, and a reply prompt |
| 3 | 2–4 hours after SMS (if no reply) | Longer explanation with next steps, scheduling link, or resource | |
| 4 | Voice call (retry) | Next business day | Second attempt during a different time window |
| 5 | SMS (final) | After second unanswered call | Last-touch message offering a specific callback time |
Adjust the timing and number of touches based on your vertical and lead source. Mortgage rate inquiries may warrant faster follow-up cadences than education enrollment inquiries because borrowers are often comparison-shopping in real time.
Your voice agentVoice agentAn autonomous, conversational interface that interacts with humans over the phone — answering, qualifying, and routing calls without human staffing. handles the most critical touch — the first call. Build or clone an agent specifically for this follow-up sequence so you can tailor the opening message, qualification flow, and outcomes to inbound leads who just submitted a form.
lead_source, form_name, or service_requested as metadata so the agent can reference it in the opening line. Instead of a generic "Hi, I'm calling from Acme," the agent says "Hi, I'm calling about the roof inspection you requested on our website."Keep the agent focused. A follow-up agent should qualify and book, not upsell or run a full consultation. Short, purposeful calls convert better than long meandering ones.
Open Tools → Automations and create a new automation. Choose the trigger that matches your lead source.
After the trigger, add a Create or Update Contact step to upsert the lead into Thoughtly's audience. This gives you a contact record with persistent attributes and a unified history across every channel touch.
Then add a Call Contact step. Select your follow-up agent, map the contact ID from the previous step, and include metadata with the lead context:
{
"lead_source": "{{ trigger.payload.source }}",
"service_requested": "{{ trigger.payload.service }}",
"form_submitted_at": "{{ trigger.payload.submitted_at }}"
}Using Call Contact instead of Call Phone Number means the call is linked to the contact record. Every subsequent touch — SMS, email, second call — ties back to the same contact with full history.
Build a second automation triggered by On Call Completed. This automation fires after every call from your follow-up agent ends, giving you access to the call outcome, duration, variables captured, and transcriptTranscriptThe text record of a voice conversation, used for review, training, compliance audit, and search..
Add a Conditions step (If/Else) to check the call result. Route the flow based on outcome:
For the unanswered/voicemail path, add a Send SMS step. Map the contact's phone number and write a concise message:
Hi {{contact.first_name}}, this is {{agent_name}} from {{company}}.
I just tried calling about your {{service_requested}} request.
Reply here if you'd like to set up a time to talk, or I'll try you again tomorrow.Keep SMS messages under 160 characters when possible to avoid multi-segment splits. Include the lead's name and a reference to what they requested so the message does not feel like spam.
After the SMS, add a Delay For step to pause the automation. A 2–4 hour delay gives the lead time to reply to the text before you escalate to email.
After the delay, add another Conditions check: did the contact reply to the SMS or call back in the interim? If your CRM or Thoughtly contact attributes track reply status, use that field. If the lead has not responded, proceed to the Send Email step.
The Send Email step requires a verified email domain configured in Settings → Email Domains. Map the recipient's email address from the contact record or the original trigger payload.
Email gives you more room to explain who you are, what the lead requested, and what their options are. Include a direct scheduling link if you use Calendly, Cal.com, Acuity, or another integrated booking tool. A well-structured email should take 15 seconds to read and make the next step obvious.
Write the call and SMS context into the email so the lead sees continuity. If the agent left a voicemail, reference it: "I left you a voicemail earlier today about your home inspection request." Cross-channel consistency reduces friction and builds trust.
Multi-channel sequences run over hours or days. You need timing controls to stay compliant and avoid annoying leads.
Use the Delay For step between touches. Common intervals:
Configure dark windows in Settings → Campaigns → Dark Windows to prevent outbound voice and SMS touches outside permitted hours. Set these before activating any sequence. Most states restrict automated calls and texts before 8:00 AM and after 9:00 PM local time. Use stricter windows for SMS than for email.
For the second voice call attempt, use Delay Until to schedule it during the next business day. Combine this with a Conditions step that checks whether the contact has already responded through any channel. Do not retry leads who replied to the SMS or email — route them to a live conversation instead.
Cap your sequence. Most high-performing teams limit follow-up to 5–7 touches over 3–5 days. After that, move the contact to a long-term nurture cadence or close the loop.
Every touch should update the contact record. Use the Add Attributes to Contact step after each channel interaction to write persistent fields:
| Attribute | Example Value | When to Write |
|---|---|---|
| last_channel | sms | After every touch |
| last_outcome | voicemail | After every call |
| last_contacted_at | 2026-06-15T15:30:00Z | After every touch |
| sequence_step | 3 | After every touch |
| booking_status | confirmed | After a successful booking |
| follow_up_complete | true | When the sequence ends |
If you use an external CRM, add a Send Webhook or native CRM update step (HubSpot Update Contact, Salesforce Update Object, GoHighLevel Update Contact) to sync these values back. Bi-directional sync keeps your CRM and Thoughtly in agreement about where each lead stands.
Add Disposition after each call to tag the result for analytics. Dispositions like booked, voicemail, callback-requested, and not-interested make reporting straightforward in Thoughtly's History and your CRM dashboards.
Thoughtly automations start in Draft mode for a reason. Test every branch before flipping to Live.
Only activate the automation after every path has been tested with real phone numbers and real integrations. Refreshing Output on a Call Contact step places a live call — use an internal test number.
Track these metrics to evaluate whether your multi-channel sequence is working:
| Metric | What It Tells You | Target Range |
|---|---|---|
| Contact rate (voice) | % of leads who answer the first call | 25–40% for opted-in inbound leads |
| SMS reply rate | % of leads who respond to follow-up texts | 15–25% within 24 hours |
| Email open + reply rate | Engagement with the third-touch email | 30–50% open, 5–10% reply |
| Overall sequence conversion | % of leads who book or qualify across all touches | 35–55% for warm inbound leads |
| Speed-to-lead | Time from form fill to first call attempt | Under 60 seconds |
| Sequence completion rate | % of leads who reach the final touch without converting | Lower is better — means earlier touches are working |
| Opt-out rate | % of leads who unsubscribe from SMS or email | Under 2% per sequence |
Use Thoughtly's History to review individual contact journeys and see which channel converted each lead. Export data to your CRM or BI tool for cohort analysis across lead sources, verticals, and time periods.
Yes. Thoughtly's omnichannel model means the same agent logic and contact context carry across voice, SMS, WhatsApp, iMessage, and email. If a lead replies to the SMS, the agent can continue the conversation by text using the same variables and history from the original call attempt.
At minimum, two: one triggered by the inbound lead event (webhook, CRM trigger, or schedule) that places the first call, and one triggered by On Call Completed that handles post-call branching into SMS, email, delays, and retries. Some teams add a third automation for the retry call so each piece stays simple to debug.
Use Zapier or a similar connector to bridge the gap. Thoughtly integrates natively with Zapier, so you can set up a Zap that triggers a Thoughtly webhook when a new lead appears in your CRM. Alternatively, use the Recurring Schedule trigger to pull new leads at set intervals.
Thoughtly enforces suppression per channel. If a contact opts out of SMS, they are suppressed for SMS but may still be reachable by voice or email if your policy allows. Configure consent mode and suppression lists in Settings → Audiences before activating any outbound sequence.
Dark windows in Thoughtly support timezone-aware enforcement. Set your outbound calling and SMS windows per the lead's local timezone when available. If timezone data is not in the contact record, default to the most restrictive applicable window (usually the lead's area code timezone).
Thoughtly Automations Overview — step-by-step guide to building automations in Thoughtly.
Thoughtly Omnichannel Agents — how one agent works across voice, SMS, email, and messaging channels.
Attributes vs Metadata in Thoughtly — when to use persistent contact attributes versus per-call metadata.
Thoughtly Revenue Autopilot — how Thoughtly automates multi-channel follow-up for every inbound lead.
MIT Lead Response Study — original research on the impact of response time on lead qualification.
How to Re-Engage Dead Leads with Voice, SMS, and Email — related Thoughtly guide on multi-channel re-engagement.
How to Automate Form-Fill Follow-Up Calls with Thoughtly — related guide on triggering calls from form submissions.
Thoughtly Workflows Product Page — visual canvas for building multi-channel lead journeys.