Turn fresh job posts that imply a tooling gap into ranked accounts, the internal budget owner, and a cross-platform talking point.
https://apidirect.io/mcp?token=YOUR_API_KEY
Use the hiring-signal-account-builder skill: Find companies that posted a {trigger_role} job in the last week, then find the {budget_owner_title} at each one.
hiring-signal-account-builder) 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
hiring-signal-account-builder, and any agent can call
get_skill(skill_id="hiring-signal-account-builder") directly.
A company hiring for a role often signals a need your product fills. This finds those fresh roles, enriches and ranks each company by ICP fit, then surfaces the function head who owns the budget. Optionally it corroborates the signal with recent company news and the buyer's latest X posts for a sharper, warmer opener.
Who it's for: B2B sales and demand-gen teams that sell into a specific function.
| Input | Required | Description | Example |
|---|---|---|---|
trigger_role |
Yes | A role whose hiring implies need for your product. | Revenue Operations Manager |
budget_owner_title |
Yes | The title of the person who'd own the purchase. | VP Sales |
location |
No | Geo to scope to (resolve a location_id from the Job Location IDs doc). | United States |
posted_ago |
No | How fresh the job posts must be — maps to the job search recency window. One of 1h, 24h, 7d, 30d. Defaults to 7d. | 7d |
platforms |
No | Comma-separated list of platforms to run — options: linkedin, news, twitter. Omit to run all of them; name specific platforms to limit the run. | news, twitter |
search_linkedin_jobs(query="{trigger_role}", posted_ago=7d, location_id=<location_id>, sort_by=most_recent)
Get companies that posted this role within the chosen {posted_ago} window (default 7d). Collect each jobs[].company_id, company_url and company_name.
linkedin_company_details(url=<company_url>)
Enrich each account — size, industry, specialities — and rank by ICP fit.
search_linkedin(author_company=<company_id>, author_title="{budget_owner_title}", sort_by=most_recent)
Find the budget owner at each account via their own posts, giving you a warm, current talking point. Collect their name as <budget_owner_name>.
search_news(query="<company_name>", time_published=7d, limit=5)
Only run if {platforms} includes news: pull recent news on the account (funding, expansion, product launch) to corroborate the hiring signal, sharpen ICP ranking, and add a timely outreach hook.
search_twitter(query="<budget_owner_name>", sort_by=most_recent)
Only run if {platforms} includes twitter: pull the budget owner's recent X posts for an additional, often more candid, talking point when their LinkedIn is quiet. Note: this is a name keyword search, so disambiguate against the company/role before using a post as a hook.
This is exactly what the MCP returns to your agent (via the hiring-signal-account-builder prompt or get_skill tool), with your inputs filled in.
SKILL: Hiring-Signal Account Builder
A company hiring for a role often signals a need your product fills. This finds those fresh roles, enriches and ranks each company by ICP fit, then surfaces the function head who owns the budget. Optionally it corroborates the signal with recent company news and the buyer's latest X posts for a sharper, warmer opener.
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:
- trigger_role (required): <trigger_role — ASK THE USER>
A role whose hiring implies need for your product.
- budget_owner_title (required): <budget_owner_title — ASK THE USER>
The title of the person who'd own the purchase.
- location (optional): (optional — e.g. United States)
Geo to scope to (resolve a location_id from the Job Location IDs doc).
- posted_ago (optional): 7d (default — override if you like)
How fresh the job posts must be — maps to the job search recency window. One of 1h, 24h, 7d, 30d. Defaults to 7d.
- platforms (optional): (optional — e.g. news, twitter)
Comma-separated list of platforms to run — options: linkedin, news, twitter. Omit to run all of them; name specific platforms to limit the run.
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_linkedin_jobs` — search_linkedin_jobs(query="{trigger_role}", posted_ago=7d, location_id=<location_id>, sort_by=most_recent)
Get companies that posted this role within the chosen 7d window (default 7d). Collect each jobs[].company_id, company_url and company_name.
2. Tool `linkedin_company_details` — linkedin_company_details(url=<company_url>)
Enrich each account — size, industry, specialities — and rank by ICP fit.
3. Tool `search_linkedin` — search_linkedin(author_company=<company_id>, author_title="{budget_owner_title}", sort_by=most_recent)
Find the budget owner at each account via their own posts, giving you a warm, current talking point. Collect their name as <budget_owner_name>.
4. Tool `search_news` — search_news(query="<company_name>", time_published=7d, limit=5)
Only run if {platforms} includes news: pull recent news on the account (funding, expansion, product launch) to corroborate the hiring signal, sharpen ICP ranking, and add a timely outreach hook.
5. Tool `search_twitter` — search_twitter(query="<budget_owner_name>", sort_by=most_recent)
Only run if {platforms} includes twitter: pull the budget owner's recent X posts for an additional, often more candid, talking point when their LinkedIn is quiet. Note: this is a name keyword search, so disambiguate against the company/role before using a post as a hook.
DELIVER: A ranked list of accounts (with fit notes) each paired with a named budget owner and a recent post to reference — optionally enriched with corroborating company news and the buyer's latest X activity.
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.
Intercept people publicly complaining about a competitor — on LinkedIn, X and Reddit — the moment they post.
Catch companies the week they raise — when budgets are fresh and buyers are saying yes
Find the people actively shopping away from a rival across Reddit, X, forums and LinkedIn, and intercept them mid-defection