Conference speaker outreach: find an event's speakers and write notes about their talks
Exa + Firecrawl + Hunter
Who it's for
SDRs and marketers who want to reach the people speaking at an industry event with a note that refers to their actual talk, not a generic 'saw you're speaking'. Exa can be swapped for Tavily or Perplexity, Firecrawl for Apify, and Hunter for Findymail, Prospeo or Snov.io.
What you get
Speaker table, email lookups and one draft note. Sample output: every company and person in it is fictional.
Event: Northbank RevOps Summit 2026 (fictional), Nov 12–13 Speaker page: https://northbank-summit.example/2026/speakers (dated 2026 on the page) Scraped: 1 page, 18 speakers. Kept 4 that match 'RevOps or sales ops leaders at B2B software companies'. | Speaker | Title | Company | Talk | Email (Hunter) | |---|---|---|---|---| | Dana Okafor | VP Revenue Operations | Fernhill Software (fictional) | "Retiring the Friday forecast spreadsheet" | [email protected] (verified) | | Sam Whitlock | Head of Sales Ops | Quarry Lane Analytics (fictional) | "Territory planning with half the data" | Not found | | Priya Raman | Director, GTM Systems | Mossgate Labs (fictional) | "One CRM after three acquisitions" | [email protected] (accept-all, not confirmed) | | Alex Rivera | RevOps Lead | Larkspur Freightworks (fictional) | Title only, no description on the page | Not looked up. Skipped | Hunter usage this run: 3 Email Finder searches, 2 verifications. Draft note to Dana (text only, not sent): Subject: Your forecast spreadsheet talk at Northbank Hi Dana, Saw you're speaking on day two at Northbank about retiring the Friday forecast spreadsheet. The session description says Fernhill moved its weekly forecast out of a shared sheet in one quarter. I'd like to hear how you got managers to stop keeping their own copy. If you're open to it, I'd be glad to grab 15 minutes at the event. Jordan Source line from the page: "How Fernhill moved its weekly forecast out of a shared sheet in one quarter, and what broke along the way." Nothing has been sent, and no Hunter leads or sequences were created.
Time and cost
Estimate About 20–30 minutes per event, most of it reading the speaker table and the notes.
Assumptions: One event with about 20 speakers on a single speaker page, 4–6 kept as a fit, and one email lookup and verification per kept speaker.
- Exa: One web search to find the speaker page, plus one search per kept speaker to find their company's website domain. Read only. Some tools use credits. Keyless connections use free rate limits; agent_run is usage-based and needs OAuth or an API key. With OAuth or an API key, usage bills to your Exa team's plan (pay-as-you-go credits; Free Tier gets $10/month). Source: exa.ai, checked 2026-10-16
- Firecrawl: One scrape of the speaker page with JSON extraction (the scrape credit plus the JSON extraction add-on), and one map call only if each speaker has a separate page. Every call uses credits. Firecrawl is credit-based: Scrape 1 credit/page, Crawl 1 credit/page, Map 1 credit/call, Search 2 credits/10 results, Interact 2-7 credits/browser minute, plus option add-ons (e.g. JSON extraction +4/page). Alexandria runs cost the price listed on each tool; discovery is free. Keyless MCP is free but capped per IP per day by requests and credits. Source: docs.firecrawl.dev, checked 2026-10-16
- Hunter: One Email Finder search per kept speaker, then one Email Verifier call per email found, each after you approve the count. No leads saved and no sequences. Some tools use credits. A search uses 1 credit and a verification 0.5 (Free plan figures); Discover company search is free, and saving, updating and deleting leads is free. Other usage counts against the user's Hunter plan. Source: hunter.io, checked 2026-10-16
Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.
MCP servers
Every server is confirmed in: ClaudeChatGPTClaude CodeCursor
-
ClaudeChatGPTClaude CodeCursorRead onlySome tools use credits
https://mcp.exa.ai/mcp -
ClaudeChatGPTClaude CodeCursorRead + writeEvery call uses credits
https://mcp.firecrawl.dev/v2/mcp-oauth -
ClaudeChatGPTClaude CodeCursorCopilotRead + writeSome tools use credits
https://mcp.hunter.io/mcp
Set up in a chat app
Every server in this recipe is confirmed for Claude and ChatGPT. Connect each one, then paste the prompts below into one conversation.
- Connect Exa without code (Claude, ChatGPT)
- Connect Firecrawl without code (Claude, ChatGPT)
- Connect Hunter without code (Claude, ChatGPT)
Developer setup
Auth setup and mcp.json for Claude Code and Cursor
- Exa: Use OAuth sign-in for interactive use. For headless runs, use an API key in the
X-Api-Keyheader. - Firecrawl: Sign in with OAuth, or pass an API key as a Bearer token for headless use.
- Hunter: Use OAuth sign-in for interactive use. For headless runs, use an API key in the
X-Api-Keyheader.
Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.
{
"mcpServers": {
"exa": {
"url": "https://mcp.exa.ai/mcp"
},
"firecrawl": {
"url": "https://mcp.firecrawl.dev/v2/mcp-oauth"
// headless alternative: "headers": { "Authorization": "Bearer YOUR_FIRECRAWL_API_KEY" }
},
"hunter": {
"url": "https://mcp.hunter.io/mcp"
// headless alternative: "headers": { "Authorization": "Bearer YOUR_HUNTER_API_KEY" }
}
}
}
Step-by-step prompts
- Use Exa to search for the speaker or agenda page for {event name} {year}. Show me the top results with title and URL, and tell me which one is the official speaker page and what year and dates it shows. Don't open anything else yet.
- Use Firecrawl to scrape {speaker page URL} with JSON extraction. For each speaker, pull name, job title, company, talk title, session date and the talk description exactly as the page writes it. Scrape only that page. Show me a table, the speaker count, and flag anyone with no talk description.
- Keep the speakers who match {target titles or company types} and have a talk description. Use Exa to find each company's website domain. Tell me how many Hunter Email Finder searches that is, and run them only after I approve it. Then, after I approve it, verify each email found with Hunter Email Verifier.
- Write a short note to each speaker with a verified email. Refer to their talk using only what the event page says, and put the exact source line under each note. Ask one question about the talk and suggest {meeting ask}. Show me the text only. Don't send anything.
Run it on a schedule (optional)
- Run it once when the event publishes its agenda, and again a week or two before the event to catch speakers added late.
- In a scheduled run, stop at the speaker table. Approve the Hunter lookups and read every note yourself.
- Don't schedule the notes to go out. Send each one yourself after you've read the talk description it refers to.
Where this goes wrong
- Last year's speaker page. Search results often surface an older edition of the same event. Before scraping, have it show the year and event dates printed on the page, and stop if they don't match the event you asked for.
- A note that claims more than the page says. The model may guess what a speaker will cover or invent a result. Require the exact source line from the page under each note, and cut any sentence about the talk that the source line doesn't support.
- Only part of the speaker list was scraped. Some events list speakers across several pages or behind a 'load more' button. Compare the speaker count in the table with what the page shows. If each speaker has a separate page, map the site first and scrape only the pages you pick.
- An email at a company the speaker has left. Speaker bios can be out of date. Check that the email's domain matches the company on the page, verify every email before drafting, and skip anyone where the two disagree.
Gotchas
- Hunter's listed figures are 1 credit per search and 0.5 per verification on the Free plan. Other usage counts against your Hunter plan, so check your balance before a big event.
- Hunter can also start email sequences that send real emails. This recipe only uses Email Finder and Email Verifier, and the notes stay as text.
- Firecrawl charges credits per call, and JSON extraction is an add-on on top of the scrape credit. A keyless Firecrawl connection only exposes Search, Scrape and Parse and is capped per IP per day, which is enough for one speaker page.
- Exa works without a key on free rate limits. Its agent_run tool only appears with OAuth or an API key, and this recipe doesn't need it.
- On Claude Team or Enterprise, only workspace Owners can add Hunter as a custom connector.
Download
Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.
Download conference-speaker-outreach.md