Outbound calling campaign
On this page
A list nobody has time to work through, called properly, on a schedule, with every outcome recorded. Appointment reminders, renewals, arrears, re-engagement, surveys — the mechanics are identical; only the script changes.
- A list of contacts you have a lawful basis to call.
- An agent with a phone number — ideally local to the people you are calling.
- Enough minutes on your plan for the list. Check Billing first.
- Thirty minutes, plus a pilot run before the real thing.
A campaign that dials through your list at a pace you control, greets each person by name, handles the three or four answers they might give, retries the ones who did not pick up, writes the result to your CRM, and stops when it is done.
The shape of it
0. Check you are allowed to make these calls
Not a formality. Outbound calling is regulated in most markets, and the rules apply to automated calls at least as strictly as to human ones.
- Basis to call. Existing customers about their own booking or account is straightforward. Cold prospects who never gave you their number is a different question with a different answer in each country.
- Permitted hours. In the recipient’s local time, not yours. Schedule accordingly — a campaign runs when you tell it to.
- Opt-outs. Honour them immediately and permanently. Strip anyone who has asked you to stop before you upload.
- Disclosure and recording. Say who is calling. Where recording notice is required, put it in the opening line.
Consent & calling rules covers this properly. Five minutes now is cheaper than a complaint later.
1. Prepare the list
Bad lists cause more campaign failures than bad scripts. Get this right and most of the work is done.
first_name,last_name,phone_number,email,appointment_time,notes Amina,Otieno,+254712345678,amina@example.com,2026-03-12T10:00:00,Cleaning Peter,Mwangi,+254722334455,peter@example.com,2026-03-12T11:30:00,Check-up Grace,Wanjiru,+254733445566,,2026-03-13T09:00:00,Follow-up from Feb
The checklist
- Every number in international format.
+254712345678, not0712345678. Format the column as text in your spreadsheet before exporting — Excel and Sheets will otherwise strip the plus and mangle long numbers. - Open the CSV in a text editor before uploading. Ten seconds, and it catches every formatting disaster.
- De-duplicate. Two rows is two calls to the same person.
- Remove opt-outs and anyone who complained. This is your responsibility.
- Add the context columns.
appointment_time,notes,company— every one makes the call less generic. - Split by language or region if you serve several. One list per agent.
Upload at CampaignsNew Campaign, or reuse a list you have uploaded before. Lists are reusable across campaigns.
2. Build the outbound agent
Do not reuse your inbound receptionist. An agent that answers calls and an agent that makes them need different openings, different pacing and different endings.
You are calling {{first_name}} on behalf of Brightsmile Dental.
They have an appointment on {{appointment_time}}.
Today is {{date}}.
## Opening
"Hi {{first_name}}, this is Amara calling from Brightsmile Dental - just a
quick call about your appointment. Is now an okay moment?"
If it is a bad time, apologise, say you'll follow up by text, end the call.
## What this call is for
Confirm they are still coming. That is the only goal.
## How to handle each answer
- Still coming -> confirm the day and time back to them, thank them, end.
- Cannot make it -> ask what suits instead, take the preference, tell them
the clinic will confirm by text. Do not promise a specific slot.
- Wants to cancel -> accept it politely, do not try to talk them round,
confirm the cancellation, end.
- Not the right person -> apologise, do not discuss the appointment, end.
## Rules you never break
- Never discuss anything clinical or medical.
- Never discuss the appointment with anyone other than {{first_name}}.
- If they ask to stop being called, confirm you will and end the call.
- Keep the whole call under 90 seconds unless they want to talk.
## Ending
Thank them by name and say goodbye. Do not add anything extra.What makes an outbound script work
| Rule | Why |
|---|---|
| Name yourself and your business in the first sentence | They did not expect this call. Unexplained calls get hung up on. |
| Ask if now is a good time | Costs three seconds. Transforms how the rest of the call goes. |
| State one clear purpose | Multi-purpose outbound calls confuse people and take twice as long. |
| Script every likely answer | Yes, no, reschedule, wrong person. Four branches covers almost everything. |
| Accept “no” immediately | Pushing after a refusal is what generates complaints — and in places, breaches. |
| Cap the length | “Keep the call under 90 seconds unless they want to talk.” |
On the agent’s Tools step. Without it you pay for the agent to deliver its entire script to answerphones, and your Call History fills with meaningless “completed” calls.
3. Write outcomes back
The campaign is worth much more if the result lands where your team already works. Attach your CRM integration to the agent and tell it what to record:
After every call, use create_note on the contact record with: - whether they confirmed, cancelled, or want to reschedule - their preferred alternative time, if they gave one - anything they said that the clinic should know
The pattern is the same for HubSpot, Salesforce, Zoho and Dynamics — the HubSpot playbook works it through in full. If your records live in a spreadsheet, Google Sheets can append a row instead.
4. Pilot on ten contacts
Never debut a script on two thousand real customers. Make a ten-row list — your own number, colleagues, a couple of friendly customers — and run the campaign on that first.
Run it
Set concurrency to 1 or 2 and start immediately.
Answer one of the calls yourself
Be awkward on purpose. Say “who is this?”, go quiet, ask something off-script, interrupt it. You are looking for the thing that will happen a hundred times at scale.
Read all ten transcripts
In Call History. Ten transcripts is fifteen minutes and it will find at least one real problem.
Check the CRM
Did the notes land, on the right records, saying something useful?
Fix one thing and run the pilot again
Two or three rounds of this and the script is ready.
5. Launch properly
| Setting | Start with | Then |
|---|---|---|
| Schedule | Scheduled, not immediate | Pick a time inside lawful calling hours for your list — mid-morning or early evening tends to work best. |
| Max concurrent | 2–3 | Raise it once you have read transcripts. Never exceed what your transfer team can absorb. |
| Retry failed | On | Genuine failures are worth one more attempt. |
| Retry busy | On | A busy signal means they exist and are reachable. |
| Max attempts | 3 | Three is persistent. Six is harassment. |
| Retry delay | 30 minutes | Longer spreads attempts across the day, which reaches more people than hammering one hour. |
If the agent transfers interested people to a salesperson, twenty simultaneous calls and one available rep means most transfers fail. Set concurrency to roughly the number of people who can pick up.
6. Watch the first hour
Stay at your desk. These four numbers tell you within minutes whether to pause:
| Signal | Healthy | If not |
|---|---|---|
| Connect rate | Varies by list, but stable | Very low means bad numbers or a caller ID nobody trusts. |
| Average duration | Roughly what your pilot produced | Much shorter means people are hanging up — check the opening line. |
| Failed count | Flat, low | Climbing steadily means a formatting problem. Pause immediately. |
| Transfers answered | Nearly all | Missed transfers mean lower concurrency or different hours. |
You can pause a running campaign at any time. Calls already connected finish normally, and you can resume from where it stopped.
Improving the numbers
| Problem | Most likely cause | What to change |
|---|---|---|
| Nobody answers | Unfamiliar caller ID, or wrong time of day | Use a local number. Try early evening. Both matter more than the script. |
| They answer and hang up in five seconds | The opening | Name yourself and your business immediately, then ask if now is okay. |
| Calls run long with no result | No clear single purpose | One goal per campaign, and a length cap in the instructions. |
| People sound annoyed | Too many attempts, or calling at bad times | Drop to two attempts and narrow the schedule. |
| Lots of “wrong person” | Stale list | Clean the data. Have the agent end those calls immediately without discussing anything. |
| Results are not in the CRM | Integration connected but not attached, or no instruction to log | Check both. Attaching and instructing are separate steps. |
Questions
How long will a thousand calls take?
Roughly: (calls ÷ concurrency) × average duration, plus retries. A thousand two-minute calls at five concurrent is around seven hours of dialling. Plan the schedule around lawful hours, not around finishing fast.
Can I run several campaigns at once?
Yes. They share your minutes and your account’s capacity, so watch the total rather than each one individually.
Can the agent leave a voicemail?
With voicemail detection on it stops rather than talking to the machine. If you want a message left, that is a deliberate choice — and in some jurisdictions pre-recorded messages carry their own rules. Check before you rely on it.
What happens to contacts who never answer?
After the maximum attempts they are marked as unreachable and the campaign moves on. Pull that list and decide whether they are worth a human attempt or should be retired.