Auto-enrich new HubSpot companies from their website
When a new company lands in HubSpot, read its website to fill in industry, positioning, and notable customers, then post a heads-up to Slack.
When a new company is created in HubSpot (HubSpot webhook trigger on the new-company event), start an agent that enriches the record from the company's own website.
Step 1. Use HubSpot Get Company to load the new company record. Pull the website domain and the current values of these properties: name, domain, website, industry, description, numberofemployees, annualrevenue, and any custom properties the org uses for positioning, target market, or notable customers.
Step 2. If the domain is missing, blank, or an obvious placeholder, stop without writing anything to HubSpot and skip ahead to the Slack step with a short note that enrichment was skipped because no domain was found.
Step 3. Use Firecrawl Scrape URL on the homepage. Then attempt to scrape a small set of likely sub-pages: /about, /pricing, /customers, /case-studies. Skip any that 404, time out, or are blocked. Collect the markdown content from whichever pages succeed.
Step 4. Use Firecrawl Extract Structured Data against the scraped pages to pull out a JSON object with: industry (short label), positioning (one sentence describing the product and who it is for), target_customer (segment, persona, vertical), stage_hint (early-stage, growth, enterprise, public, or unknown), and notable_customers (up to 10 customer names or logos mentioned on the site). If a field cannot be confidently inferred from the scraped content, leave it null.
Step 5. Use HubSpot Update Company to write the enriched values back to the company record. Map positioning into the description property, industry into industry, target_customer and stage_hint and notable_customers into matching custom properties (create them if the org has them, otherwise fall back to description). Important: only overwrite a property if its current value is empty or null. If a rep has already filled in a field, leave it alone.
Step 6. If every scrape attempt failed or the extraction returned nothing useful, do not update HubSpot. Just continue to the Slack step with a short note explaining why the company was skipped.
Step 7. Use Slack Send a Message to post to the #sales-new-accounts channel (let the user pick the channel during setup). Keep the message under six lines: company name, one-line positioning, industry, target customer, stage signal, notable customers, and a direct link to the HubSpot company record (https://app.hubspot.com/contacts/{portalId}/company/{companyId}). If enrichment was skipped, post a single line saying the company was created but enrichment was skipped, with the reason.
Default to graceful failure throughout. The point is to give reps a head start, not to spam Slack or pollute the CRM with bad data.
Additional information
What does this prompt do?
- The moment a new company is created in HubSpot, an agent visits the company's own website (homepage plus About, Pricing, and Customers pages) and pulls out the signals your sales team would otherwise dig up by hand.
- Writes industry, one-line positioning, target customer, stage hints, and notable customer logos back onto the HubSpot company record. Only fills in fields that are still empty, so your reps' edits are never overwritten.
- Posts a short heads-up in Slack with the enriched profile and a direct link to the HubSpot record, so reps can act on the new account immediately.
- Skips cleanly when the company has no website or the site blocks scraping, so you never get a half-filled record or a noisy alert.
What do I need to use this?
- A HubSpot account where new companies are getting created (free, starter, or any paid tier works).
- A Firecrawl account, used to read each company's website on your behalf.
- A Slack workspace and a sales channel where the heads-up message should land.
How can I customize it?
- Change which company fields get filled in. Add HQ location, employee count, funding stage, or a custom property your team uses for positioning.
- Pick different sub-pages to read. Swap Customers for Case Studies, Careers, or Blog depending on what your reps care about.
- Route the Slack heads-up to a specific channel, the account owner's DM, or a different format (one line, full brief, threaded reply).
Frequently asked questions
Will this overwrite fields my reps have already filled in?
What happens if the company has no website on the HubSpot record?
What if the company's website blocks scraping?
Can I tell it which sub-pages to read?
Does this work on HubSpot Free?
Stop researching every new account by hand.
Connect HubSpot, Firecrawl, and Slack once. Geni runs this the moment a new company hits your CRM, so your reps start every outreach with the company's own positioning in front of them.