Research new HubSpot leads with Parallel and alert Slack

By General Input

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.

Integrations

  • HubSpot
  • Parallel
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Marketing

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account