The short answer

To push a form into HubSpot with Upform, open the form's Connect panel, authorize HubSpot with your own account, then map each question to a contact property. On submit, Upform looks the person up by email address: a match updates that contact, no match creates a new one. Use HubSpot's native forms for a few fields on a landing page with smart content and attribution behind them. Use Upform when the form itself is the conversion problem. The integration, all 21 question types and unlimited responses are on the free plan.

1

Contact per response

5

Steps to connect

∞

Responses, free plan

$0

Cost of the integration

Being straight with you

Upform forms vs HubSpot's native forms

These are two different jobs. HubSpot's forms are a CRM feature, wired into everything else HubSpot does. Upform is a form product that writes into your CRM. Here is where each one is genuinely ahead.

FeatureHubSpot's native forms
RuntimeOne question per screen, keyboard-first, ~1s branded loadA standard field set, embedded or on a landing page
Question types21, including picture choice, star rating and slider scaleField types that mirror CRM property types
Logic depth20 operators, four actions: show, hide, jump, end formDependent fields, without jump-to-question branching
Design controlLogo, background image, five color slots, Google fonts, radius, progress styleField styling in the form editor, plus your own page CSS
Native CRM fieldsMapped: you match a question to a contact propertyNative: the field is the property
Smart content and progressive profilingNot availableBuilt in, on the paid Marketing Hub tiers
Attribution reporting inside HubSpotSubmissions arrive as contacts, not as tracked form eventsFirst-party, tied to HubSpot's own reporting
Cost$0 for every integration on the free planIncluded with HubSpot's free tools

HubSpot's form features and tiers checked September 2026 on HubSpot's public product and pricing pages; Upform's on our own pricing page. Products change, so verify both before you decide.

How it works

Connect a form to HubSpot in five steps

No API key, no middleware and no per-task automation bill in between. The whole setup happens in the Connect panel of a form you already built.

  1. Connect your HubSpot account

    Open the form, go to the Connect panel and choose HubSpot. HubSpot asks you to authorize Upform against your own account over OAuth. There is nothing to paste and nothing to share with the rest of the team.

  2. Pick the properties this form fills

    Upform reads the contact properties your account already has. Choose the ones this particular form is responsible for, and leave the rest of the record alone.

  3. Map each question to a property

    Every question in the form builder can point at one property. Email to Email, Company Name to Company name, and so on down the list.

  4. Make the email question required

    The email address is the match key. Marking that question required means every submission arrives with something to look up, and nothing lands as an orphan record.

  5. Publish and check the timeline

    Publish on the public link or as an embed. From the first response onward, one contact is created or updated per submission, with your mapped answers on the record.

Connect · HubSpot

HubSpotHubSpot account connectedConnected
ObjectContact
Match onEmail address
Properties mapped6 of 6
Writes onSubmit
  • Per-user OAuth: your account, your permissions
  • Disconnect at any time without touching the form
  • Stack it with Slack or Google Sheets on the same form

The result

One answer becomes one contact

On the left, what the person filling it in sees. On the right, what your sales team opens a few seconds later.

3 →

What's your work email?

We'll send the proposal here, nowhere else.

maya@northgate.io
Next →press Enter ↵

An email question, one of 21 types, free on every plan.

HubSpot · Contacts

Emailmaya@northgate.io
First nameMaya
Last nameOkonkwo
Company nameNorthgate
Phone number+44 7700 900461
Websitenorthgate.io

Example record. Six questions mapped, six properties written. Everything else the form asked stays in Upform.

The mapping

Which question fills which HubSpot property

Upform's question types line up with the standard contact properties, so most of the mapping is obvious before you start. You confirm each pair once.

Upform questionHubSpot contact propertyWhat lands on the record
EmailEmailmaya@northgate.io, and the key every lookup matches on
Full NameFirst name, Last nameMaya, Okonkwo
Phone NumberPhone number+44 7700 900461, dial code included, because the question collects one
Company NameCompany nameNorthgate
WebsiteWebsite URLnorthgate.io
AddressStreet address, city, postal code, countryWhichever sub-fields you switched on in the question
Single choice, dropdown, yes/noAny property you point them atThe label the person picked: "11–50", "Yes"
Long text, rating, slider scaleAny property you point them atThe written answer, or the number behind the stars

Unmapped questions are not lost. They sit in the responses table with search, a date filter and CSV export, and a row opens a side drawer with every answer. Documents collected through file uploads stay in Upform, scoped to the form that collected them.

Create or update

The same person twice does not become two contacts

Every write starts as a lookup. Upform takes the email address from the submission and asks HubSpot whether that contact already exists, then acts on the answer.

  • A match updates that contact with the properties this form maps
  • No match creates a new contact with those properties filled in
  • A repeat visitor enriches the record instead of duplicating it
  • Only submitted responses are written, so abandoned forms never reach the CRM
See how logic shapes the form
Why email, and not a hidden ID

An Upform form is a public link or an embed. It carries no cookie, no session and no HubSpot record ID, so the email address a person types is the only honest way to identify them. The useful side effect: one person filling in three different forms ends up as one record with three sets of properties, not three near-identical rows to merge by hand. Public submissions are protected by invisible reCAPTCHA v3, and the drop-off funnel shows who stopped before the email question.

Use it with

A qualifying form in front of your pipeline

The reason to put Upform in front of HubSpot is what happens before the contact is created. Ask budget, team size and timeline one question at a time, use logic to end the form early for anyone out of scope, and only the people worth a follow-up reach the CRM. The lead generation forms page has the field list to copy.

Destinations stack on one form, so a single submission can create the HubSpot contact, post to Slack and append a spreadsheet row. Start from the quote request form template for questions that are already written, or browse the integrations directory.

Frequently asked questions

Should I use Upform or HubSpot's own form tool?

Use HubSpot's native forms when you need three fields on a landing page and want smart content, progressive profiling or first-party attribution reporting. Use Upform when the form itself has to do work: one question per screen, 21 question types, branching that skips or ends the form, and full control of the logo, colors, font and background. Plenty of teams run both, with HubSpot forms on the site and Upform on the longer qualifying and onboarding forms.

How does Upform decide whether to create or update a contact?

By email address. When a response is submitted, Upform looks the email up in the HubSpot account you connected. If a contact with that address exists, it is updated with the properties this form maps. If none exists, a new contact is created with those properties filled in. Mark the email question required so every submission arrives with something to match on.

Which HubSpot account does Upform connect to?

Yours. The connection is per-user OAuth: you authorize Upform against your own HubSpot account, and it can only write what that account is already allowed to write. There is no shared service account and no API key to paste anywhere. Disconnect it whenever you like and the form keeps collecting responses in Upform, the contacts simply stop arriving.

Do I need a paid Upform plan for the HubSpot integration?

No. Every integration ships on the free plan, which is $0 forever and includes unlimited forms, unlimited responses, all 21 question types and conditional logic. Pro is $12 a month and adds unlimited file storage, removes Upform branding and allows up to five team members. Online checkout is not live yet, so Pro accounts are set up by hand and the team replies the same day.

What happens to answers that are not contact properties?

They stay in Upform. Only the questions you map are written to the contact record, so a ten-question form can send four properties to HubSpot and keep the rest where they belong. Every answer is still in the responses table with search, filters and CSV export, and clicking a row opens a side drawer with the full set. You can also send the same response to Google Sheets or Slack at the same time.

Does an abandoned form create a half-empty contact?

No. The contact is written when the response is submitted, so someone who opens the form and leaves at question four never reaches HubSpot. They are counted in Upform analytics as an incomplete, and the per-question drop-off funnel names the exact question they stopped on. Your CRM stays clean and the diagnosis stays where you can act on it.

Get started

Ask better questions. Fill your CRM with the answers.

Build the form, connect your HubSpot account, and every submission arrives as a contact you can act on.

No credit card. Unlimited forms and responses on the free plan.