Enrich Typeform leads in HubSpot and post a Slack brief

When a lead fills out your Typeform, enrich them with People Data Labs, upsert into HubSpot, and post a deal-ready brief to Slack.

Agentic Task
TypeformPeople Data LabsHubSpotSlackSalesMarketingLead EnrichmentData SyncNotifications & Alerts

When a new response lands in my Typeform lead form, run an agent that enriches the submitter with People Data Labs, writes them into HubSpot, and posts a short Slack brief for the rep on duty. The trigger is the Typeform webhook for a new submission.

Step 1. Pull the submitted email out of the Typeform payload and run People Data Labs Person Enrichment on it. From the response, capture the person's full name, job title, seniority, LinkedIn URL, and the resolved company domain. Person Enrichment returns a likelihood score from 1 to 10. If likelihood is under 6, treat the match as low confidence: still upsert the contact in HubSpot, but tag it with a low_confidence flag and skip the Slack brief at the end so reps know which records to review manually.

Step 2. Take the resolved company domain (fall back to company name if the domain is missing) and run People Data Labs Company Enrichment to pull firmographics: industry, headcount, funding stage, total funding, headquarters location, and a one-line company summary.

Step 3. Use HubSpot Batch Upsert Contacts matched by email so the same submitter never duplicates. Write back the enriched fields: first name, last name, title, seniority, LinkedIn URL, company name, company domain, company size, industry, funding stage, headquarters location, and the low_confidence tag when applicable.

Step 4. If the match is confident (likelihood 6 or higher), post a one-paragraph brief to the inbound Slack channel using Slack Send a Message. The paragraph should cover four things in plain prose: who they are (name, title, seniority, company), what the company does (industry plus the one-line summary), an ICP fit verdict (a clear yes, no, or maybe based on company size, industry, and funding), and three concrete talking points the rep can use on the first reply. Keep it tight, one paragraph, no bullet lists, no fluff. If the match was low confidence, do not post to Slack at all.

Let me set the Slack channel, the Typeform form ID, and a short description of my ICP (industry, size range, funding stage) at install time, and use those values when generating the verdict and talking points.

Additional information

What does this prompt do?
  • Listens for new Typeform submissions and grabs the lead's email.
  • Pulls a full profile from People Data Labs: name, title, seniority, LinkedIn, plus company industry, headcount, funding, and location.
  • Creates or updates the contact in HubSpot, matched by email, so the same person never duplicates.
  • Posts a one-paragraph Slack brief in your inbound channel with who they are, what the company does, an ICP fit verdict, and three concrete talking points.
  • Flags low-confidence matches in HubSpot and skips the Slack post when People Data Labs is unsure, so reps know which records to double-check.
What do I need to use this?
  • A Typeform account with a published lead form.
  • A People Data Labs account with an API key.
  • A HubSpot account where you can create and update contacts.
  • A Slack workspace and the channel you want briefs posted in.
How can I customize it?
  • Change the Slack channel, or send the brief as a DM to the account exec on rotation.
  • Adjust the confidence threshold to be stricter or more forgiving before a Slack brief gets posted.
  • Add extra HubSpot properties (lifecycle stage, lead source, owner) so the new contact lands inside your routing rules.

Frequently asked questions

Will this duplicate contacts if someone fills out the form twice?
No. The workflow uses HubSpot's batch upsert matched by email, so a second submission from the same person updates the existing contact instead of creating a new one.
What happens if People Data Labs can't find a confident match?
The contact still gets created or updated in HubSpot, but it's tagged as low confidence and the Slack brief is skipped. That way reps can scan the low-confidence list and review those records manually before reaching out.
Can I send the brief to a private Slack channel or a DM?
Yes. You can point the workflow at any channel the connected Slack account has access to, including private channels and direct messages.
Does this work with HubSpot Free?
Yes. The batch upsert and contact properties used here are available on the free CRM tier. Custom properties for things like funding stage just need to exist on your contact schema first.
Can I customize what counts as a good ICP fit?
Yes. The agent decides the ICP verdict from the enriched company data (industry, size, funding). You can tell it what your ideal customer looks like and it will use that definition when writing the verdict and talking points.

Stop hand-researching every inbound lead.

Connect Typeform, People Data Labs, HubSpot, and Slack once. Geni runs the enrichment, the CRM update, and the brief on every new submission.