Agentic Outbound: Warm Leads to Instantly
Outcome: one prompt that finds people already engaging with your topic, qualifies them before spending a credit, enriches and verifies their work emails, and drops the survivors into an Instantly campaign with a personalization line attached.
- Surface
- MCP server
- Level
- Intermediate
- Uses
- linkedin_post_commenters, linkedin_post_engagers, search_linkedin_job_openings, find_work_email, verify_email — plus the Instantly MCP server
- Credits
- ~35–45 for 25 sequenced contacts
- Prerequisite
- Lesson 04, an Instantly account with a warmed campaign
Why warm, not cold
Cold outbound spends the same credits on everyone. Warm outbound starts from people who have already done something — commented on a post about your problem space, reacted to a competitor’s launch, or posted a job that only exists because the problem you solve got expensive.
Three sources, all cheap, all better than a title filter alone:
| Source | Tool | What the signal means |
|---|---|---|
| Engagement on a relevant post | linkedin_post_commenters, linkedin_post_engagers | They are in the conversation already |
| A company hiring into the pain | search_linkedin_job_openings, company_job_listings | Budget is unlocked and someone owns the problem |
| ICP search, as a top-up | find_people | No signal — use it to fill the list, not to lead it |
Commenters outrank reactors. A sentence is a stronger signal than a like, and the list is short enough to read.
The chain
Five steps, one message, in this order. The order is the whole lesson — every paid step sits below a free one.
| # | Step | Tool | Cost |
|---|---|---|---|
| 1 | Pull engagement on 3–5 relevant posts | linkedin_post_commenters + linkedin_post_engagers | 0.3 per page |
| 2 | Merge, dedupe, qualify by title and company size | none — the model | Free |
| 3 | Find work emails for survivors only | find_work_email | 1 each |
| 4 | Verify deliverability | verify_email | 0.3 each |
| 5 | Push to an Instantly campaign with a personalization field | Instantly MCP | Free |
For 5 posts, ~150 engagers, cut to 25 in-ICP survivors: about 3 credits of sourcing plus 32.5 of enrichment. Roughly 36 credits for 25 verified, sequenced contacts.
Before you start
Connect both servers
Sync GTM (setup) and Instantly. Two servers in one client is normal — your AI picks the right tool per step as long as you name it.
Pick the posts
Find 3–5 LinkedIn posts from the last 30 days about the problem you solve. Competitor launches, a practitioner’s rant, an industry thread. Use linkedin_profile_posts or linkedin_page_posts to get URLs if you only have the author.
A post about the problem beats a post about a brand. Brand posts return employees and job seekers.
Prepare the campaign in Instantly
Create the campaign, warm the sending accounts, and write the sequence with a personalization variable in the first email — something like {{signal}}. The chain fills that field per lead. A campaign with no variable gets you a fast, generic blast.
Check your balance
How many SyncGTM credits do I have left?Free, and it gives you a before-number for the after-comparison.
Run it
Paste this as one message, with your own filters:
Use the Sync GTM MCP server.
SOURCE
Get commenters and reactors on these LinkedIn posts, pages 1-2 each:
<post_url_1>
<post_url_2>
<post_url_3>
Merge into one list, deduped by profile URL. Mark whether each person
commented or only reacted.
QUALIFY — spend nothing on this step
Keep only: Head of Sales, VP Sales, CRO, RevOps, Sales Ops titles.
Company headcount 51-500. Exclude anyone at <your company> and anyone
already in this list: <paste existing customers/prospects>.
Rank commenters above reactors. Report how many rows survived.
ENRICH — top 25 only
Find work emails for the top 25. Do not guess email patterns — skip
anyone with no result. Then verify each email and drop undeliverable ones.
OUTPUT
Return a table: name, title, company, LinkedIn URL, email, status,
signal (which post, commented or reacted).
Report credits used.Read the table before the next step. This is the last checkpoint where a bad list costs nothing to throw away.
Then, in a second message:
Use the Instantly MCP server. Add these leads to campaign <campaign_id>
in bulk. Map: email, first_name, last_name, company_name, and set the
custom field "signal" to the signal column from the table above.
Do not activate the campaign yet — show me the leads that were added.Activate once you have spot-checked five rows in Instantly:
Activate campaign <campaign_id>.Keep sourcing and sequencing in two separate messages. A single message that both enriches and sends means the first thing you see is a campaign that already went out. Two messages give you a review step that costs nothing.
The personalization line
A verified email in a sequence is table stakes. The reason this chain beats a list buy is the signal field: every lead carries the specific thing they did.
For each lead, write a one-sentence opening that references the post they
engaged with and what they said. No compliments, no "I saw you liked".
Under 20 words. If their comment was generic, return NONE instead of
inventing an angle.The NONE instruction matters. Without it a model writes a confident sentence about a person who typed “great post” — and that sentence is worse than no personalization at all. Lesson 16 covers this pattern in general.
Check your work
| Check | How |
|---|---|
| The list is warm | Every row has a signal — post plus comment or reaction |
| Filtering ran before spending | Credits used ≈ 1.3 × survivors, not 1.3 × total engagers |
| No fabricated emails | Every address came back from a lookup, and rows with no result were dropped |
| Deliverability is real | Verification status present on every sequenced row |
| Instantly got the field | Open a lead in Instantly and confirm the custom field is populated |
Where this breaks
Ten pages is the ceiling on engagement tools, and a viral post has far more reactors than that. You are getting a sample, not the audience. Take the commenters first — they are ranked, finite, and a stronger signal.
Empty email results are normal for profiles with no company set and in regions with thin provider coverage. Budget for roughly a 60–80% hit rate and never let the model fall back to guessing a pattern — a fabricated address looks exactly like a real one until your sender reputation pays for it.
Sequencing is the one irreversible step in this course. Everything before it can be re-run for a few credits; a campaign that has sent cannot be un-sent. Activate manually, on a list you have read.
Running it weekly
This chain has two natural cadences.
- New posts, same filters — swap the post URLs each Monday and re-run the same prompt. Two minutes.
- Same posts, deeper pages — only worth it if page 1 converted.
If you are running it every week, move it into a table instead: Automated Outbound builds the scheduled version, and Instantly is a native integration there — no second MCP server and no API key, because it runs on Sync GTM credits.
Further automation
The whole chain exists as an installable skill, already scoped with the caps and the no-guessing rule:
- LinkedIn Job Lead Sequencer — the hiring-signal version of this lesson, straight through to Instantly
- Warm Leads From Posts — sourcing and qualification only, when you want to review before sequencing
- Personalization Engine — the opening-line step on a list you already have
Next lesson
18 — AI account researcher, which points the same chain at your calendar instead of a post: every demo on it, researched and briefed before you join the call.
Reference for this lesson: Prompting guide, Tools, Instantly integration, Automated Outbound.