Skip to main content

Agency Pitch Message Template for LinkedIn

Most agency pitch messages on LinkedIn fail before the second sentence. The reason is almost always the same: the message opens with the agency's credentials instead of the prospect's situation. These templates are built around the opposite logic.

This page is for agency founders, account executives, and BDRs who are pitching their services cold or semi-warm on LinkedIn. Every template below follows one rule: the prospect's name, company, or context appears before anything about you. That's the whole principle. Everything else is just execution.

A quick note on length: connection-request notes are hard-capped at 300 characters by LinkedIn. Templates 1 and 2 are written for that constraint. Templates 3 through 6 are first messages sent after connecting.


The Templates

Template 1: Cold Connection Request, Problem-First

When to use it: You're sending a connection request cold with no prior interaction. Use this when you've identified a specific gap from their profile or company page.

Hi {first_name}, noticed {company} is scaling its {service_area}. We help {target_company_type} do that without the typical {common_pain}. Worth connecting?

Why it works: Under 200 characters, so it fits the connection-note limit with room to spare. The specific {service_area} variable forces you to do at least minimal research, which the prospect can feel. It ends with a low-pressure question rather than a meeting ask.

Variables to customise:

  • {first_name} - prospect's first name
  • {company} - their company name
  • {service_area} - e.g. "paid social", "content production", "SEO"
  • {target_company_type} - e.g. "SaaS companies at Series A", "e-commerce brands"
  • {common_pain} - e.g. "agency-switching chaos", "bloated retainers", "slow turnaround"

Template 2: Warm Connection Request, Mutual Context

When to use it: You share a mutual connection, attended the same event, or they've engaged with your content. This is the softest possible entry point.

Hi {first_name}, connected with {mutual_name} recently and your work on {specific_topic} came up. Would love to be in each other's networks.

Why it works: No pitch at all in the request. The mutual reference is a trust shortcut; it gets the connection accepted, and then you pitch in the follow-up. For more on this approach, see our LinkedIn Connection Request Template For Founders.

Variables to customise:

  • {first_name} - prospect's first name
  • {mutual_name} - name of the shared contact
  • {specific_topic} - the thing that actually came up, keep it real

Template 3: First Message After Connecting, Trigger-Based

When to use it: They've just accepted your connection request and their company recently had a visible trigger: a funding round, a new hire in marketing, a product launch.

Hey {first_name}, congrats on {recent_trigger}. That usually means {relevant_challenge} is about to get loud. We work with {target_type} specifically on that transition. Happy to share what we've seen work if useful.

Why it works: The trigger does two things simultaneously: it proves you're paying attention, and it makes the challenge feel timely rather than manufactured. "Happy to share what we've seen work" is a lower commitment ask than "let's book a call," which matters a lot at this stage.

Variables to customise:

  • {first_name} - first name
  • {recent_trigger} - e.g. "the Series B", "the new VP of Marketing hire", "the rebrand"
  • {relevant_challenge} - e.g. "content demand", "paid acquisition pressure", "pipeline coverage"
  • {target_type} - your niche

Template 4: First Message After Connecting, Direct Offer

When to use it: Your ICP is very tight and you have a specific, clearly defined service. This works well when the prospect's role makes the need obvious (e.g. a Head of Growth at a sub-50-person SaaS company).

Hi {first_name}, we run {specific_deliverable} for {niche} companies. Most of the teams we work with were spending {time_or_resource} on it in-house before switching. If that resonates at all, happy to send over a few examples from companies your size.

Why it works: "Companies your size" is a subtle but effective anchor. It signals you're not pitching a generic retainer; you're pitching a fit. Offering examples rather than a call reduces friction by one full step.

Variables to customise:

  • {first_name} - first name
  • {specific_deliverable} - e.g. "performance creative testing", "technical SEO audits", "LinkedIn outbound"
  • {niche} - your specific vertical
  • {time_or_resource} - e.g. "two full days a week", "a full-time hire", "an in-house design team"

Template 5: Re-Engagement After a Cold Thread Went Quiet

When to use it: You pitched before, got no response, and have a genuinely new reason to reach back out. Not just a bump.

Hey {first_name}, reaching back out because {new_context} made me think of our earlier conversation. We've since {relevant_update_about_your_work}. Still worth a quick 15 minutes if the timing is better now?

Why it works: The "new context" variable is doing the heavy lifting here. Without it, this is just a bump, and bumps almost never work. With a real new reason, it feels less like a chase and more like a relevant check-in. See our LinkedIn follow-up message after no response templates for more variations on this.

Variables to customise:

  • {first_name} - first name
  • {new_context} - e.g. "you published that post about scaling creative", "your company just expanded to the US market"
  • {relevant_update_about_your_work} - something genuinely new: a case study type, a relevant result, a new capability

Template 6: Referral-Informed Outreach

When to use it: A client or contact explicitly suggested you reach out to this person. Use this as soon as possible after getting the referral.

Hi {first_name}, {referrer_name} suggested I reach out directly. They mentioned you're working on {challenge_area} and thought we might be a fit given what we've done for {relevant_context}. Worth a brief chat?

Why it works: A direct referral is the strongest possible trust signal in cold outreach. The message earns its directness because the trust is already transferred. Keep it short; the referral does the persuasion, you just need to not ruin it with a wall of text.

Variables to customise:

  • {first_name} - first name
  • {referrer_name} - the person who referred you
  • {challenge_area} - the specific thing they're working on
  • {relevant_context} - e.g. "what we did for companies in your space", "our work in {their industry}"

Scenario to Template Mapping

Situation Template to use Primary goal
No prior contact, cold search Template 1 Get the connection
Mutual contact or shared event Template 2 Get the connection, low friction
Recent trigger (funding, hire, launch) Template 3 Start a conversation
Clear ICP match, obvious need Template 4 Get to examples or a call
Previous thread went cold Template 5 Re-open without being annoying
Direct referral from a mutual Template 6 Convert the trust into a meeting

Agency Pitch Messages: Do and Don't

These are the patterns we see most often when reviewing outreach sequences built in Ampliflow. The don'ts aren't theoretical; they're what actually gets threads ignored or accounts flagged.

Do:

  • Lead with their name and something specific to them before anything about yourself
  • Separate the connection request from the pitch. Two distinct steps, always.
  • Keep connection-request notes under 250 characters so they render cleanly on mobile
  • End with a single, low-friction question or offer, not a meeting link in the first message
  • Use a trigger, a referral, or a specific observation to open follow-ups
  • Test two subject angles in A/B before assuming a template doesn't work for your niche

Don't:

  • Open with "I help companies like yours..." without naming what's specific about theirs
  • Attach a calendar link or a Loom in the connection-request note
  • Send a follow-up the next day. Wait at least four days; three to five is the range we use
  • Write "just checking in" or "following up on my last message" as your opener
  • Pitch a retainer in the first message. Pitch a conversation about the problem first.
  • Send the same sequence to 200 people a day from a fresh account. LinkedIn's systems notice volume spikes fast, and account health is hard to recover once it slips.

On that last point: we cap our own sends at 30-40 connection requests per day with randomised timing between messages. Ampliflow enforces this by default through human-like rate limits and timing jitter. You can override it, but we'd recommend against it on any account you care about.


Sequencing These Templates in a Campaign

A single message rarely converts. A realistic cold agency pitch sequence usually looks like this: connection request (Template 1 or 2), first message after acceptance (Template 3, 4, or 6 depending on context), one follow-up if no reply within five days (Template 5 logic), and then a final soft close or topic change.

When you're running this at scale, the operational overhead gets real fast: tracking who's at which step, pausing sequences when someone replies, routing hot leads to a human. That's where automation earns its keep.

Ampliflow's visual workflow builder handles the branching: if they reply, the sequence pauses automatically. If they connect but don't respond within your delay window, the next message goes out. If/Else logic lets you split paths based on whether they have Sales Navigator data attached, so a trigger-based template goes to the segment with known firmographic data and the generic version goes to everyone else. Cloud execution via the Unipile API means this runs whether your laptop is open or not.

For the messages that fire after a connection lands, see First message after LinkedIn connection templates for more options beyond what's here.


A Note on Personalisation at Scale

The merge-tag approach above is the floor, not the ceiling. The templates work as written, but the ones that get replies in our testing are the ones where {recent_trigger} is something genuinely specific, not just company name and role title swapped in.

The practical way to do this without spending 20 minutes per prospect: batch your research. Group prospects by trigger type (recent funding, recent hire, recent content post) and write one version of Template 3 for each trigger category. Now you have six variations instead of one, and each one reads specific to that group. Ampliflow's A/B testing lets you run those variations against each other and see which trigger angle gets the most replies.

For agency pitches specifically, the trigger that consistently outperforms in our own sequences is the recent hire. A new Head of Marketing or VP of Growth is almost always evaluating vendors in their first 90 days. Time your outreach to that window and the message lands when they're actively looking, not when they're heads-down.

If you're building sequences for SDR teams rather than founder-led outreach, the framing shifts slightly toward qualification. Connection request templates for SDRs that get replies covers that angle in more detail.

Frequently asked questions

Connection-request notes are capped at 300 characters, so keep those to two sentences max. First messages after connecting can be longer, but under 150 words is almost always better; anything that requires scrolling to read usually doesn't get read.
Wait. Leading with a pitch in the connection-request note drops acceptance rates noticeably in our experience. Send a plain or lightly contextual note to connect, then deliver the pitch in your first message once they accept.
At minimum: {first_name}, {company}, and one observation variable like {recent_trigger} or {role_context}. Tools like Ampliflow let you pass these through a visual workflow so each message personalises automatically at send time.
Wait at least four days, reference something new rather than just bumping the thread, and limit yourself to two follow-ups total. Anything beyond that rarely recovers a dead thread and risks getting flagged as spam.