Typeform response → HubSpot contact, owner assigned, Slack alert
Form answers become a HubSpot contact with an owner, and Slack hears about it.
A Typeform submission arrives as a webhook and leaves as a HubSpot contact with a stage, a source and an owner. Existing contacts are found by email and updated, not duplicated. The owner comes from a rotation or from an answer on the form, and Slack gets the lead with a link to the record. Built for sales and marketing teams whose enquiry forms live outside HubSpot.
How it works
- Tf
Trigger
New response submitted to a chosen Typeform form
Typeform
- if
Step 1
Map the answers to contact properties
Typeform answers arrive keyed by question reference; the map turns them into email, name, company, phone and the one answer you route on, and drops any response without an email.
- H
Step 2
Search HubSpot by email
A contact search on the cleaned email decides the branch: found means update, not found means create, and the result is carried into the Slack message as new or returning.
- H
Step 3
Create or update the contact
New contacts get lifecycle stage Lead, lead status New, the mapped properties and the form name in a custom Enquiry source property; existing ones only have blanks filled and a Last enquiry date stamped.
- if
Step 4
Choose the owner
Owner IDs from HubSpot sit in a short table next to Slack user IDs; the step walks it in turn, or picks the row named by the routing answer, and writes hubspot_owner_id.
- S
Step 5
Post the lead to sales and DM the owner
The channel message shows name, company, the routing answer and a link to the HubSpot record; the same text goes to the owner as a direct message.
What changes once it runs
- A HubSpot contact with an owner, a stage and a source exists for every response, and nobody retyped it.
- Returning contacts are updated in place, and the owner is told they have been in touch before.
- Slack shows the lead in the sales channel with a link to the record, and the owner gets the same text as a direct message, seconds after Typeform receives it.
- Adding a rep is one line in a table, not code.
- No email, no contact: a blank response is logged and dropped.
What you get
- Setup guide: Typeform webhook, HubSpot private app scopes and custom properties, Slack app install, first test.
- n8n workflow export with the owner table and property map at the top, where you edit them.
- Field-mapping sheet listing each Typeform question reference and the HubSpot property it fills.
- Recorded walkthrough of a test submission travelling from form to Slack.
- Make and Zapier versions of the flow, with the rotation step rebuilt for each.
Before you start
- A Typeform form that collects at least an email address.
- HubSpot (free CRM or any hub) with a private app granted contacts read and write scopes and the owners read scope.
- Two custom contact properties, Enquiry source and Last enquiry date, which the guide has you create before the first run.
- At least one HubSpot user set up as an owner for each person you want leads routed to.
- Slack workspace where you can install an app, plus a channel for new leads.
- n8n Cloud or a self-hosted n8n reachable over HTTPS for the Typeform webhook.
Built for
Questions before you buy
- Typeform already connects to HubSpot. Why buy this?
- Typeform's native connection creates the contact and stops there. It does not choose an owner, tell Slack, or distinguish a returning contact from a new one. HubSpot's own rotation is a workflow action that needs a Professional-tier hub, so a team on the free CRM has no other way to rotate. If a contact record is all you need, use the native connection and keep your money.
- Can I route by territory instead of rotating?
- Yes. The owner step reads one answer on your form, such as a region or product dropdown, and looks it up in the table. Rotation is the fallback when the answer is blank or unmatched.
- What happens if HubSpot rate-limits or is down?
- Each HubSpot node retries after a short wait. A run that still fails is caught by the error workflow, which posts the raw answers to Slack so the lead can be logged by hand. A single response uses two or three HubSpot calls, so the form would need to be very busy to hit the limit.
- Is there a Make or Zapier version?
- Both are in the package. On Zapier the owner rotation uses a Storage step and the new-versus-returning branch uses Paths, which needs a paid Zapier plan.
Nearby on the shelf
Whole catalog- GAIPSMade to order
Gmail enquiry → AI-extracted Pipedrive person + lead, Slack alert to the owner
Enquiry emails turn into Pipedrive leads with the details already filled in.
Lead capture & routing$199 - CaHGDSMade to order
Calendly booking → HubSpot meeting + Google Docs prep sheet + Slack alert
Booked calls land in HubSpot with a prep sheet and a Slack alert within a minute.
Scheduling & meetings$199 - HQBCUSMade to order
HubSpot Closed Won → QuickBooks customer, ClickUp onboarding + Slack #wins
Won deals hand themselves to finance and onboarding within a minute of the stage change.
Sales & CRM hygiene$199
