Skip to Content
CoursesMCP courseEngagement and social

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

ToolCostRequired inputReturns
x_profile_reactions0.2profile_urlPosts with reaction totals
linkedin_post_commenters0.3post_urlPeople who commented
linkedin_post_engagers0.3post_urlPeople who reacted
tiktok_comments_from_post0.3post_urlComments and commenter profiles
tiktok_search_query0.3queryVideos from a search
tiktok_profile_video0.3username or profile_urlRecent videos
x_post_commenters0.4post_urlAccounts that commented
x_profile_posts0.4profile_url or usernameRecent posts
instagram_profile_posts0.5username or profile_urlRecent 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_results on 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_number deliberately. 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_reactions and tiktok_search_query cost 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.

Browse all GTM agents →


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