Research new HubSpot contacts with Exa and brief sales in Slack

When a new contact lands in HubSpot, an agent uses Exa to research the person and company, writes the brief back to the record, and pings sales in Slack.

Agentic Task
HubSpotExaSlackSalesOperationsLead EnrichmentResearch & MonitoringNotifications & Alerts

Build an agent workflow that automatically researches new HubSpot contacts with Exa, writes the findings back into HubSpot, and posts a short briefing into our Slack #sales-signals channel.

Trigger: a HubSpot webhook on contact.creation. Each time HubSpot fires the event, the workflow should run once for that new contact.

On fire, do the following:

1. Use HubSpot Get Contact to load the new contact's email, first and last name, and associated company id. If the contact's email domain is a personal email provider (gmail.com, googlemail.com, yahoo.com, ymail.com, outlook.com, hotmail.com, live.com, msn.com, icloud.com, me.com, mac.com, aol.com, proton.me, protonmail.com), stop the workflow immediately and do nothing. We only want to spend research on real prospects.

2. If there is an associated company, use HubSpot Get Company to load the company's name and domain. If there is no associated company, fall back to deriving the company domain from the contact's email.

3. Use Exa Search to find the person's LinkedIn profile or public bio (search by full name + company name), and to find the company's homepage and recent coverage from the last 12 months.

4. Use Exa Create and Poll Research Task to synthesize a short profile covering: company size and stage, what the company does in one sentence, recent funding rounds or product launches, the most likely buying triggers, and any prior connection signals you can find (mutual investors, shared customers, public quotes). Keep the write-up tight, around 200 to 350 words, with citations.

5. Use HubSpot Update Contact to set a custom contact property called lead_research_summary to a two or three sentence headline version of the brief.

6. Use HubSpot Create Note to attach the full research write-up as a note, associated with both the contact and the company.

7. Use Slack Send a Message to post in #sales-signals with: the person's full name, their title if found, the company name, a two line summary, and a clickable link back to the HubSpot contact record.

Style rules: keep the Slack message scannable and under six lines. Do not use em dashes anywhere in the output. Prefer periods or commas. If Exa cannot find meaningful information about the person or company, post a short note in Slack saying so rather than a fabricated brief.

Additional information

What does this prompt do?
  • Triggers the second a new contact is created in HubSpot, with no manual kickoff needed.
  • Uses Exa to pull the person's public profile and the company's homepage, recent coverage, funding, and product news.
  • Saves a short summary on the contact and attaches the full research write-up as a note linked to both the contact and the company.
  • Posts a two line briefing in your sales Slack channel with the prospect's name, company, and a direct link back to the HubSpot record.
  • Skips personal email domains like gmail, yahoo, and outlook so you only spend research time on real prospects.
What do I need to use this?
  • A HubSpot account with permission to read contacts and companies and to write notes and contact properties.
  • An Exa account and API key for the web research.
  • A Slack workspace and a channel for sales signals, such as #sales-signals.
How can I customize it?
  • Change which channel the briefing posts to, or route to different channels by territory or contact owner.
  • Edit the research brief to focus on what your team actually cares about, like hiring signals, tech stack, or recent funding.
  • Adjust the personal-email skip list, add free trial email providers, or require a company domain to be present before running.

Frequently asked questions

How fast does the research run after a new contact is created?
The workflow fires the moment HubSpot reports the new contact, and a full research pass usually completes within a couple of minutes. The Slack ping lands as soon as the brief is ready.
Will it run on every single contact, even form fills with personal emails?
No. Contacts with personal email domains like gmail.com, yahoo.com, and outlook.com are skipped so you only spend research effort on real prospects. The skip list is easy to extend.
Where does the full research write-up live?
It is attached as a note on the contact record in HubSpot and associated with the company too, so anyone opening either record sees the full brief. A short summary is also written into a contact property for quick scanning.
Can I change the Slack channel or the format of the alert?
Yes. You can point the alert at any channel your Slack login can post to, and you can tweak the message to include exactly the fields your reps want to see.
Does this work with HubSpot Free or Starter?
Yes. The workflow uses standard CRM read and write actions plus notes, which are available on all HubSpot tiers including Free.

Stop researching every new lead by hand.

Connect HubSpot, Exa, and Slack once, and Geni briefs sales the moment a real prospect lands in the CRM.