Skip to content
Cold DM Calculator

Resource · Library

Cold DM Script Library

Scripts give a team consistency without sounding like robots. This library collects reusable frameworks by platform and goal so any sender can start from a proven structure and adapt it. A framework is not a word-for-word script; it is a skeleton of beats — open, observe, value, ask — that keeps messages effective and on-brand while leaving room for the human touch that gets replies.

How to use the script library

Pick the framework that matches your platform and goal, then fill the beats with the prospect's specifics. Train new senders on two frameworks first, not all of them, so they build instinct before choice becomes a burden. Review recorded replies to confirm the framework is producing the right conversations.

A framework is a skeleton, not a cage; adapt the words while keeping the sequence of beats.

Framework beats

Every script here follows the same four beats. Learning the beats lets a sender improvise confidently instead of memorizing lines, which is what keeps volume sustainable without quality dropping.

BeatPurposeLength
OpenEarn the read1 sentence
ObserveShow you looked1 sentence
ValueGive a reason1-2 sentences
AskRequest small step1 sentence

Per-platform frameworks

Platform norms differ. Instagram rewards visual, casual observation; LinkedIn rewards professional relevance; Reddit rewards native, non-promotional tone. The same beat order, tuned to the room, is what works across all of them.

LinkedIn framework

Saw your post on [topic]. We help [role] solve [problem] — quick if I share how [similar co] did it?

Instagram framework

Love the [specific thing] you posted. Curious — are you seeing [problem] with [context]? I've got a fix most miss.

Goal-based frameworks

Match the script to the outcome you want: a reply, a meeting, or a referral. Asking for the wrong thing wastes the open you earned, so decide the goal before you write the ask beat.

  • Reply goal: ask one easy question.
  • Meeting goal: propose a short, specific slot.
  • Referral goal: ask who else has the problem.

Keeping scripts on-brand

Write two or three approved variants per framework and store them where senders can find them. Brand voice lives in the small word choices, so give examples rather than rules, and let senders internalize the feel.

Approve variants

Lock two variants per framework after testing.

Train senders

Walk new senders through beats, not memorized lines.

Sample replies

Review a weekly sample to catch drift from voice.

When to retire a script

A script that quietly falls below your average reply rate has earned retirement. Track it the same way you track snippets, and rotate in a tested replacement so the library stays sharp instead of sentimental.

Sentiment about a script is not data; reply rate is. Retire on the number, not the fondness.

Worked LinkedIn script, filled

Apply the four beats to a concrete case: a payroll tool reaching HR leads at 20-80 person companies. Watch how each beat stays one or two sentences and the ask stays tiny, which is what keeps a stranger from defaulting to no.

LinkedIn framework (filled)

Saw your post on onboarding hires. We help HR leads at growing teams cut payroll run time in half — quick if I share how a 40-person firm did it?
  • Open + observe: the post reference shows you looked.
  • Value: half the run time is a concrete outcome they feel.
  • Ask: 'quick if I share' is a low-pressure yes.

Script mistakes to avoid

These are the failure modes that make a framework read as spam even when the structure is right. Catch them in the sample review before a sender ships them at volume, because bad habits at low volume become account-ending habits at scale.

MistakeWhy it failsFix
Skipping the observe beatFeels mass-sentAdd one true detail per prospect
Value in feature wordsNo reason to careState the outcome they feel
Big askStranger gets a noRequest one small step
Same words everywhereLooks automatedVary per platform and person

Adapting the framework live

A framework is a skeleton you improvise within, not a teleprompter. When a reply surprises you, keep the beat order but change the words; the structure is what keeps the message effective when you are thinking on your feet.

Hold the beats

Open, observe, value, ask, in that order.

Swap the words

Use the prospect's own language back to them.

Keep the ask small

Never let a live reply inflate the request.

Edge cases and caveats

Off-platform norms break a copied framework. What reads as confident on LinkedIn reads as pushy in a Reddit community, so tune the voice per room while keeping the same four beats underneath.

PlatformVoice tweakRisk if ignored
LinkedInProfessional, proof-ledToo casual looks sloppy
InstagramVisual, casualToo formal gets ignored
RedditNative, no pitchPromo tone gets buried

Do and don't quick list

  • Do train senders on the beats, not lines.
  • Do keep two approved variants per platform.
  • Don't paste one framework everywhere verbatim.
  • Don't retire a script on fondness; retire on rate.

Copy-this framework

Use this as your base framework and fill the beats for your first campaign. Keep the order; change only the words to fit the prospect and the platform, because the sequence is what keeps the message effective.

Base framework

Open: [earn the read]. Observe: [one true detail]. Value: [outcome they feel]. Ask: [one small step].

How to train a sender fast

Teach the four beats first, then have the sender shadow two approved variants before writing their own. Competence comes from the skeleton, not memorized lines, so test on the beats, not the wording.

Teach beats

Open, observe, value, ask, in order.

Shadow variants

Read two approved examples aloud.

Write one

Draft a message, review the beats.

Troubleshooting the framework

When a framework underperforms, one beat is usually missing or hollow. Score the last ten messages beat by beat to find the weak link before you rewrite the whole thing and lose what was working.

SymptomWeak beatFix
Ignored entirelyOpen or observeAdd a true detail about them
No value feltValue beatState the outcome they feel
No reply earnedAsk beatShrink the ask to one step

A framework that gets read but not answered usually has a strong open and a weak value; fix the middle, not the start.

Your first 15 minutes

Stand up one framework before you brief a sender. The skeleton takes minutes; the personalization is what takes the thought, and the skeleton is what keeps every message consistent at volume.

  1. 1Pick the platform and its norms.
  2. 2Write the four beats in order.
  3. 3Approve one tested variant.
  4. 4Store it where senders can find it.

Before you launch: final check

Before a sender goes live, confirm the framework beats are present in their draft and the ask is small. A framework missing the observe beat reads as spam the moment it hits a stranger's inbox, no matter how good the value.

  • All four beats present, in order.
  • Observe beat is specific to the prospect.
  • Value stated as an outcome they feel.
  • Ask is one easy step, not a pitch.

Script performance review

Review each framework the same way you review snippets: by reply rate, not by how much you like it. A framework that tests well for one sender may read as copied for another, which is almost always a personalization gap in the observe beat, not a bad skeleton.

Retire a script on the number, not the fondness; sentiment about a line is not data.

Where scripts fit in the stack

Scripts sit between the ICP and the send: the ICP says who, the script says how the message is built, and the cadence says when it follows up. Keep all three consistent or the program pulls against itself.

  1. 1ICP sets the observe beat detail.
  2. 2Script sets the four beats.
  3. 3Cadence sets the follow-up timing.

Suggested image brief

PlacementPurposeFilename and alt text
After the direct answerCreate an original AI-generated workflow graphic that summarizes the decision, metric, and next action for this topic without third-party logos.cold-dm-script-library-workflow.webp - Cold DM Script Library workflow diagram

Quick checklist

  • Two platforms frameworks selected and drafted.
  • Goal-based variant written for reply and meeting.
  • Four beats documented for each framework.
  • Two approved variants locked per framework.
  • Sender training plan based on beats, not lines.
  • Reply-rate tracking tied to each script.
  • Retirement rule set at below-average rate.

Related: Script Worksheet · SaaS Scripts · Freelancer Scripts · Coach Scripts · Cold DM Calculator

Frequently asked questions

Aren't scripts the same as spam?

No. Scripts are structures; spam is irrelevant volume. Personalization at the observe beat keeps scripts legitimate.

How many frameworks do I need?

Two or three covering your main platforms and goals is plenty for a small team to execute well.

Can one script work everywhere?

The beat order can, but the words must shift per platform norms or they will feel off.

How do I train a new sender fast?

Teach the four beats, then have them shadow two approved variants before writing their own.

Should scripts be A/B tested?

Yes, treat variants as test arms and keep the winner; the library should reflect evidence.

Put scripts to work at volume

Model the reply rates your frameworks should hit.

Forecasts are estimates based on user-provided assumptions. Results are not guaranteed.

Benchmarks, templates, and examples on this page are illustrative planning references, not guarantees of performance. Adjust your outreach to comply with platform terms and applicable regulations.