Skip to main content

How HubSpot Integration works on Insights

Automatically send your form submissions to HubSpot as Contacts — no manual CSV exports needed

Written by Bidisha Sinha

Uniqode's HubSpot integration lets you sync form submissions captured through QR code scans directly into HubSpot as Contact records. Instead of exporting form responses and importing them into HubSpot by hand — or losing leads that never make it into your CRM at all — every submission on a synced form automatically creates or updates a Contact in your connected HubSpot portal.

Prerequisites

This feature is available on the Business+ plan and above, with an active Insights subscription.

Who can use this feature

  • Insights Admins can connect HubSpot at the organization level, enable sync on individual forms, and configure field mappings.

  • Other roles can view sync status but cannot connect HubSpot or change mapping configuration.

Connect HubSpot to your Uniqode organization

  1. Go to Insights → Integrations.

  2. Select the HubSpot CRM card.

  3. Click Connect HubSpot.

  4. Log in to HubSpot and authorize Uniqode to access your portal.

  5. Once authorized, you're redirected back to Uniqode, where the HubSpot card shows a Connected status.

You only need to connect HubSpot once per organization — every form can then be configured to sync to that same HubSpot portal. Uniqode supports one connected HubSpot portal per organization.

Note: At connection time, Uniqode checks that the authorizing HubSpot user has the right permissions on Contacts. If they don't, you'll see a warning on the HubSpot detail page.

Enable sync on a form

  1. On the HubSpot detail page in Insights → Integrations, find the form you want to sync.

  2. Turn on the sync toggle for that form.

  3. The first time you enable sync on a form, you'll be prompted to set up your field mapping before sync can start (see Map form fields to HubSpot properties below).

  4. If the form already has existing responses when you enable sync, you'll be asked whether to:

    • Sync existing responses — send all past submissions to HubSpot as Contacts (in batches), in addition to future ones, or

    • Sync new responses only — start syncing from the next submission onward, and leave historical responses out.

      This choice only appears once, when you first turn sync on.

Note: Turning sync off for a form pauses it without deleting your field mapping. Turning it back on resumes sync using the same mapping.

Map form fields to HubSpot Contact properties

  1. Open the mapping screen for your form from the HubSpot detail page.

  2. For each form field on the left, choose the matching HubSpot Contact property from the dropdown on the right. Dropdowns are pulled live from your HubSpot portal, so your custom properties show up alongside standard ones.

  3. To set a property to a fixed value on every synced Contact — rather than a value from the form — click + Add static value. For example, you might set Lifecycle stage to Lead, or set a custom property to QR Code Scan to track where the Contact came from.

  4. Click Save.

A HubSpot property can only be mapped once per form — if it's already selected for one form field, it won't appear as an option for another.

Note: If you don't map your form's email field to HubSpot's Email property, you'll see a warning: "Email is not mapped. Without email, every submission will create a new, unlinked contact." This isn't a hard block — you can still save the mapping — but without email, Uniqode has no way to match a submission to an existing Contact, so every submission creates a separate one.

How your form data syncs to HubSpot

Once sync is on, new form submissions are sent to HubSpot in the background — this never slows down or affects the scan/submission experience for the person filling out the form.

Each submission is matched against your HubSpot Contacts by email:

  • Email matches an existing Contact — that Contact's properties are updated with the mapped values. Any properties you haven't mapped are left untouched.

  • Email doesn't match, or no email was mapped/submitted — a new Contact is created.

Note: HubSpot doesn't allow a Contact's lifecycle stage to move backwards. If you've set Lifecycle stage = Lead as a static value and a matching Contact is already further along (for example, Customer), HubSpot will silently skip that one property update while still applying your other mapped values. This is expected behavior — it keeps existing customers from being demoted.

Text sent to a HubSpot property that's longer than HubSpot's character limit for that property is automatically shortened to fit before syncing.

Sync guardrails

To protect your HubSpot data from a flood of bad syncs, Uniqode automatically pauses sync on a form in two situations:

  • Too many failures — if a form has more than 100 failed sync attempts within a rolling 7-day window, sync is automatically disabled for that form.

  • Email mapping removed — if the form field mapped to HubSpot's Email property is deleted from the form, sync is automatically disabled for that form, since Uniqode can no longer deduplicate submissions.

In both cases, you'll need to fix the underlying issue (check your mapping, or re-map email) and manually turn the sync toggle back on — it won't resume on its own.

Note: If a mapped field other than email is deleted from your form, sync keeps running — Contacts are created/updated without that field's value, and a warning appears on the form's row telling you a mapped field no longer exists.

Failed submission records are kept for 30 days and then removed automatically.

Disconnect HubSpot

  1. Go to Insights → Integrations and open the HubSpot detail page.

  2. Click Disconnect, and confirm when prompted.

Disconnecting stops sync immediately across all forms and revokes Uniqode's access to your HubSpot portal. Your sync history and each form's saved field mapping are kept, so if you reconnect later, you won't need to set your mappings up again.

Frequently asked questions

  • What happens if I add a new field to a form that's already syncing?

    New fields aren't automatically mapped. The field will be unmapped by default until you open the mapping screen and assign it to a HubSpot property yourself.

  • Does every form submission create a new Contact in HubSpot?

    Not if email is mapped. Uniqode uses your form's email field to match against existing HubSpot Contacts — a matching email updates that Contact, and a non-matching (or missing) email creates a new one. If email isn't mapped, there's no way to match, so every submission creates a new, unlinked Contact.

  • Why did a submission fail to sync?

    Open the failed submissions panel on the HubSpot detail page to see the specific error HubSpot returned for that submission — common causes are a mapped property that was deleted or changed in HubSpot, or a value that doesn't match what a property expects (for example, an invalid dropdown option).

Tips for best results

  • Always map email

    Email is what lets Uniqode match a submission to an existing HubSpot Contact instead of creating duplicates. Map it before you turn sync on.

  • Use static values to tag lead source

    Adding a static value like Lifecycle stage = Lead or a custom "source" property set to QR Code Scan makes it easy for your sales team to filter and prioritize these leads in HubSpot.

  • Check the failure count regularly

    Sync issues (like a deleted HubSpot property) don't stop new submissions from arriving in Uniqode — they just won't reach HubSpot. Keep an eye on the failure count so leads don't quietly pile up unsynced.

Did this answer your question?