Module 05 · Engagement and social sourcing
Outcome: a warm list built from people who engaged with something relevant, for well under a credit per source call.
- Surface
- MCP server
- Level
- Beginner
- Uses
linkedin_post_commenterslinkedin_post_engagersx_post_commentersx_profile_postsx_profile_reactionstiktok_comments_from_posttiktok_profile_videotiktok_search_queryinstagram_profile_posts- Credits
- ~3 to run every example once
- Prerequisite
- A post URL on any of the four networks
Tools in this module
| Tool | Cost | Required input | Returns |
|---|---|---|---|
x_profile_reactions | 0.2 | profile_url | Posts with reaction totals |
linkedin_post_commenters | 0.3 | post_url | People who commented |
linkedin_post_engagers | 0.3 | post_url | People who reacted |
tiktok_comments_from_post | 0.3 | post_url | Comments and commenter profiles |
tiktok_search_query | 0.3 | query | Videos from a search |
tiktok_profile_video | 0.3 | username or profile_url | Recent videos |
x_post_commenters | 0.4 | post_url | Accounts that commented |
x_profile_posts | 0.4 | profile_url or username | Recent posts |
instagram_profile_posts | 0.5 | username or profile_url | Recent posts |
Every tool here is 0.5 credits or less — the whole module runs for about 3. The spend comes afterwards, when you enrich the people you found, so the free filtering step between the two is where the money is saved.
Example prompts
linkedin_post_commenters — the warmest signal
sort_order accepts Most relevant (default) or Most recent. page_number is 1–10.
Use linkedin_post_commenters with:
- post_url "https://linkedin.com/posts/example-post-id"
- sort_order "Most recent"
- page_number 1
Return name, headline, company and profile URL.
Then keep only VP, Head of or Director titles at companies over 50 people.
Do not enrich anyone yet.linkedin_post_engagers — the wider net
Use linkedin_post_engagers with post_url
"https://linkedin.com/posts/example-post-id", page_number 1.
Return name, headline and profile URL.
Tell me how many of these also appear in the commenters list.Commenters wrote something; reactors clicked. Run commenters first and treat reactors as the second tier. Both are 0.3 credits, so pulling both and merging costs 0.6.
x_post_commenters — the X equivalent
Use x_post_commenters with post_url
"https://x.com/example/status/123456789", max_results 200.
Return handle, display name, bio and profile URL.
Keep only bios mentioning founder, revenue, sales or growth.max_results goes to 1000 here — cap it.
x_profile_posts — what an account publishes
Use x_profile_posts with username "examplehandle", max_posts 30.
Return date, text and engagement for each.
Tell me the three topics they post about most.Pass either username (no @) or profile_url.
x_profile_reactions — what lands
Date and sort filters make this one useful for finding the post worth mining.
Use x_profile_reactions with:
- profile_url "https://x.com/examplehandle"
- search_terms ["outbound","enrichment"]
- include_search_terms true
- start_date "2026-01-01"
- end_date "2026-06-30"
- sort "Top"
- max_posts 25
Return post URL, text and reaction counts, sorted by engagement.Then feed the top post URL into x_post_commenters.
tiktok_search_query — find the post first
Use tiktok_search_query with query "b2b sales automation",
max_results 25.
Return video URL, caption, author handle and view count.
Rank by views.tiktok_comments_from_post — mine it
Use tiktok_comments_from_post with post_url
"https://tiktok.com/@example/video/123456789", max_results 100.
Return commenter handle, profile URL and comment text.tiktok_profile_video — one creator’s output
Use tiktok_profile_video with username "examplehandle", max_posts 20.
Return video URL, caption, date and engagement.instagram_profile_posts — the Instagram read
Use instagram_profile_posts with username "examplehandle", max_posts 20.
Return post URL, caption, date and engagement.
Flag any post announcing a launch, a hire or a partnership.The warm-list chain
Pick the post
A competitor’s post, an industry poll, a conference recap. On X or TikTok, find it with x_profile_reactions or tiktok_search_query first.
Pull both engagement tiers
linkedin_post_commenters then linkedin_post_engagers. 0.6 credits total. Merge and dedupe.
Filter for free
Titles, seniority, company size — in the conversation, before any spend.
Enrich the survivors only
find_work_email then verify_email from module 03.
Post: https://linkedin.com/posts/example-post-id
1. linkedin_post_commenters, sort_order "Most recent", page_number 1
2. linkedin_post_engagers, page_number 1
3. Merge, dedupe by profile URL.
4. Keep only Head of Sales, VP Sales, CRO and RevOps titles at companies
with 51-500 employees. Drop everyone else before spending anything.
5. For the first 25 survivors: find_work_email, then verify_email.
Skip anyone with no email result — do not guess a pattern.
Return a table: name, title, company, linkedin_url, email, status.
Report credits used.Around 0.6 credits to source, nothing to filter, about 1.3 per survivor. Roughly 33 credits for 25 verified warm contacts.
Workflow prompts
Engagement is the cheapest lead source on the server. These are the shapes that get it into a system that will act on it.
Competitor post to a live Instantly campaign
- pull everyone who engaged with a competitor’s post
- filter to your persona for free
- enrich and verify the survivors
- load them into the sequencer with the comment as the hook
Post: <competitor post URL>
1. linkedin_post_commenters, sort_order "Most recent", then
linkedin_post_engagers. Merge and dedupe by profile URL.
2. Keep only Head of Sales, VP Sales, CRO and RevOps titles at companies
with 51-500 employees. Tell me how many were cut.
3. First 25 survivors: find_work_email, then verify_email. Skip anyone with
no result — do not guess a pattern.
4. Show me the table with each person's comment text. Wait for my go.
5. On my go-ahead, add the verified ones to the Instantly campaign
"Competitor engagers", with their comment in a custom field so the
first line can reference it.Weekly digest of who is engaging with your own content
- pull engagement on your last week of posts
- drop anyone already in the CRM
- post the new names to Slack
1. linkedin_profile_posts for my profile <URL>, max_posts 5.
2. For each post from the last 7 days: linkedin_post_commenters.
3. Merge, dedupe, then drop anyone who already exists in HubSpot.
4. Post the remaining names to #marketing as a list:
name, title, company, which post they engaged with, profile URL.
5. If there are none, post "No new engagers this week" rather than nothing.Find the post worth mining on X, then mine it
- find which of an account’s posts actually landed
- pull the commenters on the best one
- qualify on the bio
1. x_profile_reactions with profile_url "<competitor X profile>",
search_terms ["outbound","enrichment"], include_search_terms true,
start_date "2026-05-01", sort "Top", max_posts 25.
2. Pick the single post with the highest engagement and show it to me.
3. x_post_commenters on that post, max_results 200.
4. Keep only accounts whose bio mentions founder, revenue, sales or growth.
5. Return handle, bio and profile URL as a CSV. Do not enrich anyone.Best prompting practices
- Cap
max_resultson every social tool. X commenters defaults to 100 and goes to 1000. - Say “do not enrich anyone yet” on the sourcing call. Otherwise the client chains straight into paid tools.
- Dedupe before enriching. The same person often appears as both commenter and reactor. You would pay twice.
- Use
page_numberdeliberately. LinkedIn engagement pages 1–10; each page is another 0.3 credits. - Filter on the bio, not the follower count. On X the bio is the qualifier.
- Find the post before you mine it.
x_profile_reactionsandtiktok_search_querycost 0.2–0.3 and stop you mining a post nobody engaged with.
Where this breaks
Engagement lists are noisy — recruiters, students and the poster’s own colleagues. The filter step is not optional; without it you pay 1.3 credits each to enrich people who will never buy.
A post URL must be the post itself, not the feed or the author’s profile. If a call returns nothing, check the URL before re-running it.
Further automation
MCP Engagement Leads is this module as a skill file — /mcp-engagement-leads covers all four networks, dedupes across tiers and filters before it spends.
Warm Leads From Posts and LinkedIn Competitor Lead Fetcher are the LinkedIn-only versions, scoped tighter.
Next module
06 — Research a company, opening the account-research cluster: ten tools that turn a domain into a brief.
Reference: Post Commenters · Post Engagers · X Post Commenters · X Profile Posts · X Profile Reactions · TikTok Comments · TikTok Profile · TikTok Search · Instagram Posts · Signals & ABM