Profile new HubSpot leads from their website with a Slack alert

By General Input

When a new contact lands in HubSpot, read their company website, fill in industry, product, ICP, and a one-line pitch, then ping sales in Slack.

Integrations

  • HubSpot
  • ScrapingBee
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Marketing

Run this workflow every time a new contact is created in HubSpot. Use HubSpot's webhook trigger on the contact creation event so it fires the moment the record appears, not on a poll.

When a new contact comes in, do the following:

1. Read the email address on the new contact and extract the domain (the part after the @).

2. If the domain is a known free or personal email provider (gmail.com, outlook.com, hotmail.com, yahoo.com, icloud.com, aol.com, proton.me, live.com, msn.com), skip the website enrichment entirely. Jump to step 6 and post a short Slack message noting this is a personal-email lead with no company website to profile.

3. Otherwise, call ScrapingBee's Extract Data with AI operation against https://{domain} (fall back to https://www.{domain} if the first attempt 404s). Use the ai_query parameter to ask for four fields in one call:

- industry: one or two words describing what industry the company operates in.

- primary_product: one sentence describing the main product or service the company sells.

- ideal_customer_profile: one sentence describing who this company sells to.

- value_proposition: a single one-line pitch in the company's own voice.

Ask ScrapingBee to return the result as structured JSON so the fields are easy to read back. If the homepage scrape fails or the values come back empty or nonsensical, set the missing fields to "unknown" and continue.

4. Use HubSpot Update Contact to write the four values into custom contact properties named company_industry, primary_product, ideal_customer_profile, and value_proposition. If any of those properties don't exist yet on the contact schema, create them as single-line text properties first.

5. Use HubSpot Create Note associated with the contact. Title the note "Company profile from website" and put the four enrichment fields in the body as a short bulleted summary, with the source domain at the top.

6. Use Slack Send a Message to post to the sales channel (default to #sales-new-leads, but prompt me to confirm the channel during setup). Format the message like this:

New lead: {first_name} {last_name} at {company_or_domain} Industry: {industry} Product: {primary_product} Sells to: {ideal_customer_profile} Pitch: {value_proposition} HubSpot record: {link_to_contact}

Build the HubSpot record link as https://app.hubspot.com/contacts/{portalId}/contact/{contactId}, where portalId is the HubSpot account/hub ID and contactId is the new contact's id from the trigger payload.

For free-email leads, send an abbreviated version of the Slack message that just announces the contact name and email and notes that no company profile was generated because the email is personal.

Keep the whole workflow focused on this enrichment pass. Don't create deals, don't assign owners, don't send outbound emails. The goal is to give sales reps real context the moment a lead lands.

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