← All add-ons
forms · Google Workspace

Form to HubSpot Contacts

Upsert HubSpot contacts by email from Google Forms — no duplicates

hubspotcontactsupsertformscrmdedupe
Push every Google Forms submission into your HubSpot CRM as a contact,
de-duplicated by email — automatically, on each submit. A new contact is created,
or the existing one with that email is updated in place. No duplicate contacts,
no Zapier.

WHAT IT DOES
• Upsert by email: match on email, then create a new contact or update the
  existing one — a two-step POST then PATCH-by-email on conflict.
• Update-vs-create-only toggle: "Update existing contacts by email" (default ON)
  updates matches; turn it OFF for create-only (existing emails are skipped).
• On-submit sync: an installable trigger pushes each new response automatically.
• Plain-text field mapping: map form questions to HubSpot properties, one per
  line — the mapping must include email (the de-dup key).
• Multi-value answers (checkboxes / grids) are comma-joined into one value.
• Manual test button: "Sync latest response" upserts the most recent response so
  you can validate the token and mapping before going live.

GREAT FOR
• Keeping one clean contact per person across repeat submissions.
• Update-in-place workflows: profile updates, RSVP changes, re-registrations.
• Anyone who wants Forms → HubSpot with strict email de-duplication.

REQUIRES YOUR OWN HUBSPOT ACCOUNT
You bring your own HubSpot private-app access token (with the
crm.objects.contacts.write scope). The add-on calls the HubSpot CRM API directly
with your token — we hold no HubSpot secrets and proxy nothing through a server.

FREE & PRO
• Free: 50 upserted contacts/month.
• Pro: unlimited upserted contacts. 14-day full trial.

Privacy-first: the add-on reads only the active form (forms.currentonly) and
calls HubSpot directly with your own token. "HubSpot" is used only as a
compatibility reference; not affiliated with or endorsed by HubSpot. Fast support
and frequent updates.