How to run a cold outreach squad autonomously
Raina Rufus, Founder of xSquads
Published
Cold outreach calls run as a closed loop on the Outbound Voice Squad. There is no template named Cold Outreach. You draw the path in the mission goals: who may be called, why, and who must not be called. The Mission Commander works inside that path and assigns tasks to Script, Dial, and Log. Steering is the approval step. Connect Vapi, then save the mission. Dial places a call only after you approve the assistant, the caller number, the list, and the script.
The squad you import
The template is the Outbound Voice Squad, listed with the others on /squads. It ships with three agents:
- Script, Call Script Writer, writes the opening, the questions, the objection answers, and a clean exit, then turns the script into a Vapi assistant prompt.
- Dial, Outbound Caller, places approved calls through Vapi, one call per number, and hands each call to Log.
- Log, Call Logger, fetches each call and appends one row to call-log.csv in the workspace.
This template requires one connection: Vapi, which places and records the calls. It does not require treg. Cold email is a different squad. Reach, on the Go-to-Market Squad, drafts cold email. This one places calls.
You do this in the xSquads desktop app, on a folder of your own files. Mac now, with Windows coming soon. The product page is xSquads for Work.
How the mission runs
Step 1. Import the Outbound Voice Squad
Open the squad templates and import the Outbound Voice Squad onto the mission. The template ships with Script, Dial, and Log. Keep all three, or remove an agent you do not need. A calling mission usually needs all three: the script, the calls, and the log.
Step 2. Connect Vapi
Connect Vapi before the squad can call. Vapi places and records the outbound calls. The squad uses it to create the assistant and to place each call. There is no second required connector on this template.
Step 3. Create the mission and set the goals
Create the mission and write the goals in plain language. Those goals are the path: who may be called, the reason for the call, and who must not be called. Point the mission at the local folder where call-log.csv should land. The commander does not get to widen that path. Goals you can start from, as written on the squad page: write a call script for booking a discovery call, turn this script into a Vapi assistant prompt for approval, and call this approved list of consented leads and log each call.
Step 4. Let the Mission Commander assign the work
Save the mission. The Mission Commander creates tasks on the task board and assigns them by role, and only inside the goals you wrote. Script writes the script and the assistant prompt. Dial does not place calls until you approve. Log waits for call ids and appends rows to call-log.csv. The log columns include status, duration, cost, outcome, and summary. Earlier rows are not edited.
Step 5. Add a task, steer, and approve before Dial calls
Steering is the approval step. Add a task on the board, or correct the Mission Commander in the group chat, when a call should not happen. Script can draft the prompt before you approve it. Dial confirms the assistant, the caller number, the call list, and the script, and places calls only after that approval. Start by approving every call. Calls go one number at a time, not as a campaign.
How much to review before sending
Start by approving everything. Autonomy is a dial, not a switch you flip before the first call.
Always sign off the script, the caller number, and a sample of the list yourself, including later. The same closed loop operators describe for email applies here: a human signs the ICP, the offer, and a list sample before anything goes out. That note. Raise the dial only when outcomes, complaints, and opt-outs have been dull for weeks. A person still handles a reply that needs judgement. Dial still confirms the assistant, the caller number, the call list, and the script before placing calls. xSquads does not set a daily sample size for you.
Guardrails before anyone is called
This squad does not include a call cap, a suppression list, an auto-pause, or a kill switch. You write the exclusions into the goals, and you withhold approval. Operators of other tools bolt those controls on.
- Sign off who may be called, the reason, and a sample of the list. The list is the message. Dan Rosenthal on that.
- Name who is out: current customers, anyone who already replied or asked not to be called, and do-not-call numbers. If someone replies, steer the commander so that number gets no further cold task.
- The reason for the call has to be a real page you could open, such as a job post or a funding note, not a search snippet. Why snippets read as fake.
- Dial skips do-not-call numbers, respects calling hours in the recipient's time zone, and does not retry a number that was answered, declined, or asked not to be called. The assistant says it is an AI and who it is calling for. The script includes a way to opt out. The agents are not lawyers. Confirm consent rules for your list with a professional.
- If the same motion also sends email, the domain setup is separate from this squad. Google's FAQ for senders of about 5,000 messages a day to personal Gmail accounts requires SPF and DKIM, From-header alignment, one-click unsubscribe on marketing mail, a user-reported spam rate under 0.1%, and never 0.3% or higher. Email sender guidelines FAQ.
xSquads for Work is free. Join the waitlist for the download.
Frequently Asked Questions
Which squad do I import for cold outreach calls?
Import the Outbound Voice Squad. It is Script, Dial, and Log. There is no template named Cold Outreach. Cold email is Reach, on the Go-to-Market Squad.
Do AI SDRs actually work for calls?
A set-and-forget caller fails the same way a set-and-forget SDR fails: the list and the script were never signed off. What holds up is a script and a log, with you approving the assistant, the caller number, the list, and the script before Dial places a call.
What should I check before an AI cold call goes out?
Check the script, the caller number, and a sample of the list. Confirm each number consented or is otherwise lawful to call, is not a customer, has not already replied, and is not on a do-not-call list. Confirm the assistant says it is an AI.
How do I stop made-up personalisation on a call?
Put the allowed sources in the mission goals, and reject a reason you cannot open. A job post or a funding note is a source. A search snippet is not. Script drafts from those sources. You approve the script.
How do I stop an agent calling customers, or calling again after a reply?
Write those exclusions into the mission goals, and do not approve a list that includes them. This squad has no call cap and no kill switch. The stop is your approval. Dial also skips do-not-call numbers and does not retry a number that answered, declined, or asked not to be called.
What is the difference between agentic outbound and an AI SDR?
An AI SDR is usually one tool that sends or dials on its own. Agentic outbound here is the Outbound Voice Squad inside a path you drew. The Mission Commander assigns Script, Dial, and Log. Steering is the approval before any call.
How do I stop an AI caller sounding like slop?
Write the offer, the questions, and the lines you would not say into the mission goals, and make Script draft from that. Approve the script before any call. If the opening could be read to any name on the list, send it back.
Related Reading
- All squads and the Outbound Voice Squad.
- Go-to-Market Squad, for cold email, research, and the rest of the launch work.
- xSquads for Work and the waitlist.
Give yourself a squad of AI teammates
xSquads makes knowledge workers 10x more productive: your own squad of specialised agents to delegate to and review. Mac now, with Windows coming soon.