A script isn't a paragraph. A script is a tree.
If you write your cold-call script as a single block of text — opening, value prop, ask — you will fail the moment the prospect deviates. Which they always do. The skill of cold calling isn't reading a pitch. The skill is routing between nodes based on what the human on the other end actually said.
Here's the exact 27-node structure I run on UK trades. Seven categories, branching paths, no dead ends. Every node is a written line you can read off a screen — and every branch is a real thing prospects actually say.
The seven categories
A robust script tree has seven kinds of node. Most operators only write the first two and wonder why they freeze on calls.
- OPENING — the first 9 seconds. Who you are, why you're calling, the pattern-interrupt.
- PITCH — the 30-second compressed value prop. Only used after opening succeeds.
- DISCOVERY — qualifying questions. Lead source, current state, frequency, value.
- OBJECTION — every "no" they'll throw at you. Five categories. We'll get to it.
- CLOSE — the ask. Calendar, callback, email. Three flavours.
- EXIT — graceful endings. Polite no, hostile no, "call back later".
- REPEAT/RECOVERY — when they didn't catch what you said. "Sorry, who?"
Most cold-call scripts you see online have categories 1, 2, and 5 only. They miss 3, 4, 6, and 7 entirely. That's why they fall over. Those four categories are where actual cold calls live.
The 27 nodes
Here's the structure. Bracket-counts in [N] show how many distinct nodes I run within each category.
OPENING [3]
cold-open— the standard opener. "Hi mate, it's Alix from APLeads — this is a cold call. Give me 27 seconds to see if it's relevant?"cold-open-warm— used when there's a tiny piece of context. "Saw you advertising on Checkatrade — quick one if you've got 27 seconds?"cold-open-repeat— for when they didn't hear who you were. "Sorry, mate — Alix from APLeads. We help trades fill their diary by handling outbound. Worth 30 seconds?"
PITCH [2]
pitch-30s— the 30-second value prop. "We dial 800 trades a week and hand you the 3-5 that are actually buying. Not leads. Not lists. Booked calls."pitch-90s— extended for warm replies. Adds a specific example, time/cost frame, and one unprompted objection-handler.
DISCOVERY [4]
discover-source— "How are leads coming in for you right now?"discover-volume— "How busy is your diary this month?"discover-quality— "What's your average job size?"discover-zero-leads— branch we go to if they say "not really getting any" (different question logic).
OBJECTION [7]
The seven you'll actually hear. Don't bother writing more — these are 95% of all rejections.
obj-not-interested— "Not interested." (most common, must have a recovery)obj-busy-fully-booked— "Already fully booked, mate." (good objection — pivot to future diary)obj-too-expensive— "Sounds expensive." (only ever pre-emptive — they don't know the price yet)obj-tried-before— "Tried marketing companies, doesn't work." (huge — most common in trades)obj-send-email— "Send me an email." (the polite kill-switch)obj-not-decision-maker— "I'd have to ask my partner / boss." (qualifier, not a no)obj-driving-busy— "I'm driving, mate." (callback flavour)
CLOSE [3]
close-calendar— direct calendar ask. Two slots offered.close-callback— "I'll text you a calendar link in 60 seconds." (works when they're not at a desk)close-email— last resort. Capture the email, send a one-pager.
EXIT [4]
exit-polite-no— they said no firmly. Thank, leave the door open, end.exit-hostile— they're rude. Polite, fast, end. Don't argue.exit-booked— confirmation language for the close.exit-callback-set— confirmation language when they've agreed to a callback.
REPEAT [4]
repeat-name— "Sorry, who's calling?"repeat-company— "From where?"repeat-pitch— "What is it you do again?"repeat-everything— "Sorry, you cut out. Can you start again?" (yes, this happens — write a node for it)
That's 27. Print this list. Build it as a tree. Each node is one written line.
The routing rules between nodes
The hard bit isn't writing the nodes. It's wiring the branches between them. Here are the four rules I run:
- Every node has at least 3 outgoing branches. "Yes" path, "no" path, "ambiguous" path.
- Every objection has at least one recovery branch. A "no" should never be the end of the conversation unless they explicitly said no twice. The first no is a question — it's testing whether you mean it.
- Every node logs back to a fallback if the matcher doesn't fire. If the prospect says something that doesn't fit any branch, the system should default to the manual override and let you read the screen + decide.
- REPEAT nodes loop back to OPENING. Not to PITCH. If they didn't catch who you were, you start the introduction again, briefly. Don't try to skip ahead.
What this looks like in Coach
Inside AP Sales Coach, this whole tree is editable in the script editor. You see the 27 nodes laid out by category, you can edit each line in your own voice, and you can drag branch-arrows between them to set the routing.
When the call goes live, the matcher reads the prospect's diarised speech, scores it against the outgoing branches of your current node, and surfaces the next line in around 50 ms. If it picks the wrong branch, the next two most likely options are listed below — tap to override.
You're not memorising 27 lines anymore. You're reading them.
If you want the seed tree
If you start a 7-day trial today, this exact 27-node tree ships as the default — already wired with realistic UK trades language. Edit it for your own voice and you're calling within 20 minutes.
— Alix