# Cold calling script templates for AI calls (copy-paste)

Source: https://dialmilo.com/hub/ai-call-script-templates
Updated: 2026-11-03

Cold calling script templates rewritten for AI phone agents: six copy-paste briefs for follow-ups, reminders, win-backs and offers, plus what to leave out.

A cold calling script for an AI agent is a brief, not a transcript. The six templates below each follow the same six-part shape: goal, opening line, facts, boundaries, branches, ending. Copy one, fill the brackets, and test it on your own phone before a single customer hears it. Every template opens by saying it's an AI and confirms it has the right person before it says anything else, because those two lines decide whether the rest of the call happens at all.

Most cold calling script advice was written for people. It tells a rep to pause for eight seconds after the introduction, to open with a pattern interrupt, to ask "did I catch you at a bad time?" so the prospect relaxes. [HubSpot's guide](https://blog.hubspot.com/sales/cold-call-script-vb) and [Pipedrive's 25 templates](https://pipedrive.com/en/blog/cold-calling-scripts) are good at this, and they agree on the skeleton: introduction, reason for calling, value, a question, a close.

Paste one of those into an AI phone agent and something strange happens. The agent reads the stage directions literally, sits in silence where the rep would have smiled, and recites the value proposition whether or not anyone asked. A human script assumes a human who knows when to ignore it. An AI script has to say out loud what a good rep knows without being told.

## Why a human cold calling script breaks on AI

Three habits from human scripts cause most of the trouble.

**Word-for-word lines.** A rep paraphrases. A model given a quoted paragraph will often say all of it, at the wrong moment. Give it the one line you want verbatim (the opening) and describe the rest as intent.

**Deliberate pauses and interrupts.** Dead air on an AI call doesn't read as confidence. It reads as a broken line. In our own outbound pilot with an online casino operator, the lesson was the opposite of the eight-second pause: keep the gap after pickup under a second, or people hang up thinking nobody is there.

**Pressure techniques.** Assumptive closes and "just one more question" loops are borderline from a person. From an AI, which the person already knows is an AI, they feel manipulative. Write the agent a polite exit and tell it when to use it.

The templates assume the person gave you their number: a lead form, an account, a past order, a registration. Calling strangers with an AI voice is restricted in most places. The FCC [ruled on 8 February 2024](https://docs.fcc.gov/public/attachments/DOC-400393A1.pdf) that AI-generated voices are "artificial" under the TCPA, which brings consent requirements with them. Our guide to [AI phone call laws](/hub/ai-phone-call-laws) covers the US, UK and EU rules.

## The six parts of an AI call script

Every template below follows this shape. If you write your own, keep the same headings.

| Part | What it does | Typical length |
| --- | --- | --- |
| Goal | One sentence: what a successful call ends with | 1 line |
| Opening line | The only verbatim line. Names the AI, asks for the person | 1–2 lines |
| Facts | What the agent may say: product, offer, dates, prices | 3–8 lines |
| Boundaries | What it must never say or do | 3–5 lines |
| Branches | The three or four replies that need a specific answer | 4–8 lines |
| Ending | How each kind of call finishes, and what gets recorded | 2–4 lines |

Two rules apply across all of them. The opening confirms identity before naming anything sensitive, because the person who answers isn't always the person you meant to call. And the boundaries say what to do when someone asks to stop: stop, confirm, end the call. With Dial Milo, a "stop calling" is recorded as an opt-out automatically, but the script should still tell the agent how to say goodbye.

Placeholders in curly braces, like `{first_name}`, pull from the columns in your uploaded list. Any column works, so `{plan_name}` or `{last_order_item}` is fine if your CSV has it.

## Template 1: New lead follow-up

For someone who filled in a form in the last hour. It is the template behind [speed to lead](/hub/speed-to-lead).

```
GOAL
Book a 15-minute call with the sales team, or find out the lead isn't a fit.

OPENING (say exactly)
Hi, this is Milo, an AI assistant calling for {company}. Am I speaking with {first_name}?
[After they confirm] You asked about {product} on our website a few minutes ago. Is now an OK moment for two quick questions?

FACTS
- {company} sells {one-line description}.
- Plans start at {starting price}. Don't quote anything else about price.
- The sales team is free {available slots}.

BOUNDARIES
- Never claim to be a person. If asked, say you're an AI assistant.
- Don't promise discounts, delivery dates or features not listed here.
- If they say they're busy, offer to call back and ask when.

BRANCHES
- "Just send me information" → confirm their email, say the team will send it, end politely.
- "How much is it?" → give the starting price once, then ask what they need it for.
- "Is this a robot?" → yes, you're an AI assistant for {company}; offer a person instead.
- Wrong person → apologise, don't mention {product}, end the call.

ENDING
Booked → repeat the day and time back, say a confirmation will follow by email.
Not a fit → thank them and end. Record the reason in one line.
```

## Template 2: Appointment reminder with reschedule

Short calls, high answer intent, very little that can go wrong.

```
GOAL
Confirm tomorrow's appointment, or move it to a free slot.

OPENING (say exactly)
Hi, it's Milo, an AI assistant from {business_name}. Is this {first_name}?
[After they confirm] I'm calling to confirm your {service} on {appointment_day} at {appointment_time}. Does that still work?

FACTS
- Address: {address}. Parking: {parking_note}.
- Cancellation policy: {policy, one sentence}.

BOUNDARIES
- Don't give medical, legal or financial advice. Offer a call from the team instead.
- Only offer times that are actually free in the calendar.

BRANCHES
- "Yes" → thank them, remind them of the address, end.
- "I need to move it" → offer the two nearest free slots, book the one they pick.
- "Cancel" → confirm the cancellation and mention the policy once, without arguing.

ENDING
Record: confirmed, moved (with new time), cancelled, or no decision.
```

## Template 3: Win-back for lapsed customers

For people who bought before and stopped. The mistake here is leading with the discount. Lead with a question, then make the offer once. More detail in the [win-back campaign](/hub/win-back-campaign) guide.

```
GOAL
Find out why {first_name} stopped ordering, and offer {winback_offer} once if it fits.

OPENING (say exactly)
Hi, this is Milo, an AI assistant calling from {company}. Am I speaking with {first_name}?
[After they confirm] You used to order {last_order_item} from us, and we noticed it's been a while. Mind if I ask what changed?

FACTS
- Offer: {winback_offer}. Terms: {terms, exactly as written}. Valid until {expiry}.
- Details are sent by SMS and email after the call.

BOUNDARIES
- Present the offer once. Don't repeat it if they decline.
- Never invent or change the terms. If asked something not covered here, say the team will confirm by email.
- If they're unhappy about a past order, apologise, take a short note, and offer a callback from a person.

BRANCHES
- Moved to a competitor → ask what they prefer about it, then make the offer.
- Price → make the offer.
- No longer needs it → thank them, don't make the offer, end.

ENDING
Record: offer accepted, offer declined, callback requested (with time), opted out, or no decision.
```

## Template 4: Registered but never paid (iGaming or subscription)

Built for players who registered but never deposited, or trial users who never converted. The identity check comes before the brand, which matters more here than anywhere: the phone might be answered by a partner or a parent. It is the template behind our guide to [registered no-deposit players](/hub/registered-no-deposit-players).

```
GOAL
Check whether {first_name} needs help getting started, and present the welcome offer once.

OPENING (say exactly)
Hi, this is Milo, an AI assistant. Am I speaking with {first_name}?
[Only after they confirm] I'm calling from {brand}. You signed up a couple of days ago and I wanted to check everything worked.

FACTS
- Welcome offer: {offer_text}. Terms: {terms, exactly as written}.
- Only mention deposit or wagering conditions if they ask.
- The code and full terms come by SMS and email straight after the call.

BOUNDARIES
- If the person isn't {first_name}, don't name the brand. Apologise and end.
- At any sign of financial difficulty or loss of control, stop selling, offer support information, and end kindly.
- Never pressure, never repeat the offer, never promise winnings.

BRANCHES
- "I couldn't verify my account" → explain the team will email the next step; record callback requested.
- "Yes, I'll take it" → confirm it's coming by SMS and email; don't restart the pitch.
- "Stop calling me" → confirm you won't call again and end.

ENDING
Record: offer accepted, declined, callback requested, opted out, wrong person, or no decision.
```

One detail from the pilot is worth copying into every offer script: people say "yes" in the middle of your sentence. The line "don't restart the pitch" is there because an agent that hears "yes" and starts the offer again sounds like a machine stuck in a loop. For iGaming, keep the offer's terms word for word and treat any sign of harm as the end of the sale.

## Template 5: Renewal or churn-risk check-in

For subscriptions coming up for renewal, or accounts whose usage has dropped. Pick who gets it from usage data, not from the renewal date alone.

```
GOAL
Find out whether {first_name} plans to renew, and route any problem to the right person.

OPENING (say exactly)
Hi, this is Milo, an AI assistant from {company}. Is this {first_name}?
[After they confirm] Your {plan_name} renews on {renewal_date}. I'm calling to check it's still working for you.

FACTS
- Current plan: {plan_name} at {price}. Cheaper option: {downgrade_option}.
- Account manager: {account_manager}.

BOUNDARIES
- Don't argue with a cancellation. Offer the cheaper option once, then accept the answer.
- Don't discuss other customers or internal numbers.

BRANCHES
- Happy → thank them, end.
- Problem with the product → take a one-line summary, book a call with {account_manager}.
- Too expensive → mention {downgrade_option} once.

ENDING
Record the outcome and a one-line summary of any problem in their words.
```

## Template 6: The B2B cold call (where you are allowed to make it)

This is the closest to a classic cold calling script, for business numbers in places where calling them is permitted. Check the rules for your country first; in the UK, the [ICO says](https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/electronic-and-telephone-marketing/telephone-marketing/) live calls can't go to numbers on the TPS or CTPS without specific consent, and automated calls need specific consent in every case. The [AI cold calling](/hub/ai-cold-calling) guide covers when an AI should and shouldn't make this call.

```
GOAL
Find the person who owns {problem area}, and book a 15-minute call with them or get their email.

OPENING (say exactly)
Hi, this is Milo, an AI assistant calling on behalf of {company}. I'm trying to reach whoever looks after {problem area} at {prospect_company}. Is that you, or could you point me to the right person?

FACTS
- {company} helps {type of business} with {result}, for example {one concrete example}.
- If asked how you got the number: {honest source, e.g. "it's listed on your website"}.

BOUNDARIES
- Never claim a previous conversation or relationship that didn't happen.
- If told not to call again, confirm and end. Don't ask for someone else instead.
- Two questions at most before offering to send an email.

BRANCHES
- Gatekeeper → ask for the right person's name and email; don't push past them.
- "Not interested" → thank them and end. Don't try a second angle.
- "What's this about?" → give the one-line description and the example.

ENDING
Record: meeting booked, email captured, wrong contact (with the right name if given), not interested, opted out.
```

## What to leave out of every AI call script

- **Prices and details that change.** Put them in a knowledge document the agent reads from.
- **Every possible conversation path.** Four branches is plenty. The agent handles variation better than a decision tree does.
- **Voicemail lines in the main script.** Dial Milo listens for voicemail greetings and, by default, hangs up and tries again later. If you'd rather leave a message, it's a separate setting with its own text, so the main script never ends up on someone's voicemail.
- **Claims you can't back up.** If the script promises "same-day delivery", the agent will say it to everyone, including the person in a postcode where it isn't true.

## Worked example: testing two openings

Illustrative figures. Say you have 1,000 lapsed customers and two opening lines for Template 3. Script A asks what changed; script B leads with the discount. You split the list 50/50.

After a week, each script has called 500 people. Script A had 160 conversations and 22 acceptances; script B had 165 conversations and 19 acceptances. That's 13.8% against 11.5% of conversations. It looks like A wins, but at these sizes the gap could easily be noise, and a careful tool will say so.

With Dial Milo's [A/B testing](/help/ab-testing-scripts), each script needs 100 players called before it's compared at all, and it's only marked better or worse when Milo is at least 95% sure the difference is real. Until then you see "No clear difference yet". That is the right answer, and it saves you rewriting a script that was fine.

On cost: at roughly 14–20¢ a minute all-in for US, UK and Dutch numbers, and two-minute conversations, those 325 conversations cost somewhere around $90–130. Unanswered calls cost little. You can price your own list with the spend calculator in your dashboard.

## Before you go live

  
    Use the column names in your CSV so the placeholders resolve. A placeholder with no column behind it is the most common reason a test call sounds odd.
  
  
    Run a test call and play the awkward person: interrupt, say yes halfway through, ask if it's a robot, ask it to stop.
  
  
    Fifty to a hundred people. Read the transcripts, not just the outcome counts. You'll find the line that confuses people within the first twenty.
  
  
    If you change the opening and the offer together, you won't know which one worked.
  

Treat these as starting points: your best script will be the one you rewrote after reading forty real transcripts. For the bigger picture of how a campaign runs around the script, start with [AI outbound calling](/hub/ai-outbound-calling) or [set up a free account](/signup) and hear Milo call you in the browser before you spend anything.

## Frequently asked

**What is the best cold calling script for an AI agent?**

One that reads like a brief, not a screenplay. Give the agent a goal, an opening line, the facts it may use, the boundaries it must not cross, the few branches that matter and a clear way to end. Then let it hold the conversation. Word-for-word human scripts with long pauses and pattern interrupts sound worse coming from an AI, not better.

**Should an AI call script say that it is an AI?**

Yes. Say it in the first sentence. In the US the FCC confirmed in February 2024 that AI-generated voices count as artificial voices under the TCPA, which brings consent rules with them, and in the UK the ICO expects every marketing call to say who is calling. Hiding the fact only delays the moment the person works it out, and they rarely forgive it.

**How long should an AI call script be?**

Most of the briefs that work are 150 to 300 words. Long enough to cover the goal, the facts, three or four objections and the ending; short enough that every line still matters. Anything that changes often, such as prices or opening hours, belongs in a knowledge document rather than the script.

**Can I use these templates for true cold calls to consumers?**

Be careful. Calling consumers with an AI voice usually needs prior consent in the US, and automated marketing calls need specific consent in the UK. The templates here are written for people who gave you their number: leads, customers, registered players and lapsed buyers. That is where AI calling is both legal and effective.

**How do I know which script works better?**

Run two versions side by side on the same list and compare outcomes, not opinions. Change one thing at a time, usually the opening line or the offer framing, and wait for enough calls before calling a winner. Dial Milo needs 100 players called on a script before it compares it, and only marks one better when it is at least 95% sure.
