Skip to main content
The HubSpot integration pushes Caard leads into HubSpot as contacts. It can also create or update the matching company, add contacts to a static list per event, and assign the right HubSpot owner. Syncing is one-way: Caard writes to HubSpot, but never reads changes back.

Connect HubSpot

1

Open Integrations

Go to Integrations in the sidebar and select Connect on the HubSpot card.
2

Authorize Caard

Sign in to HubSpot and approve the requested permissions. Caard asks for read/write access to contacts, companies, and lists, plus read access to owners.
3

Confirm the connection

You’re returned to the integration page. The Overview tab shows the connected account email and portal ID, and default field mappings are created for you.
Caard’s HubSpot app cannot request the notes and tasks permissions, so leads’ notes are synced into a contact property (the Message property by default) rather than as HubSpot note records. Tasks are not synced.

What syncs

For each lead, Caard syncs:
  • Contact — name, email, phone, company, job title, and any other fields you’ve mapped. See field mapping for the full list and how to customize it.
  • Notes — smart-capture answers and freeform notes, combined into one mapped contact property.
  • Company (optional) — Caard finds or creates the company by domain and associates it with the contact.
  • List membership (optional) — contacts can be added to a HubSpot static list, configurable per event.
  • Owner — the lead’s owner in Caard maps to a HubSpot owner via the Owner Mapping tab.

When leads sync

How deduplication works

Before creating a contact, Caard tries to find an existing one to update. Matching runs in this order, and the first match wins:
  1. Previously synced lead — once a lead has synced, Caard remembers its HubSpot contact ID and updates that contact directly. This holds even if the contact’s email later changes in HubSpot.
  2. Caard Lead ID — every synced contact is stamped with a Caard Lead ID property (caard_lead_id), which Caard creates in your HubSpot account on first sync. Caard always checks it before creating, so a retried sync never produces a duplicate — even for leads without an email. This check runs regardless of the deduplication settings below.
  3. Email — with Deduplicate contacts enabled (the default), Caard looks up the contact by the lead’s email address.
  4. Phone — with Deduplicate by phone fallback enabled, Caard searches the lead’s phone number against HubSpot’s phone and mobile phone properties.
Only if every step misses does Caard create a new contact.
Don’t edit or delete the Caard Lead ID property in HubSpot — it’s how Caard keeps each lead linked to exactly one contact.

Syncing into existing HubSpot contacts

When a lead matches a contact that already existed in HubSpot — created manually, by a form, or by another tool — Caard adopts it rather than duplicating it:
  • Mapped fields are written according to their write modes. Fields set to Complete if missing or Append respect the values the contact already has; only Overwrite mappings replace existing data.
  • The contact is stamped with the lead’s Caard Lead ID, permanently linking the two. All future syncs of that lead update the same contact.
If the lead’s email doesn’t match any HubSpot contact (or the lead has no email), there’s nothing to match on, and a separate contact is created.
Turning Deduplicate contacts off doesn’t let you create email duplicates — HubSpot enforces unique emails. Instead, syncing a lead whose email already exists in HubSpot fails with a duplicate contact error.
Companies are matched separately — by domain, name, or both, depending on your company sync settings.

Sync settings

Auto-Sync

Toggle automatic syncing on the Overview tab. With it off, leads only sync when you trigger a sync manually.

Deduplication

Under Advanced Config on the Overview tab:
  • Deduplicate contacts (on by default) — look up the contact by email and update it if found. Turned off, leads whose email already exists in HubSpot fail with a duplicate contact error instead.
  • Deduplicate by phone fallback (off by default) — if no email match is found, try matching by phone number.
  • Sync leads without an email (off by default) — by default, leads with no email are skipped with an error. Enable this to sync them anyway; the Caard Lead ID still keeps retries from creating duplicates.
See how deduplication works for the full matching order.

Company sync

Enable Company Sync on the Overview tab to create or update companies alongside contacts. You can configure:
  • Domain source — derive the company domain from the lead’s website, their email address, or website first then email.
  • Free email domains — exclude domains like gmail.com from being treated as company domains, with an editable list.
  • Matching — match existing companies by domain, by name, or domain then name.
  • Create if missing — whether to create a new company when no match is found.
  • Association — attach the company as the contact’s primary or secondary company.
  • On failure — skip the company step or fail the whole sync if the company step errors.

Lists

On the Lists tab, pick a HubSpot static list to receive synced contacts. Each event can use its own list, which keeps event leads grouped in HubSpot.

Owner mapping

On the Owner Mapping tab, map each Caard teammate to their HubSpot owner. Select Auto-match to pair them by email automatically, or set mappings by hand. Synced contacts are then assigned to the right owner in HubSpot.

Per-team and per-event settings

Settings and field mappings apply workspace-wide by default, but you can override them for a specific subteam or event using the scope switcher at the top of the integration page. Precedence, from highest to lowest:
  1. Event — leads captured at that event
  2. Subteam — leads owned by that subteam’s members
  3. Workspace — everything else

Sync history

The Sync History tab lists every sync job with its status, timestamp, and the HubSpot contact it created or updated. If a sync fails, see troubleshooting for what each error means.

Disconnect

In the Danger Zone tab, select Disconnect to remove the connection. This deletes the stored credentials along with all field mappings and settings. Contacts already synced to HubSpot are not affected.