Sumo AI CRM Outbound Campaigns: Two Workflows That Call, Follow Up, and Convert
Outbound breaks when your CRM, dialer, and AI live in separate tools. You pull a list from the CRM, upload it to a dialer, make calls, and then manually log outcomes back into the CRM. If someone answers, you hand off to a live rep or a separate AI tool that has no idea which pipeline stage the contact is in. If you hit voicemail, you remember to send a text later, or you forget. No branching on outcomes, no automatic follow-up, no pipeline update after the call. Every step is a manual handoff, and every handoff is a place where leads fall through.
Sumo AI CRM collapses that stack into one AI-powered platform. You build outbound calling and messaging campaigns inside the same CRM that holds your pipelines, appointments, and follow-up automations. The AI agents do the work. Contacts get called, outcomes branch automatically, voicemails trigger SMS follow-ups, answered calls hand off to conversation agents that update the pipeline and book appointments, all without you touching a spreadsheet or a separate dialer login.
The engine behind this is a two-workflow pattern. One workflow handles outreach timing and call placement. The other workflow handles the conversation when someone answers. Outreach and conversation stay separate so you can update your script without touching your call pacing, or adjust your drip timing without republishing your agent. This guide walks through both workflows step by step, from triggers and nodes to bulk launch, monitoring, and the failure modes that trip up first-time operators.

Why Two Workflows Instead of One
The two-workflow pattern for building outbound campaigns in Sumo AI CRM separates concerns. The Outreach Workflow owns timing, pacing, and call placement. It decides when to dial, how long to wait between attempts, and what to do if the call does not connect. The Conversation Workflow owns what happens after someone picks up. It runs the AI agent conversation, updates the pipeline, sends follow-up messages, and creates tasks for your team.
Separation matters because outreach and conversation change at different speeds. You might test three different scripts in a week while your call pacing stays constant. Or you might adjust your drip timing from ten calls per hour to five without touching the agent that runs the conversation. If both live in one workflow, every script tweak forces you to republish the entire outreach sequence, and every timing change risks breaking your conversation logic.
The two-workflow pattern also makes monitoring cleaner. The Outreach Workflow logs outcomes at the call level: answered, no answer, voicemail, failed. The Conversation Workflow logs outcomes at the conversation level: qualified, not interested, appointment booked, follow-up scheduled. You can see where calls drop off and where conversations convert without digging through a single tangled workflow that tries to do both.
Building the Outreach Workflow
The Outreach Workflow starts with a Manual Trigger. Manual Trigger means contacts enter the workflow when you assign them via Bulk Actions, not automatically when they hit a pipeline stage or fill out a form. This gives you control over who gets called and when. You pull the list, review it, and launch the campaign when you are ready.
After the Manual Trigger, you add an optional Wait Node. The Wait Node controls pacing. If you skip the Wait Node, every contact in the list gets called as fast as the system can dial. That works for small lists or time-sensitive campaigns where you need to reach twenty contacts in the next hour. For larger lists, skipping the Wait Node will flood your queue and increase the chance that carrier spam filters flag your numbers.
A Wait Node spaces out the calls. You can wait a fixed amount of time, like five minutes, or randomize the wait between a range, like three to seven minutes. For a list of two hundred contacts, a five-minute wait between calls means the campaign runs over about sixteen hours if you dial one contact at a time. If you want to dial ten contacts per hour, you set the wait to six minutes. If you want to spread the campaign over three days, you add longer waits or multiple Wait Nodes with day-level delays.
After the Wait Node, you add the Outbound Call Node. The Outbound Call Node places the call and branches on the outcome. Four branches: Answer, No Answer, Voicemail, Failed. Every call will exit through one of these four paths, and what you wire to each path determines what happens next.
Outbound Call Node Outcomes in Depth
The Answer branch fires when a human picks up and the call connects. When this happens, the Outreach Workflow is done. The call hands off to the Conversation Workflow, which we will cover in the next section. You do not wire anything to the Answer branch in the Outreach Workflow because the conversation is handled elsewhere. The separation keeps the workflows clean.
The No Answer branch fires when the call rings but no one picks up. This is the most common outcome on cold outbound. You have two choices: wait and retry, or send a text and move on. If you retry, add a Wait Node to the No Answer branch, wait an hour or a day, then loop back to another Outbound Call Node for a second attempt. If you send a text, wire an SMS Node to the No Answer branch with a message like “Tried to reach you, here is why I called” and a link or callback number. Some operators do both: send a text immediately, wait a day, then retry the call.
The Voicemail branch fires when the system detects an answering machine or voicemail greeting. Voicemail detection is not perfect, but it is accurate enough to branch on. When you hit voicemail, the best practice is to send a follow-up text instead of leaving a voicemail. Voicemails on cold outbound get ignored. A text message shows up as a notification and gives the contact a low-friction way to respond. Wire an SMS Node to the Voicemail branch with a short message: “Left you a voicemail, but easier to text. Can I answer a quick question about [your offer]?” Keep it under 160 characters and include a clear call to action.
Industry guidance on answering machine detection, like the best practices for handling voicemail detection on outbound calls, explains why branching on machine versus human outcomes matters. Detection algorithms listen for greeting patterns, silence duration, and beep tones. False positives happen, where a slow-talking human gets flagged as a machine, but the error rate is low enough that branching on voicemail is worth it. The alternative is treating every voicemail the same as a no answer, which means you either leave a voicemail on every unanswered call or you leave none. Branching lets you send a text on voicemail and retry on no answer, which improves response rates.
The Failed branch fires when the call cannot connect at all. Reasons include disconnected numbers, carrier errors, or the contact blocking your caller ID. Wire a log action or a tag to the Failed branch so you can review the list later and scrub bad numbers. Do not retry on Failed. If the number is disconnected, retrying will not fix it. If the contact blocked you, retrying makes the problem worse. Log it, tag the contact as unreachable, and move on.
Building the Conversation Workflow
The Conversation Workflow starts with a Conversation Started trigger. This trigger fires when an outbound call connects and a human answers. The Outreach Workflow places the call, the call connects, and the Conversation Started trigger launches the Conversation Workflow for that contact. The two workflows are linked by the call event, not by a direct workflow-to-workflow connection.
After the Conversation Started trigger, you add conversation nodes. Conversation nodes are where the AI agent takes over. The agent introduces itself, explains why it is calling, qualifies the contact, answers questions, and moves the conversation toward a goal: book an appointment, confirm interest, schedule a follow-up, or disqualify. The AI voice agents in Sumo AI CRM handle objections, adapt to the contact’s responses, and keep the conversation on track without a script that breaks when the contact says something unexpected.
Conversation nodes can branch on outcomes. If the contact is interested, the agent books an appointment and the workflow updates the pipeline stage to “Appointment Set.” If the contact is not interested, the agent thanks them and the workflow tags the contact as “Not Interested” and removes them from future outreach. If the contact asks for more information, the agent sends a follow-up email or text with a link and schedules a reminder task for your team to check in later.
After the conversation nodes, you add post-call actions. Post-call actions update the CRM based on what happened in the conversation. Common actions include updating the pipeline stage, sending a follow-up SMS or email, creating a task for a human rep to review the call, adding tags for segmentation, and triggering a separate nurture workflow if the contact is warm but not ready to buy. Post-call actions close the loop so the CRM reflects the outcome of the call without manual data entry.
The Conversation Workflow also handles edge cases. If the contact hangs up mid-conversation, the workflow can send a “Sorry we got disconnected” text with a link to reschedule. If the agent cannot understand the contact after multiple attempts, the workflow can create a task for a human to call back. If the contact asks to be removed from the list, the workflow tags them as “Do Not Contact” and stops all future outreach.

Launching Campaigns via Bulk Actions
Once both workflows are published, you launch the campaign by assigning contacts to the Outreach Workflow via Bulk Actions. Bulk Actions work from two places: the pipeline board and the table view.
From the pipeline board, open the pipeline that holds your outbound list. Click into the column where your contacts sit, like “New Lead” or “Cold Outreach.” You can select the entire column or check individual contacts. Once selected, click Bulk Actions in the toolbar and choose the option to assign the Outreach Workflow. Every selected contact enters the workflow at the Manual Trigger and starts moving through the Wait Nodes and Outbound Call Nodes you built.
From the table view, navigate to the contacts table and filter or search for the list you want to call. Use checkboxes to select contacts, then click Bulk Actions and assign the Outreach Workflow. Table view is faster when you are working with a filtered segment, like “all contacts tagged as warm lead in California who have not been called in the last thirty days.” Pipeline board is faster when your list is already organized by stage.
Bulk Actions let you launch campaigns in batches. You do not have to assign all two hundred contacts at once. Assign twenty, monitor the outcomes in the Activity tab, adjust the workflow if needed, then assign the next batch. This reduces risk and gives you real data to optimize pacing, messaging, and timing before you burn through the entire list.
Quick Roll vs Drip: When to Use Each
Quick Roll means no Wait Nodes. Every contact gets called as fast as the system can dial. Quick Roll works for small lists, time-sensitive campaigns, and situations where you need to reach everyone in the next few hours. If you have twenty hot leads from a webinar and you want to call them all before end of business, Quick Roll is the right choice. The downside is that Quick Roll can trigger spam flags if you use it on large lists, because carriers see a sudden spike of calls from the same number and assume it is robocalling.
Drip means you add Wait Nodes to space out the calls. Drip works for large lists, cold outreach, and campaigns where answer rate matters more than speed. A five-minute wait between calls means you dial twelve contacts per hour. A ten-minute wait means six per hour. Drip reduces spam-flag risk, improves answer rates because your number does not get flagged, and spreads the workload so your team is not overwhelmed if multiple contacts answer at the same time and need human follow-up.
Drip also lets you run multi-day campaigns. Add a Wait Node that pauses for twenty-four hours after the first call attempt, then retry contacts who did not answer. Add another Wait Node after the second attempt and send a final SMS on day three. Multi-day drip keeps your campaign active without burning the list in one afternoon.
The trade-off is speed. Quick Roll finishes in hours. Drip finishes in days or weeks. Choose based on list size, urgency, and whether your numbers are already flagged. If you are using new numbers from a pool and calling a clean list, you can push the pace. If your numbers have been flagged before or your list is cold, slow it down.
Monitoring Campaigns in the Activity Tab
The Activity tab shows you what is happening in real time. You see how many contacts have been called, how many are waiting in the queue, and the outcome distribution: answered, no answer, voicemail, failed. You also see answer rate and conversion rate. Answer rate is the percentage of calls that connected to a human. Conversion rate is the percentage of connected calls that resulted in the goal, like an appointment booked or interest confirmed.
Use the Activity tab to spot problems early. If your answer rate is below ten percent, your numbers might be flagged or your list might be stale. If your voicemail rate is above fifty percent, you are calling outside business hours or your list skews toward people who screen calls. If your failed rate is above five percent, your list has bad data and you need to scrub it before the next campaign.
Activity data also tells you when to adjust. If no one is answering in the morning, shift your Wait Nodes to call in the afternoon. If voicemail contacts are responding to your follow-up texts at a higher rate than no-answer contacts, wire a more aggressive SMS to the Voicemail branch. If your conversion rate drops after the first fifty calls, your script might need work, or your list might not be as qualified as you thought.
Check the Activity tab daily during a campaign. Do not wait until the campaign is over to review outcomes. Catching a problem on day one and fixing it means you save the rest of the list. Waiting until day five means you wasted four days of calls on a broken workflow.
Number Pools and Caller ID Rotation
Number pools improve answer rates by rotating the caller ID across multiple phone numbers. Instead of calling two hundred contacts from the same number, you call from a pool of five or ten numbers. Carrier spam filters track call volume per number. If one number dials a hundred contacts in an hour, it gets flagged. If ten numbers each dial ten contacts in an hour, none of them get flagged.
Number pools also reduce the chance that a contact sees a caller ID they already ignored. If you called someone last week from number A and they did not answer, calling them this week from number B gives you a second chance. Some contacts screen calls from numbers they do not recognize but will answer a different number out of curiosity.
Set up number pools in Sumo AI CRM by adding multiple phone numbers to your account and enabling rotation in the Outbound Call Node settings. The system will automatically rotate through the pool as it dials. You do not have to manually assign numbers to contacts. The rotation happens behind the scenes.
Use at least three numbers in a pool for small campaigns and five to ten numbers for large campaigns. More numbers mean better distribution and lower spam-flag risk. The cost of adding numbers is small compared to the cost of burning a list because your primary number got flagged halfway through the campaign.
Deactivate from Workflow to Stop Duplicate Outreach
Deactivate from Workflow is a node that removes a contact from the workflow immediately. Use it when a contact responds, converts, or asks to be removed. Without deactivation, a contact who books an appointment on the first call will still get the second retry call two days later because they are still in the workflow queue.
Wire Deactivate from Workflow nodes to every conversion path in the Conversation Workflow. If the contact books an appointment, deactivate them. If the contact asks to be removed, deactivate them. If the contact says they already bought from a competitor, deactivate them. Deactivation stops the workflow for that contact but does not affect other contacts in the campaign.
Deactivation also prevents awkward double-touches. Imagine a contact answers the first call, tells the agent they are interested, and asks for an email with more details. The Conversation Workflow sends the email and creates a follow-up task. Two days later, the Outreach Workflow retries the call because the contact is still in the queue. The contact answers again and says, “You already called me.” That is a bad experience and a waste of a call. Deactivate from Workflow after the first conversation prevents it.
Check your workflows for missing deactivation nodes before launch. Every branch that ends in a conversion or a removal request should have a Deactivate from Workflow node. If you forget, you will find out when contacts start complaining about duplicate calls.
Timing: Business Hours and Contact Time Zones
Calling outside business hours kills answer rates. Calling at 8 a.m. in your time zone when the contact is in a time zone where it is 6 a.m. kills answer rates. Sumo AI CRM lets you set business hours and respect contact time zones so calls only go out when the contact is likely to answer.
Set business hours in the Outbound Call Node settings. Common settings are 9 a.m. to 6 p.m. or 10 a.m. to 7 p.m. in the contact’s local time zone. If a contact enters the workflow at 8 p.m., the system will wait until 9 a.m. the next day to place the call. If a contact is in a time zone where it is currently outside business hours, the call waits until business hours in that zone.
Time zone handling is automatic if your contact records include a time zone field. If the field is blank, the system defaults to your account time zone, which can cause problems if your list spans multiple zones. Scrub your list before launch and fill in time zones, or segment your list by region and run separate campaigns with region-specific business hours.
Avoid calling on weekends unless your audience expects it. B2B contacts do not answer on Saturday. B2C contacts might, depending on the industry. Test a small batch on a weekend and compare answer rates to weekday calls before you commit to weekend outreach.
Voicemail to SMS Follow-Up Pattern End to End
The voicemail to SMS follow-up pattern is the highest-return branch in most outbound campaigns. When you hit voicemail, you send a text within seconds. The contact sees the missed call notification and the text notification at the same time. The text explains who called and why, and gives the contact a low-friction way to respond without listening to a voicemail or calling back.
Here is the pattern end to end. The Outreach Workflow places the call. The Outbound Call Node detects voicemail and branches to the Voicemail path. You wire an SMS Node to the Voicemail path with a message like this: “Hi [First Name], just tried calling about [reason]. Easier to text? Reply YES and I will send details.” Keep it short, personal, and action-oriented. Do not use a long URL or a wall of text. The goal is a reply, not a sale in the first message.
When the contact replies, the Conversation Started trigger in the Conversation Workflow fires, and the AI agent takes over the conversation via SMS. The agent sends the details, answers questions, and moves toward the goal. If the contact does not reply, you can wire a second Wait Node and retry the call a day later, or send a second SMS with a different angle.
Voicemail to SMS works because it meets the contact where they are. Most people do not listen to voicemails from unknown numbers, but most people read texts. The text gives context for the missed call and turns a dead end into a conversation. Operators who skip this pattern leave response rate on the table.
Failure Modes That Break Campaigns
Unpublished workflow is the most common failure mode. You build the Outreach Workflow, assign contacts via Bulk Actions, and nothing happens. The workflow is still in draft mode. Publish both the Outreach Workflow and the Conversation Workflow before you launch. If either workflow is unpublished, calls will not go out or conversations will not start.
Wrong list is the second most common failure mode. You assign contacts to the Outreach Workflow, calls go out, and the answer rate is zero because the list is full of disconnected numbers or people who opted out months ago. Scrub your list before launch. Remove duplicates, remove contacts who asked to be removed, and remove numbers that failed in previous campaigns. A clean list costs less and converts better than a dirty list that is twice the size.
No Wait on large list is a failure mode that gets your numbers flagged. You skip the Wait Node because you want results fast, and the system dials two hundred contacts in two hours. Carriers flag your numbers, answer rates drop to zero, and the rest of the campaign is dead. Always add Wait Nodes for lists over fifty contacts. The extra time is worth it.
Missing deactivation is a failure mode that creates duplicate outreach. A contact answers, books an appointment, and then gets called again two days later because you forgot to wire a Deactivate from Workflow node after the conversion. The contact is annoyed, your team wastes time apologizing, and your brand takes a hit. Wire deactivation nodes to every conversion and removal path.
Calling outside hours is a failure mode that kills answer rates and annoys contacts. You set business hours to 9 a.m. to 6 p.m. but forget to enable time zone handling, so contacts in the Pacific time zone get called at 6 a.m. when it is 9 a.m. in your time zone. Enable time zone handling and test with a small batch before full launch.
No SMS on voicemail is a failure mode that wastes the highest-return branch. You wire the Voicemail branch to do nothing, so every voicemail is a dead end. Wire an SMS Node to the Voicemail branch with a short follow-up message. This one change can double your response rate.
Ignoring the Failed branch is a failure mode that hides bad data. You do not wire anything to the Failed branch, so disconnected numbers and blocked contacts stay in your list and get retried in the next campaign. Wire a tag or a log action to the Failed branch so you can scrub those contacts before the next launch.
Launching Conversation without Outreach is a failure mode that breaks the two-workflow pattern. You publish the Conversation Workflow but forget to build the Outreach Workflow, so no calls go out. Or you build the Outreach Workflow but forget to publish the Conversation Workflow, so calls connect but the agent never starts the conversation. Both workflows must be published and linked by the Conversation Started trigger.
Testing Checklist Before Full-List Launch
Test with a batch of five to ten contacts before you launch the full list. Assign the test batch via Bulk Actions and monitor every step in the Activity tab. Confirm that calls go out, that Wait Nodes pause the right amount of time, that the Outbound Call Node branches correctly on each outcome, and that the Conversation Workflow starts when a call connects.
Test each branch. Have a team member answer one call to confirm the Conversation Workflow fires and the agent starts talking. Let one call go to voicemail to confirm the SMS Node sends the follow-up text. Let one call ring with no answer to confirm the retry logic works. Manually disconnect one call to confirm the Failed branch logs the outcome.
Test business hours. Assign a contact outside business hours and confirm the call waits until the next business day. Test time zone handling by assigning a contact in a different time zone and confirming the call goes out during business hours in that zone, not your zone.
Test deactivation. Have a contact book an appointment in the Conversation Workflow and confirm they are removed from the Outreach Workflow queue. Check the Activity tab to confirm they do not get retried.
Test number pool rotation. Assign ten contacts and confirm the caller ID rotates across your pool. Check the call logs to see which number dialed which contact. If rotation is not working, all ten calls will come from the same number.
Test SMS follow-up. Trigger the Voicemail branch and confirm the SMS sends within seconds. Reply to the SMS and confirm the Conversation Workflow picks up the conversation and the agent responds.
Review the test batch outcomes in the Activity tab. If answer rate is below twenty percent, adjust your timing or your list. If voicemail rate is above sixty percent, you are calling outside business hours. If failed rate is above ten percent, scrub your list. Do not launch the full list until the test batch outcomes look clean.
Why This Matters: AI-First CRM vs Stacking Tools
Sumo AI CRM is built as an AI-first alternative to stacking a traditional CRM with separate dialer, AI voice, and automation tools. When you stack tools, every handoff is manual. You pull a list from the CRM, upload it to a dialer, make calls, log outcomes back into the CRM, and then trigger a separate automation or AI tool to follow up. Each handoff takes time, introduces errors, and creates gaps where leads fall through.
Sumo AI CRM collapses the stack. Outbound calling, AI conversation, pipeline updates, and follow-up automations live in one platform. The two-workflow pattern connects them without manual handoffs. A contact moves from the Outreach Workflow to the Conversation Workflow to a pipeline stage update to a follow-up SMS, all automatically, all logged in one place.
This is not about replacing a tool you already love. It is about replacing the complexity of managing three or four tools that do not talk to each other. If you are running outbound campaigns today and you are manually pulling lists, uploading CSVs, logging call outcomes, and triggering follow-ups by hand, Sumo AI CRM gives you a simpler path. One login, one workflow builder, one activity feed, one source of truth.
The platform includes AI follow-up across SMS, email, and calls, pipelines for tracking deals, appointments for booking meetings, automations for workflows, and payments for closing transactions. It positions itself as a replacement for stacking many tools, and for outbound campaigns specifically, it replaces the CRM plus dialer plus AI voice stack with one AI-powered system. No invented stats, no false comparisons, just a cleaner architecture for operators who want to run outbound without duct-taping tools together.
Next Steps
Start by building the two workflows in a sandbox or test account. Build the Outreach Workflow with a Manual Trigger, a Wait Node, and an Outbound Call Node. Wire the four branches: Answer does nothing, No Answer retries or sends SMS, Voicemail sends SMS, Failed logs and tags. Build the Conversation Workflow with a Conversation Started trigger, conversation nodes for your agent, and post-call actions to update the pipeline and send follow-ups. Publish both workflows.
Pull a small test list of ten to twenty contacts. Assign them to the Outreach Workflow via Bulk Actions from the pipeline board or table view. Monitor the Activity tab and confirm every branch works as expected. Test during business hours, test outside business hours, test with different time zones, test with a contact who will answer and a contact who will not.
Once the test batch runs clean, scale to fifty contacts, then one hundred, then your full list. Add Wait Nodes to control pacing. Use number pools to rotate caller IDs. Wire Deactivate from Workflow nodes to every conversion path. Monitor answer rates, voicemail rates, and conversion rates daily. Adjust timing, messaging, and list quality based on what the data tells you.
Outbound campaigns in Sumo AI CRM are not about making more calls. They are about making calls that branch on outcomes, trigger follow-ups automatically, update the CRM in real time, and hand off to AI agents that convert without human intervention. The two-workflow pattern is the foundation. Build it once, test it thoroughly, and you have a repeatable system for outbound that works whether you are calling twenty contacts or two thousand.
by Darius Gaynor




