Enrich Typeform demos and auto-route to AE or SDR in Slack
Every new Typeform demo request gets enriched firmographics, logged in HubSpot, and routed to AE or SDR in Slack based on seniority and company size.
Build me an agent that runs every time a new response comes in on my Typeform demo request form. Trigger on the Typeform form_response webhook. The agent should take the inbound lead, enrich it, log it in HubSpot, and route it in Slack.
Step 1. Read the form response and pull out the lead's work email and their company domain. If the form only collected a company name or website URL, normalize that to a clean domain.
Step 2. Call Waterfall.io Contact Enrichment with the email and verified_only set to true. Wait for the job to complete and capture job title, seniority, department, and email_verified_status from the result. Then call Waterfall.io Company Enrichment with the domain and capture employees_count, industry, and funding_details (especially total_funding_usd and the most recent funding round).
Step 3. Save the person and company in HubSpot. Use Batch Upsert Contacts matching on email so an existing contact gets updated rather than duplicated, writing job title, seniority, department, and a lead_source of 'Typeform demo request'. Use Create Company with the enriched domain, name, industry, and employees_count. Then use Create Association to link the contact to the company with the standard contact-to-company association type. If the company already exists in HubSpot by domain, update it in place instead of creating a duplicate.
Step 4. Decide the route. If Waterfall.io's email_verified_status comes back as 'invalid', skip the Slack post entirely (the HubSpot record still gets written). Otherwise apply this rule: if seniority is director, vp, or c-level (or any level above director) AND employees_count is greater than 200, recommend routing to AE. In every other valid case, recommend routing to SDR.
Step 5. Post a structured message to the #new-leads Slack channel using Send a Message. Format it as a single message with these fields on their own lines: name and job title, company and industry, employee count, total funding raised and most recent round if known, the lead's email, a one-line summary of what they wrote in the demo form, and finally a bold 'Recommended route: AE' or 'Recommended route: SDR' line at the bottom. Include the HubSpot contact URL so the rep can jump straight to the record.
Other rules. If Waterfall.io fails to enrich the contact or the company (no match), still create the HubSpot record from the raw form fields and post to Slack noting that enrichment was incomplete. Never drop a lead silently. Be tolerant of missing fields in the Typeform response and never block on a field that just was not filled in.
What does this prompt do?
- Listens for new Typeform demo request submissions in real time and pulls the email and company domain off the response.
- Enriches the person with verified job title, seniority, and department, and enriches the company with employee count, industry, and funding details.
- Saves the contact and company in HubSpot, links them together, and skips anything where the email is flagged as invalid.
- Posts a clean lead card to your #new-leads Slack channel with a clear next step: route to AE if it's a director or above at 200+ employees, otherwise route to SDR.
What do I need to use this?
- A Typeform account where your demo request form lives.
- A Waterfall.io account for contact and company enrichment.
- A HubSpot account with permission to create contacts and companies.
- A Slack workspace with a channel like #new-leads where the agent can post.
How can I customize it?
- Change the routing rule. The default sends director-and-above at 200+ employee companies to your AE bench and everyone else to SDR, but you can tune the seniority bar, the headcount cutoff, or add industry and funding filters.
- Swap the Slack channel. Point the post at a different channel, route by region or product line, or DM the on-call rep instead of posting publicly.
- Adjust the skip rule. By default the agent skips the Slack ping when the email comes back invalid; you can also skip on risky emails, on free email providers, or on companies under a size threshold.
FAQs
Does this work with my existing Typeform demo form?
What happens if Waterfall.io cannot find the person or the company?
Will this create duplicate contacts in HubSpot?
Can I change who gets routed to AE versus SDR?
What if the email looks fake or invalid?
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 letting good demo requests sit in a queue.
Connect Typeform, Waterfall.io, HubSpot, and Slack once, and Geni triages every new lead the moment it lands.