Research new HubSpot leads with Parallel and alert Slack

When a new HubSpot contact lands, run a cited web research job on their company, write the findings back to HubSpot, and ping sales in Slack.

Agentic Task
HubSpotParallelSlack BotSalesMarketingLead EnrichmentResearch & MonitoringNotifications & Alerts

Build an agent workflow that auto-researches every new HubSpot contact using Parallel and posts a briefing to Slack.

Trigger: a HubSpot webhook on the contact.creation event. The webhook payload gives us the contact ID and email.

Step 1. Pull the contact from HubSpot to get the email, the contact ID, and the existing company association if there is one. Extract the email domain. If the domain is a known free-mail provider (gmail.com, yahoo.com, outlook.com, hotmail.com, icloud.com, aol.com, proton.me, protonmail.com, gmx.com, mail.com, live.com, msn.com), stop here. Do not kick off a Parallel run on these because we do not want to waste spend on personal emails.

Step 2. Call Parallel Create Task Run with processor set to "core" (use "pro" if the user wants higher quality) so that citations are included. The input should describe the company by its email domain. Use a structured output schema with these fields: employee_headcount_band (one of "1-10", "11-50", "51-200", "201-1000", "1001-5000", "5000+"), industry, recent_funding_round (round name or null), recent_funding_date (ISO date or null), marketing_tech_stack (array of strings), sales_tech_stack (array of strings), top_buying_signals (array of short strings), icp_fit_summary (one paragraph), company_name, company_match_confidence (one of "high", "medium", "low"), and recommended_next_action (short string). Wait for the run to complete using the blocking result endpoint.

Step 3. If company_match_confidence comes back as "low", do not write the enriched fields. Instead call HubSpot Update Contact and set a needs_review property to true so a human can take a look. Then post a short Slack message to the #new-leads channel saying we could not confidently identify the company for that domain and that the contact has been flagged. Stop the workflow here.

Step 4. Otherwise call HubSpot Update Contact and populate the custom properties on the contact: headcount band, industry, latest funding round and date, marketing tech stack, sales tech stack, ICP fit summary. Use whatever the user has named these properties in their HubSpot account (ask if you need clarification, but assume sensible defaults like company_headcount_band, company_industry, latest_funding_round, latest_funding_date, marketing_stack, sales_stack, icp_fit_summary).

Step 5. Call HubSpot Create Note and associate it with the contact. The note body should contain the full research summary in plain prose with the top buying signals as a bulleted list, followed by a Sources section listing every cited URL Parallel returned in its basis output. Title the note something like "Parallel research summary".

Step 6. Post a message in the #new-leads Slack channel using Slack Bot Send a Message. Format the message as: company name and email domain, a one-line headline signal (the strongest item from top_buying_signals), and a one-line recommended next action. Keep it short, scannable, and link to the HubSpot contact record.

Operations to use: parallel-ai Create Task Run, hubspot Update Contact, hubspot Create Note, slackbot Send a Message.

Additional information

What does this prompt do?
  • Watches HubSpot for new contacts and kicks off automatic company research the moment one is created.
  • Pulls a structured profile of the contact's company: headcount, industry, latest funding, tech stack signals, and a short ICP-fit summary.
  • Writes the enriched fields back to the HubSpot contact and drops a full note with cited source URLs so your reps can verify every claim.
  • Posts a short briefing to your sales Slack channel with the company name, the headline signal, and a recommended next step.
What do I need to use this?
  • A HubSpot account with permission to read and update contacts and create notes.
  • A Parallel account and API key for the research jobs.
  • A Slack workspace and the channel you want briefings posted to (for example, a #new-leads channel).
  • The custom contact properties you want filled in (headcount, industry, latest funding, tech stack, ICP fit, needs review).
How can I customize it?
  • Change the research schema to match the fields your sales team actually scores on, like ARR band, geography, or product-led signals.
  • Edit the free-mail skip list (gmail.com, yahoo.com, outlook.com, and any others) so personal-email leads do not burn research credits.
  • Swap the Slack destination, switch to a direct message to the deal owner, or route by territory or company size.
  • Tune the recommended next action: book a demo, enroll in a nurture sequence, or assign a task to the rep.

Frequently asked questions

What happens if the research can't confidently match the company?
Instead of writing thin or wrong data to HubSpot, the contact gets flagged with a needs_review property so your team can take a look manually. No bad data ever lands on the record.
Will this fire on every contact, even Gmail and Yahoo signups?
No. Free-mail domains are filtered out before any research starts so you don't pay for jobs on personal emails. You can edit the skip list any time.
Are the research findings backed by sources?
Yes. Parallel returns citations alongside every field, and those source URLs are attached to the HubSpot note so a rep can click through and verify before reaching out.
Can I change which Slack channel the briefings post to?
Yes. The destination channel is a setting on the workflow. Point it at #new-leads, your AE channel, or anywhere the right people are watching.
Does this work with my existing HubSpot custom properties?
Yes. You map the research output to whatever custom properties you already use. If you do not have ones for headcount band or ICP fit, you can create them in HubSpot in a few minutes.

Stop hand-researching every new lead.

Connect HubSpot, Parallel, and Slack once, and Geni profiles every new contact with cited research while your reps are still pouring coffee.