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.
Additional information
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.
Frequently asked questions
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?
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.