Auto-research new HubSpot contacts with Perplexity

By General Input

When a new contact lands in HubSpot, an agent pulls fresh company intel from Perplexity, writes it to the record with sources, and pings Slack for hot leads.

Integrations

  • HubSpot
  • Perplexity AI
  • Slack

Type

Agentic Task

Categories

  • Sales

Build an agent workflow that triggers on HubSpot's webhook for new contact creation. Every time a contact is created in my HubSpot, run the steps below.

Step 1: free-email skip filter. Read the contact's email from the webhook payload and parse the domain. If the domain is a free-email provider, stop the workflow immediately and do not run research. Default skip list: gmail.com, yahoo.com, hotmail.com, outlook.com, live.com, msn.com, icloud.com, me.com, mac.com, aol.com, proton.me, protonmail.com, gmx.com, gmx.net, mail.com, yandex.com, zoho.com, fastmail.com, hey.com, pm.me, duck.com. Expose this list as a configurable workflow input so I can edit it later.

Step 2: research the company with Perplexity AI. Use Perplexity's Create Chat Completion operation with model sonar-pro. Determine the company from the contact's email domain (and the HubSpot company association if present). Prompt Perplexity to return: (a) recent funding rounds in the last 18 months with amount, stage, and date; (b) leadership changes (new CEO, CRO, CTO, VP Eng, VP Sales) in the last 12 months; (c) product launches or major announcements in the last 6 months; (d) hiring signals such as aggressive headcount growth or a surge in open roles in a specific function; (e) a one-line fit summary classified as Hot, Warm, or Cold for the buyer profile I provide as a workflow input. Ask Perplexity for structured output (each section as its own field), and preserve Perplexity's citations as full clickable URLs alongside each finding.

Step 3: write structured fields back to the HubSpot contact. Use HubSpot's Update Contact operation. Write to these contact properties: company_research_summary (text), fit_score (enumeration: Hot / Warm / Cold), recent_funding (text), leadership_changes (text), product_launches (text), hiring_signals (text), research_updated_at (datetime). If any of these custom properties don't exist on the contact object yet, create them first.

Step 4: pin a full research note to the contact. Use HubSpot's Create Note operation and associate it with the contact ID. The note body should contain the long-form research findings with the Perplexity source URLs preserved as clickable HTML links (anchor tags), grouped by section (Funding, Leadership, Product, Hiring, Fit). Include the research timestamp at the top.

Step 5: alert Slack only on hot leads. If the fit_score is Hot, use Slack's Send a Message operation to post into a configurable sales channel (workflow input, default #sales-alerts). The message should include: contact name, company name, fit summary, top 2 reasons it's a fit, and a deep link back to the HubSpot contact record. If the fit_score is Warm or Cold, do not send a Slack message.

Configurable workflow inputs: buyer_profile (free-text description of our ICP, fed into the Perplexity prompt), slack_channel (defaults to #sales-alerts), free_email_domains (the skip list above), hot_lead_only (boolean, defaults to true so only Hot fires Slack). Use sonar-pro as the Perplexity model. Handle Perplexity 429 rate limits with exponential backoff. If the company can't be determined from the email domain (for example a contact with only a personal-sounding work domain), still run the research using whatever company info HubSpot has, and if there's none, write a short note saying research was skipped due to missing company info.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals