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.
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.
FAQs
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?
Related templates
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.
Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.
See warmup status, daily send volume, and bounce risk for every sending account in one grid, with the riskiest mailboxes floating to the top.
Open one board each morning to see which of your accounts are hiring, what they are building, and where your product fits the roles they just opened.
Review Introw partner payouts line by line, approve them from one board, raise the matching bill in Xero, and post every approval to 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.