Enrich Typeform demo requests with RocketReach into HubSpot

By General Input

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.

Integrations

  • Typeform
  • RocketReach
  • HubSpot
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

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.

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