---
title: "Open cold outreach with a free channel audit | FirstSales"
description: "A playbook for agencies that turns a specific channel audit, like a paid social or landing page teardown, into a reply-generating cold email opener."
canonical: "https://firstsales.io/tutorial/playbook-agency-audit-opener/"
---

[Home](/)/ [Tutorials](/tutorial/)

# Open cold outreach with a free channel audit

A playbook for agencies that turns a specific channel audit, like a paid social or landing page teardown, into a reply-generating cold email opener.

Tutorials

Playbooks

min read

18 min

steps

8 · Beginner

8 steps

[01Pick the channel audit that fits your ICP](#step-1)[02Source leads with AI Leads and describe the channel signal](#step-2)[03Let research find the specific gap before you write](#step-3)[04Set the campaign goal and describe the audit offer](#step-4)[05Teach the AI to offer the audit specifically, not generically](#step-5)[06Build a two-touch sequence with a deadline](#step-6)[07Handle yes replies and no-shows](#step-7)[08Track metrics and iterate on the channel choice](#step-8)

[All tutorials](/tutorial/)

1. ## 01 Pick the channel audit that fits your ICP  
Choose one channel your agency is strongest at, and use it as the audit artifact: a paid social account teardown, an SEO gap check on their top pages, an email deliverability read, or a landing page review. This is the agency version of a teardown, a specific channel a prospect is already running, not a generic "marketing audit."  
Pick an ICP that plausibly runs that channel already. If you're auditing paid social accounts, target companies with visible ad activity: mid-market ecommerce, B2B SaaS running demand gen, or local service businesses running lead ads. Titles: Marketing Manager, Growth Marketer, Founder at smaller companies, VP Marketing at larger ones.  
Write out what the audit will and won't cover before you launch anything. A tightly scoped audit, say three specific findings on one channel, is both easier to deliver at volume and more credible to the person reading the offer than a promise to review "everything."  
If your agency covers more than one channel well, pick just one to lead with per campaign rather than offering a choice. A single, specific audit type is easier to describe convincingly in one email than a menu of options, and you can always run a second campaign for a second channel once the first is working.
2. ## 02 Source leads with AI Leads and describe the channel signal  
In AI Leads, describe the company profile and, where you can, describe the channel behavior you're looking for, for example companies actively running paid ads or publishing blog content regularly. AI Leads finds and enriches matches and the quality funnel screens out weak fits before they cost credits.  
If you already track which prospects run the channel you're auditing, for example from an ad library search, import that list as a CSV and skip straight to the campaign.  
Batch your list by channel activity rather than mixing everyone together. A campaign built for paid social teardown replies works differently from one built for SEO, and mixing the two waters down both the offer and the personalization research can do.  
![Source leads with AI Leads and describe the channel signal](/tutorials/app/contacts.webp)
3. ## 03 Let research find the specific gap before you write  
Contact research runs automatically before drafting and the transparency view shows what it found per contact: company facts, role, and signals, plus what made it into the email. For an audit opener, this is what lets each email reference something real about that company's channel instead of a generic offer.  
Spot-check a handful of research results before turning the campaign on. If the research consistently finds enough detail to reference in the opener, the campaign is ready. If it's coming back thin for a meaningful share of contacts, narrow the ICP description in AI Leads so the matches are more likely to have a visible, checkable channel presence.  
![Let research find the specific gap before you write](/tutorials/app/new.webp)
4. ## 04 Set the campaign goal and describe the audit offer  
Set the campaign goal to get a reply, since the audit offer itself is the conversion event, not the meeting. Campaign guidance takes you through Describe, Teach, and Practice.  
In Describe, spell out exactly what the audit covers and what it doesn't. "A short teardown of your top three landing pages, with two things to fix" sets a clear, deliverable scope. Vague offers like "a free marketing review" read as a sales tactic and get fewer replies.  
Practice a few drafts before launch and check that the scope you wrote in Describe is actually showing up in the generated emails, word for word close enough that a prospect reading it knows exactly what they'd get by replying.  
Decide before launch whether the audit is genuinely free with no strings, or free with the expectation of a follow-up call either way. Being upfront about which one it is, even implicitly through tone, keeps the reply thread from feeling like a bait and switch once the audit lands.  
![Set the campaign goal and describe the audit offer](/tutorials/app/kb.webp)
5. ## 05 Teach the AI to offer the audit specifically, not generically  
Paste sample emails that name the exact audit and reference something concrete about the prospect's channel. Avoid superlatives about your own work; let the specificity of the offer do the persuading.  
> Subject: quick look at your ad creative  
> Hi Marcus,  
> Noticed Fenwick has been running the same three ad creatives on Meta for a couple months now. That usually means fatigue is setting in even if the numbers still look okay.  
> Happy to send over a short teardown, three things I'd test first, no call needed. Just reply and I'll put it together this week.  
> Ana  
Notice the close removes friction entirely: no call, just a reply. That lowers the bar for a first response, and it also sets an honest expectation about what happens next, which matters once the audit actually lands in their inbox.
6. ## 06 Build a two-touch sequence with a deadline  
Sequences follow up on a delay and stop automatically the moment someone replies. For an audit opener, two touches usually cover it: the offer, then a short reminder three to four days later that references the original offer without repeating it word for word.  
A third touch rarely helps here. If someone hasn't taken you up on a free audit after two emails, a longer sequence tends to read as pushy rather than persistent, and it's worth letting that contact rest rather than adding a third reminder.  
If your delivery capacity is limited, put a soft deadline in the reminder, for example noting you're doing a batch of these this week. A deadline gives someone who was mildly interested a reason to reply now instead of putting it off indefinitely.  
![Build a two-touch sequence with a deadline](/tutorials/app/c-steps.webp)
7. ## 07 Handle yes replies and no-shows  
AI reply handling reads what the person actually wrote and responds to it, so a simple "sure, send it over" gets a fitting reply rather than a form response. Have your process ready before the campaign starts: who actually builds the audit, and how fast you can turn it around, since the email already sets an expectation.  
For contacts who agree but go quiet after you send the audit, a single light follow-up referencing one specific finding from it tends to work better than a generic check-in. That follow-up is also a natural moment to ask if the timing makes sense for a short call.  
Some replies will ask a clarifying question before agreeing, for example whether the audit requires them to share account access. Answer that plainly and briefly rather than treating it as an objection to overcome; most of these are genuine logistics questions from a person who is otherwise interested.
8. ## 08 Track metrics and iterate on the channel choice  
Agency outreach to other marketing teams is a saturated market: expect roughly 1 to 3 percent reply rates and 0.3 to 1 percent meeting rates from the audit offer through to a booked call. Watch per-step performance in analytics to see whether the offer email or the reminder is doing more of the work.  
If one channel audit consistently underperforms another, for example paid social audits outreplying SEO audits, shift volume toward the stronger one rather than splitting evenly. Revisit the ICP description in AI Leads every few weeks as you learn which segment responds best to which audit type.  
Also track how many audit replies actually convert to a booked call once you deliver the teardown. If the reply rate looks healthy but calls don't follow, the gap is usually in the audit itself, not the outreach, and worth reviewing before you scale the campaign further.  
![Track metrics and iterate on the channel choice](/tutorials/app/c-analytics.webp)

## Pro tips

* 01  
### Promise a scope, not a superlative  
State exactly what the audit covers instead of describing how good your work is. A defined scope is more persuasive than a claim about quality.
* 02  
### Reference something specific you noticed  
One real, checkable detail about the prospect's channel, referenced in the opener, does more than any line about your agency's track record.
* 03  
### Build a lightweight template for the audit itself  
Since replies convert into a real deliverable, having a reusable audit format ready before you launch keeps turnaround fast without making the audit feel templated to the recipient. Send it while interest is fresh, ideally within a day or two of the yes, since that attention fades quickly.

## Frequently asked questions

What if a lot of people say yes and I can't build every audit by hand?

Start with a smaller, tighter list so volume matches your delivery capacity, and use a repeatable internal template so each audit takes less time without looking copy-pasted to the recipient.

Which channel audit tends to convert best?

It depends on your ICP's channel activity. Paid social and landing page audits tend to work well for companies with visible ad spend; SEO and content audits work better for companies publishing regularly.

Should I ever automate the audit content itself?

Keep the audit human-reviewed even if you use tools to speed up the research. A generic or clearly automated teardown undercuts the trust the offer is meant to build.

How long should I say the audit takes to deliver?

Whatever you commit to in the email, make sure you can actually hit it. A short, specific timeframe you keep beats a vague promise you're slow to deliver on.

## Playbooks

* [└ Pitch retainer contracts to in-house marketing teams 20 min ](/tutorial/playbook-agency-retainer-pitch/)
* [└ Build white-label partnerships with other agencies 22 min ](/tutorial/playbook-agency-whitelabel-partnerships/)
* [└ Win back churned clients after a results dip or team change 19 min ](/tutorial/playbook-agency-churned-client-winback/)
* [└ Selling your app or tool to DTC brands: a cold email playbook 18 min ](/tutorial/playbook-ecommerce-appvendor-to-brands/)

## Outreach that keeps going after you log off. Leads, emails, follow-ups and replies, handled. 

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

[Start your $1 trial T](https://app.firstsales.io)[See pricing](/pricing/)

$1 for 3 days · Cancel anytime · No contract

## Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.

[Developer docs ↗](https://developer.firstsales.io)[npm: @firstsales.io/cli ↗](https://www.npmjs.com/package/@firstsales.io/cli)[GitHub: firstsales-skills ↗](https://github.com/firstsalesio/firstsales-skills)