A cold calling script is a short, written outline of what you say on an unplanned sales call: who you are, why you are calling this person, one question, one reason to keep talking, and a clear ask. It is not a speech to read word for word. The free way to run it is two documents: the script in a plain doc, and a call log in Google Sheets or Excel with drop-downs for outcomes and a highlighted follow-up date. That setup works well for one caller. It strains once several people dial from the same list.

The Toolkit take
6 parts
Opener, reason, question, value line, ask, and exits: the whole script fits on one card
1 trigger
A specific reason per prospect beats a generic pitch
1 question
Ask it, then stop talking
Same day
Log the outcome before the next dial

What a cold calling script actually needs

Most call scripts for cold calling fail because they are written like brochures. The person on the other end gives you a few seconds before deciding whether to hang up. Your script has to earn the next sentence, not explain the company. Keep each part to one or two lines you can say out loud without sounding like you are reading. If you would not say it to a stranger at a trade show, cut it.

A working script has six parts, in this order:

  1. The opener. Your name, your company, and a plain admission that this is a cold call. Honesty lowers the guard faster than a fake how are you today.
  2. The reason for the call. One specific trigger: they just hired, opened a location, posted about a problem. This is where research pays.
  3. One question. Ask about the problem you solve, in their words. Then stop talking.
  4. The value line. One sentence on what changes for a business like theirs, with a customer type they recognize.
  5. The ask. A short meeting at a named time, not let me know if you're interested.
  6. The exits. Two or three objection replies and a voicemail version under 30 seconds.

For the strategy behind the call itself (who to call, when, and how many attempts), see our guide to cold calling.

💡
Toolkit tip
Say it is a cold call

Admitting it up front sounds honest and buys you the next sentence more often than a fake friendly opener.

A sample cold calling script you can adapt

Here is an illustration for a fictional bookkeeping firm calling a restaurant owner. Swap the details for your own trade.

Opener: "Hi Maria, this is Sam from Ledger Lane. This is a cold call. Can I take thirty seconds to tell you why I picked up the phone, and you can tell me if it's worth a minute more?"

Reason: "I saw you opened a second location in March. Most owners we talk to find the books get messy right around location two."

Question: "How are you handling payroll and sales tax across both places right now?"

Value line: "We take that off the owner's desk for restaurants with one to five locations, so month-end stops eating your Sundays."

Ask: "Would Thursday at 10 or Friday at 2 work for a 15-minute call to see if we're a fit?"

Voicemail: Name, company, the trigger, one benefit, your number twice. Nothing else.

Write two objection replies before you dial. We already have someone becomes a question about what they would change. Send me an email becomes a promise to send it plus a time to call back. Writing these down beforehand is what separates cold-calling scripts that get meetings from ones that only get hang-ups.

⚠️
Watch out
Do not read it word for word

Prospects hear a script being read in the first sentence. Learn the six headings and talk from them.

Build a free call log in a spreadsheet

The script is only half of the job. Without a record of who you called, what happened and when to call back, the second attempt never happens. A call log in a spreadsheet fixes that for free. These steps use Google Sheets; the Excel version follows.

  1. Create columns: Name, Company, Phone, Date called, Outcome, Notes, Next call date.
  2. Select the Outcome column. In Google Sheets, click Insert > Dropdown (or Data > Data validation > Add rule), then under Criteria choose Dropdown and type your outcomes: No answer, Voicemail, Gatekeeper, Conversation, Meeting booked, Not interested, Do not call [1].
  3. In Advanced options, keep the setting that rejects entries not on the list, so everyone records outcomes the same way.
  4. Select the whole data range, then click Format > Conditional formatting. Under Format cells if, pick Custom formula is and write the rule for the first row, for example =AND($G2<>"",$G2<=TODAY()), with a fill color [2]. Rows with a callback due today or earlier now light up.
  5. Add a filter on the Outcome column so you can pull up every voicemail in one click.

The same log in Excel

Type your outcome list on a second sheet and turn it into a table with Ctrl+T, so the drop-down updates when you add an option. Then select the Outcome cells, go to Data > Data Validation, set Allow to List, and point Source at your list [3]. Microsoft notes that Data Validation is greyed out if the sheet is protected or shared.

💡
Toolkit tip
Add a Do not call outcome

Make it one of the drop-down options so a request to stop is recorded the same way every time and never dialed again.

How to use the script on a real call

Practice the script out loud until you can say it without looking. Then put it away and keep only the six headings in front of you. Callers who read word for word sound flat, and prospects hear it in the first sentence.

Make your calls in blocks. Research ten prospects, write each one's trigger in the Notes column, then dial all ten without stopping. Log the outcome before the next dial, not at the end of the session. Memory is the first thing a busy day erases.

Review the log every Friday. Sort by Outcome and count how often each line of the script leads to a real conversation. If almost every call dies after the opener, the opener is the problem. If conversations happen but no meetings follow, fix the ask. The log is how the script improves, which is why the two belong together.

One legal note. Cold calls to US consumers fall under the Telemarketing Sales Rule and the National Do Not Call Registry, which the Federal Trade Commission manages; its registry site has a section of answers for telemarketers and sellers [4]. If you record calls, consent rules vary by state. Keep the Do not call outcome in your drop-down and honor it every time.

When the spreadsheet call log stops working

The free setup has a clear ceiling, and you will feel it before you see it. The signs are specific.

At that point a CRM with built-in calling does the logging for you: the call is placed from the record, and the outcome lands on it.

Tools that log the call for you

Freshsales Solves this

The built-in phone is part of the product, and the free mobile app logs calls made from your phone automatically, so each call lands on the record without typing.

Where it stops: Call recording, masking and voicemail drop start on Growth; the power dialer starts on Pro. Plan: Free (mobile call logging); Growth for recording
Close Solves this

Calling, SMS and email are built in, and each call happens inside the lead record, so the outcome and history sit with the lead instead of in a sheet.

Where it stops: No free plan; calling starts on Essentials, the power dialer on Growth, and calling usage is billed separately from the plan. Plan: Essentials (calling); Growth (power dialer)
HubSpot Partly

A built-in dialer on every plan, including Free, places calls inside the same CRM that holds your contacts and deals, and the dialer records and transcribes calls once you are on Professional.

Where it stops: Free is for up to 2 users; call transcription, coaching and conversation intelligence need Professional. Plan: Free (dialer); Professional (transcription and coaching)

Freshsales is the gentlest step up for a solo caller because its free mobile app logs calls from your phone automatically, with no typing. Close fits a team whose day is the phone, since the call happens inside the lead record. HubSpot is the choice if you also want email and deals in one free CRM before you add recording. For dialers that move through a list on their own, compare the options in our power dialer guide.

Frequently asked questions

How long should a cold-calling script be?+

Short enough to say in under a minute before your first question, which usually means a few lines per part. The rest of the call is listening and responding.

How many cold-calling scripts do I need?+

Usually one per type of buyer you call, since the trigger, the question and the value line change with the business. The opener, the ask and the voicemail format can stay the same across all of them.

Can I keep a call log in a spreadsheet with a team?+

You can, but shared editing causes collisions: two reps call the same lead and overwrite each other's notes. Assign leads by owner in a column, or move to a CRM once a second caller joins.

Do I need a different script for business and consumer calls?+

The structure stays the same, but calls to US consumers fall under the Telemarketing Sales Rule and the National Do Not Call Registry, so check the FTC's guidance before you dial consumers.

The bottom line

A good cold calling script is short, honest about being a cold call, built around one specific reason and one question, and ends with a concrete ask. Pair it with a free call log in Google Sheets or Excel: drop-downs for outcomes, a highlighted callback date, and a weekly review that tells you which line to rewrite. That combination costs nothing and works well for one caller. When a second person starts dialing, or typing the log takes longer than the calls, move the list into a CRM that logs each call on the record for you.

Sources
  1. [1] Google Docs Editors Help (Nov 2026) https://support.google.com/docs/answer/186103
  2. [2] Google Docs Editors Help (Nov 2026) https://support.google.com/docs/answer/78413
  3. [3] Microsoft Support (Nov 2026) https://support.microsoft.com/en-us/office/create-a-drop-down-list-7693307a-59ef-400a-b769-c5402dce407b
  4. [4] donotcall.gov (Nov 2026) https://www.donotcall.gov/faq.html