How to import Typeform data into HubSpot
Typeform exports use your question text as column headers, so every form is different. This template handles the most common contact-capture pattern: name, email, phone, company, and job title questions. Most forms word their questions differently from the headers below, so you'll adjust the column mapping in Operelio after uploading.
Field-by-field mapping
This is the complete column mapping from Typeform to HubSpot. The left column is the header in your CSV export. The right column is the HubSpot field it should map to.
| What is your first name? | First Namefirstname | |
| What is your last name? | Last Namelastname | |
| What is your email address? | Emailemail TransformLowercased and trimmed | |
| What is your phone number? | Phone Numberphone TransformStandardized to international format (+1, +44, etc.) | |
| What company do you work for? | Company Namecompany | |
| What is your job title? | Job Titlejobtitle |
Typeform exports use your question text as column names. If your questions are worded differently (e.g. 'Your name' instead of 'What is your first name?'), match them in Operelio after uploading.
Columns we don't use
Your Typeform export includes 10 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in HubSpot.
- Typeform metadata columns (Submission ID, Submitted at, Response Token, Network ID, Tags)
Typeform exports include several metadata columns Typeform generates for each response. HubSpot Contacts have no native fields for any of them; the template drops them so they don't pollute the contact record.
If you need it. Create a custom HubSpot contact property if you want any of them kept for reporting.
- Typeform hidden fields (UTM parameters and any custom hidden field set on the form)
Hidden fields ship in the export with the column name you gave them in Typeform. They're useful for tracking the campaign source of each submission but don't map to a standard contact field.
If you need it. Create a custom HubSpot contact property called UTM Source / Campaign / Medium / etc., then route the hidden-field columns to them in Operelio's column mapper before re-running this template.
- Typeform question types this template doesn't map (Rating, Multiple choice, Long text answers, File upload links)
Forms often include non-contact questions (NPS rating, dropdown choices, free-text answers, attached files). This template maps the standard contact fields only; everything else ships in the export but isn't routed.
If you need it. Create a custom HubSpot contact property for each non-contact question you want kept, then route them in the column mapper.
Formatting and cleanup
Typeform exports rarely match the format HubSpot expects. Fix these before you import.
- 1.Lowercases and trims email addresses
- 2.Cleans and standardizes phone numbers to international format (+1, +44, etc.)
- 3.Renames question-text columns (e.g. 'What is your email address?') to HubSpot property names
- 4.Drops non-contact columns like submission timestamps and hidden fields
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your Typeform export and download a clean, import-ready file for HubSpot.
Typeform to HubSpot FAQ
How do I download responses from my Typeform?
In your Typeform results tab, click 'Download all responses' and choose CSV format. The export includes all responses and metadata.
What if my Typeform questions use different wording?
Typeform uses your exact question text as column headers. If your questions differ from this template (e.g. 'Your name' instead of 'What is your first name?'), adjust the column mapping in Operelio after uploading.
Can I use this template for any Typeform?
This template works best for forms that capture standard contact information (name, email, phone, company, title). Forms with different structures need manual column mapping.
What happens to non-contact fields like ratings or multiple choice answers?
The template maps contact fields only and drops other response columns (ratings, dropdowns, text areas). Add them as custom HubSpot properties in Operelio if you need them.
What about Typeform hidden fields and metadata?
Hidden fields and submission timestamps appear in the export, but this template doesn't map them. Add them manually if you need UTM parameters or other tracking data in HubSpot.
Will this create duplicates if someone submitted the form twice?
HubSpot uses email as the unique identifier. Contacts with matching emails update the existing record. Different emails create new contacts.