How it works

Follow these 6 simple steps to start automatically creating or updating HubSpot contacts from Typeform submissions

typeform logo icon

Form Response Created

App connector: Typeform • Time to complete: 2 minutes
Why this matters: This trigger activates your workflow every time someone submits your Typeform, ensuring no lead gets missed.

When someone completes your Typeform, this trigger captures all their responses and starts the workflow. You'll select which specific Typeform you want to monitor from your connected account. The trigger automatically passes all form field data (like name, email, company) to the next step using variables like `{{typeform.form_response.answers}}`. This data becomes available for mapping to your HubSpot contact properties.

Search for Contact

App connector: HubSpot • Time to complete: 0 minutes (Auto-configured)
Why this matters: This step prevents duplicate contacts by checking if someone with the same email already exists in your HubSpot database.

This step searches your HubSpot contacts using the email address from the Typeform response. It's configured to look for an exact email match using the filter `{{typeform.form_response.answers.email}}` and returns up to 1 result. If a contact is found, the step passes their existing contact ID and properties to the next step. If no match is found, it returns empty results, which tells the workflow to create a new contact instead.

Path 1 Rule - Has Existing Contact

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: This path handles existing contacts by routing them to the update action when a matching email is found in HubSpot.

This conditional path triggers when the search finds an existing contact (when `{{hubspot.results[0].properties.email}}` is not empty). The path automatically inherits the contact ID from the search results and prepares it for the update step. All Typeform response data remains available for mapping to contact properties during the update process.

Update Contact

App connector: HubSpot • Time to complete: 1 minute
Why this matters: This step refreshes existing contact information with new data from the Typeform, keeping your HubSpot database current without creating duplicates.

When an existing contact is found, this step updates their HubSpot record using the contact ID from `{{hubspot.results[0].id}}`. You'll map Typeform response fields to specific HubSpot contact properties, such as connecting `{{typeform.form_response.answers.company}}` to the "Company" field. The step preserves existing contact data while only updating the properties you specify, maintaining your contact history and relationships.

Path 2 Rule - No Existing Contact

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: This path handles new contacts by routing them to the create action when no matching email is found in HubSpot.

This conditional path triggers when the search returns empty results (when `{{hubspot.results[0].properties.email}}` is empty), indicating this is a new contact. The path receives all the original Typeform response data and prepares it for creating a fresh contact record. This ensures new leads are captured immediately without manual intervention.

hubspot logo icon

Create Contact

App connector: HubSpot • Time to complete: 3 minutes
Why this matters: This step adds completely new contacts to your HubSpot database, ensuring no new leads are lost from your Typeform submissions.

When no existing contact is found, this step creates a new HubSpot contact record using the Typeform response data. You'll map form fields like `{{typeform.form_response.answers.first_name}}` to corresponding HubSpot properties such as "First Name" and "Email." The step automatically generates a new contact ID and sets the lifecycle stage and lead source, giving you a complete contact record for follow-up.

Make it your own

Customize this workflow even further:

Add qualification scoring
Calculate lead scores based on Typeform responses and automatically assign contact properties like "Marketing Qualified Lead" when certain criteria are met.
Send personalized follow-up emails
Connect email automation tools to send customized welcome sequences or next-step instructions based on specific Typeform answers.
Create deals automatically
Generate new HubSpot deals with custom values, stages, and assigned owners when high-value prospects complete your form.
Sync data to multiple CRMs
Extend the workflow to simultaneously update contacts in HubSpot, Salesforce, and other CRM platforms from a single Typeform submission.

Frequently asked questions

What happens if someone submits the same Typeform multiple times with different information?
The workflow will update their existing HubSpot contact with the latest Typeform responses. Previous data gets overwritten for the mapped fields, but unmapped properties remain unchanged.
Can I map Typeform multiple choice or rating questions to HubSpot properties?
Yes, you can map any Typeform field type to compatible HubSpot properties. Multiple choice answers appear as text values, and rating scores transfer as numbers to numeric HubSpot fields.
Will this work if my Typeform has conditional logic that shows different questions to different users?
Absolutely. The workflow captures whatever answers each respondent provides, regardless of which questions they saw. You can map both required and optional fields to accommodate varying response patterns.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start automatically creating or updating HubSpot contacts from Typeform submissions?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 9 min setup • Cancel anytime