Get up to 50% off your Jotform plan through my partner linkClaim discount
CRM · Integration Guide

Jotform HubSpot integration

Jotform to HubSpot, wired so contacts aren't duplicated and properties actually populate.

HubSpot's own forms are good enough for a lot of teams. The reason you'd still use Jotform plus HubSpot is specific: you need conditional logic HubSpot forms can't do, you need payment collection at the same moment as lead capture, or you need a form experience that isn't hemmed in by HubSpot's styling system. The catch is that the Jotform-to-HubSpot handoff then has to be flawless, because HubSpot is where sales and marketing live.

Jotform has a native HubSpot integration that covers contact creation and property updates. Deal creation, company association, and list membership need either the native integration's deeper settings or a webhook approach. Done right, the two systems feel like one. Done wrong, HubSpot ends up with phantom contacts, empty properties, and deals that nobody can trace back to a source.

This page covers what the native integration does, where it hits limits, and how to architect a Jotform-HubSpot pipeline that doesn't create more cleanup work than it saves.

How it works

How Jotform and HubSpot connect.

  1. 01

    Authenticate via OAuth

    Jotform connects to a HubSpot portal via OAuth. The integration needs permissions on contacts, properties, and (if you're writing deals) the deals object. Use a HubSpot super-admin account for setup; the token persists across that user's session.

  2. 02

    Map form fields to HubSpot contact properties

    Each Jotform field maps to a HubSpot contact property. Standard properties (email, firstname, lastname, phone) are always available. Custom properties show up automatically. HubSpot contact ID is keyed on email - the integration updates an existing contact if the email matches, creates a new one if not.

  3. 03

    Add to workflows, lists, or lifecycle stage

    Beyond contact creation, the integration can set lifecycle stage (MQL, SQL, customer), trigger a HubSpot workflow, or add to a specific list. Most teams set lifecycle at form submit, then let HubSpot workflows handle downstream routing, email sequences, and rep assignment.

  4. 04

    Deal creation via HubSpot workflow

    Native Jotform integration doesn't create deals directly (as of the current version). The standard pattern is: form submits, contact is created or updated with a 'submitted_[form_name]' property, and a HubSpot workflow watches that property and creates the deal with the right pipeline and stage.

Common workflows

What Jotform plus HubSpot is actually good at.

  • 01

    Demo request with deal creation

    Demo form writes contact with company, role, team size, and use case as properties. A HubSpot workflow watches for the 'demo_requested_date' property change and creates a deal in the sales pipeline at the 'Demo Scheduled' stage, assigned to the AE mapped to the company's size segment.

  • 02

    Pricing request with payment intent

    Pricing form collects company details and a non-binding payment-intent signal. Contact is created or updated, lifecycle set to 'sqm', and a follow-up email sequence fires. The payment step (if present) isn't run here - it happens on a separate contract form after sales involvement.

  • 03

    Webinar or event signup with list membership

    Event registration creates or updates a contact and adds them to a HubSpot list tied to that specific event. Post-event, a webhook from the event platform flips an 'attended_[event]' property, which triggers the 'thanks for attending' sequence.

  • 04

    Customer feedback with ticket or property update

    Post-purchase or post-onboarding feedback form updates existing contact properties (NPS score, CSAT, last_feedback_date) and, on low scores, creates a HubSpot ticket assigned to the CS lead. Detractor and promoter flows diverge from there.

What breaks

Edge cases that bite in production.

Risk 01

Contact deduplication is email-only

HubSpot keys contacts on email. Same person, two emails (work and personal) = two contacts. Same email, different capitalization is not an issue (HubSpot normalizes). Same email, different domain alias (john@company.com vs john@corp.company.com) = two contacts. Enforce canonical email capture on the form side.

Risk 02

Property values that don't match HubSpot's enum

HubSpot dropdown (enumeration) properties have internal values and display labels, and they aren't always the same. If your Jotform sends 'United States' but HubSpot expects 'US', the property update silently fails and the field ends up blank on the contact. Audit enum mappings before launch.

Risk 03

HubSpot API rate limits under burst traffic

HubSpot's API limits are generous but not infinite (100 requests per 10 seconds on most plans). A viral form hitting 500 submissions in a minute will start throttling. For spike events, buffer submissions via a queue or space them out with a workflow delay.

Risk 04

Workflow enrollment doesn't trigger retroactively

If you set up a HubSpot workflow after the Jotform integration has already been live, existing submissions won't enroll retroactively. Either manually enroll the relevant contacts or design workflows to be stateless (triggered by property changes, not by form submit events).

When not to use

When Jotform plus HubSpotisn't the right call.

If HubSpot's native form builder covers your needs (simple fields, basic conditional logic, clean styling), skip Jotform and use HubSpot forms directly - one fewer system to maintain, no handoff to worry about. Skip the native Jotform-HubSpot integration for complex multi-object workflows (contact plus company plus deal on one submit with custom logic between them) - a webhook-plus-HubSpot-API pipeline will be more reliable. And if your marketing team lives in Marketo or Pardot instead, there are similar native integrations for each.

Frequently asked

Questions I get before setting this up.

  • Should I use HubSpot forms or Jotform with HubSpot integration?

    Use HubSpot forms for simple cases - basic fields, standard contact capture, HubSpot-native styling. Use Jotform when you need: payment at point of submission, heavy conditional logic, file uploads, complex multi-page flows, or a form experience outside HubSpot's styling constraints. For everything else, HubSpot forms are simpler.

  • Can I create HubSpot deals from Jotform?

    Not directly from the native integration. The standard pattern is: form submits, contact is created or updated with a trigger property, and a HubSpot workflow creates the deal based on the property change. Alternatively, use a webhook plus HubSpot's Deals API for direct deal creation.

  • How do I sync Jotform file uploads to HubSpot?

    The native integration sends file upload URLs as property values. HubSpot can store the URL on the contact record, but not the file itself. For attaching files to a HubSpot contact or ticket, use a webhook to upload the file via HubSpot's Files API, then associate it with the record.

  • Does the Jotform-HubSpot integration support HubSpot custom objects?

    Partially. Native Jotform integration primarily writes to contacts, companies, and deals. For custom objects, you need to either use Zapier (which supports custom objects via HubSpot's private apps) or a direct webhook plus HubSpot API call.

Want this wired up without the reading?

Free 20-minute call. I'll tell you which workflow fits, if a kit covers it, or what a custom HubSpot setup would take.