Enrich Typeform demo requests with RocketReach into HubSpot
Every new Typeform demo request gets enriched with verified contact and company data, logged in HubSpot, and posted to your sales Slack as a ready-to-act lead card.
Build me an agent workflow that turns every new Typeform demo-request submission into an enriched, sales-ready lead in HubSpot with a Slack notification to my sales team.
Trigger: a webhook from Typeform that fires when a new form response is submitted on my demo-request form. Use the Typeform Create or Update Webhook operation to register the webhook on the form during setup so submissions are pushed in real time.
When a submission arrives, parse the email, full name, and company from the form payload. Then run this sequence:
1. Call RocketReach Person Lookup using the email when present, otherwise name plus company. Pass return_cached_emails=true so we do not burn fresh credits when a cached result exists. If the response status comes back as searching, poll RocketReach Check Person Lookup Status with the returned profile ID until the lookup completes or a reasonable timeout is hit. Capture the verified work email, phone, LinkedIn URL, current title, seniority, and the employer domain.
2. Call RocketReach Company Lookup on the employer domain returned from the person lookup (or the domain parsed from the submitter's email if no employer was returned). Capture headcount, industry, funding stage and total raised, and tech stack.
3. Upsert the contact in HubSpot using Batch Upsert Contacts, matching on email as the unique idProperty. Populate firstname, lastname, email, phone, jobtitle, linkedin_url, hs_lead_status, and lifecyclestage (set to marketingqualifiedlead). Include any enriched custom properties the user has like seniority or tech_stack if they exist.
4. Check whether a HubSpot company already exists for the enriched domain. If not, call HubSpot Create Company with name, domain, industry, numberofemployees, annualrevenue if available, and a description that includes funding stage and tech stack highlights. Associate the new contact with the company record.
5. If RocketReach returned a real person match, post a concise lead card to the sales Slack channel using Slack Send a Message. The card should include: prospect name and title, company name with headcount and industry, a one-line why-this-lead-matters summary the agent writes from the enrichment data (mentioning things like recent funding, tech stack alignment, or seniority fit), and a deep link to the HubSpot contact record using the contact ID returned from the upsert.
6. If RocketReach returned no match, still complete the HubSpot upsert with the raw form data, but skip the Slack ping so the sales team only sees real, contactable leads. Log the skip internally.
Inputs the workflow should ask me for at setup time: the Typeform form ID for my demo-request form, the Slack channel ID (or name) where the lead cards should post, and my HubSpot portal ID so the contact deep link can be constructed correctly.
Keep the Slack card short and scannable. Use bold for the name and a single emoji like :rocket: in the header. The whole message should fit in five or six lines so reps can act fast.
Additional information
What does this prompt do?
- Listens for new Typeform demo-request submissions in real time and pulls the prospect's email, name, and company.
- Looks up the person and their company in RocketReach to find a verified work email, phone, LinkedIn, title, seniority, headcount, industry, funding, and tech stack.
- Upserts the contact in HubSpot, creates the company record if it does not exist, and fills in the enriched properties along with lifecycle stage.
- Posts a concise lead card to your sales Slack channel with name, title, company, headcount, a short why-this-matters summary, and a deep link to the HubSpot contact.
- Skips the Slack ping when RocketReach finds no match, so reps only see leads they can actually reach.
What do I need to use this?
- A Typeform account with the demo-request form you want to monitor
- A RocketReach account with credits available for person and company lookups
- A HubSpot account where the contact and company records should land
- A Slack workspace and the channel where sales should see new lead cards
How can I customize it?
- Change which Slack channel receives the cards, or route different industries or company sizes to different channels.
- Adjust the HubSpot lifecycle stage, lead source, or owner assignment that gets set on every enriched contact.
- Tune the why-this-matters summary the agent writes, for example asking it to call out funding rounds, hiring spikes, or specific tech stack matches.
Frequently asked questions
What happens if RocketReach cannot find the prospect?
Does this work if I am on HubSpot Free or Starter?
How long does enrichment take per lead?
Will this burn RocketReach credits on every submission?
Can I send the lead card somewhere other than Slack?
Stop sending raw form submissions to your sales team.
Connect Typeform, RocketReach, HubSpot, and Slack once, and every demo request shows up enriched, logged, and ready to work.