Go from a map pin to the decision-maker, then open with a genuine hook pulled from their latest LinkedIn post, Google review, press mention, or Instagram
https://apidirect.io/mcp?token=YOUR_API_KEY
Use the owner-decision-maker-outreach-chain skill: For every {business_type} in {city}, find the owner's LinkedIn and draft a personalized opener from their recent posts
owner-decision-maker-outreach-chain) makes your agent run this exact playbook instead of improvising its own searches.
In clients that support MCP prompts (Claude Desktop, Claude Code, Cursor) it also appears as a prompt named
owner-decision-maker-outreach-chain, and any agent can call
get_skill(skill_id="owner-decision-maker-outreach-chain") directly.
Google Maps increasingly exposes the owner's name and LinkedIn. Chaining a map pin to the owner's identity, then pulling a hook from whichever channel they are actually active on (LinkedIn posts, the freshest Google reviews, recent press, or Instagram), lets you skip the gatekeeper and open with something genuinely personal instead of a generic blast. You choose which sources to run.
Who it's for: Founders and AEs running high-touch 1:1 local outbound
| Input | Required | Description | Example |
|---|---|---|---|
business_type |
Yes | Type of local business to target | boutique fitness studio |
city |
Yes | City and region to search | Denver, Colorado |
platforms |
No | Comma-separated list of platforms to run — options: places, linkedin, news, instagram. Omit to run all of them; name specific platforms to limit the run. | linkedin, places, news, instagram |
country |
No | Two-letter region code to scope Maps results, reviews, and press to the right market. | us |
news_recency |
No | How fresh press mentions must be; maps to the news time window (1h, 1d, 7d, 1y, anytime). | 7d |
max_pages |
No | How many pages of map results to pull when seeding the outreach list (result depth). Defaults to 10. | 10 |
search_places(query="{business_type} {city}", pages=10)
Base step, always runs. Gather OPERATIONAL pins with place_id and website to seed the outreach list. country and max_pages are optional tuners (default pages=10).
place_details(place_id=<place_id>)
Base step, always runs. Extract business_name, owner_name, owner_link, and emails_and_contacts.linkedin, keeping only pins where an owner name or LinkedIn URL is exposed. These derived values feed every hook source below.
linkedin_person_posts(url=<owner_linkedin_url>, page=1, get_sentiment=true)
Only run if {platforms} includes linkedin (the default): read the owner's most recent posts to find a genuine hook (a milestone, an opinion, a frustration) and draft a one-line personalized opener.
place_reviews(place_id=<place_id>, sort_by="newest", get_sentiment=true)
Only run if {platforms} includes places: pull the freshest customer reviews so you can open with a specific, genuine reference (e.g. a recently praised class or a complaint to acknowledge) even when the owner has no LinkedIn presence. Near-universal coverage for local businesses.
search_news(query="<owner_name> <business_name>", time_published=7d)
Only run if {platforms} includes news: surface recent press about the owner or business (an award, expansion, feature) as a congratulatory opener. news_recency defaults to a recent window so stale stories are filtered out.
search_instagram(query="<business_name>", get_sentiment=true, pages=2)
Only run if {platforms} includes instagram: read the studio's most recent Instagram content for a timely, on-brand hook. Strongest source for consumer-local owners (fitness, salons, restaurants) who live on IG rather than LinkedIn.
This is exactly what the MCP returns to your agent (via the owner-decision-maker-outreach-chain prompt or get_skill tool), with your inputs filled in.
SKILL: Owner Decision-Maker Outreach Chain
Google Maps increasingly exposes the owner's name and LinkedIn. Chaining a map pin to the owner's identity, then pulling a hook from whichever channel they are actually active on (LinkedIn posts, the freshest Google reviews, recent press, or Instagram), lets you skip the gatekeeper and open with something genuinely personal instead of a generic blast. You choose which sources to run.
You are running this skill on API Direct via its MCP tools. Execute the steps below yourself by calling the named tools in order — values in <angle brackets> come from a previous step. Then deliver the result described at the end.
INPUTS:
- business_type (required): <business_type — ASK THE USER>
Type of local business to target
- city (required): <city — ASK THE USER>
City and region to search
- platforms (optional): (optional — e.g. linkedin, places, news, instagram)
Comma-separated list of platforms to run — options: places, linkedin, news, instagram. Omit to run all of them; name specific platforms to limit the run.
- country (optional): (optional — e.g. us)
Two-letter region code to scope Maps results, reviews, and press to the right market.
- news_recency (optional): 7d (default — override if you like)
How fresh press mentions must be; maps to the news time window (1h, 1d, 7d, 1y, anytime).
- max_pages (optional): 10 (default — override if you like)
How many pages of map results to pull when seeding the outreach list (result depth). Defaults to 10.
PLATFORM SELECTION: some steps are gated with "Only run if {platforms} includes X". If the user supplied a `platforms` value, run only the steps whose platform is listed. If the user did NOT supply `platforms`, run ALL steps — every platform the skill supports.
STEPS:
1. Tool `search_places` — search_places(query="{business_type} {city}", pages=10)
Base step, always runs. Gather OPERATIONAL pins with place_id and website to seed the outreach list. country and max_pages are optional tuners (default pages=10).
2. Tool `place_details` — place_details(place_id=<place_id>)
Base step, always runs. Extract business_name, owner_name, owner_link, and emails_and_contacts.linkedin, keeping only pins where an owner name or LinkedIn URL is exposed. These derived values feed every hook source below.
3. Tool `linkedin_person_posts` — linkedin_person_posts(url=<owner_linkedin_url>, page=1, get_sentiment=true)
Only run if {platforms} includes linkedin (the default): read the owner's most recent posts to find a genuine hook (a milestone, an opinion, a frustration) and draft a one-line personalized opener.
4. Tool `place_reviews` — place_reviews(place_id=<place_id>, sort_by="newest", get_sentiment=true)
Only run if {platforms} includes places: pull the freshest customer reviews so you can open with a specific, genuine reference (e.g. a recently praised class or a complaint to acknowledge) even when the owner has no LinkedIn presence. Near-universal coverage for local businesses.
5. Tool `search_news` — search_news(query="<owner_name> <business_name>", time_published=7d)
Only run if {platforms} includes news: surface recent press about the owner or business (an award, expansion, feature) as a congratulatory opener. news_recency defaults to a recent window so stale stories are filtered out.
6. Tool `search_instagram` — search_instagram(query="<business_name>", get_sentiment=true, pages=2)
Only run if {platforms} includes instagram: read the studio's most recent Instagram content for a timely, on-brand hook. Strongest source for consumer-local owners (fitness, salons, restaurants) who live on IG rather than LinkedIn.
DELIVER: A per-owner dossier pairing each {business_type}'s decision-maker with a tailored cold-opener line, sourced from whichever channels the user enabled, LinkedIn posts, the freshest Google reviews, recent press, or latest Instagram content.
Note: each underlying tool call is billed at its normal endpoint price; get_sentiment adds a small per-page surcharge. Page through results as needed but stop once you have enough to deliver the outcome.
Turn a niche and a city into a deduped, CRM-ready list of every local business — across Google Maps and Facebook — with phones, emails, and social handles
Find local businesses whose own 1-star reviews — on Google and (optionally) Facebook — name the exact pain your product fixes, then hand you the owner to pitch
Reveal which local businesses get recommended for 'best X in city' across Google's AI and the community threads it cites — and which strong, well-reviewed ones stay invisible