> For the complete documentation index, see [llms.txt](https://docs.limecall.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.limecall.com/integrations/hubspot.md).

# HubSpot

Sync contacts, calls and deals with HubSpot.

## Connect

1. Open **Settings → Integrations**.
2. Choose **HubSpot** and **Connect**.
3. Sign in to HubSpot and select the account (portal) to connect.
4. Review and grant the requested permissions.

Connect using an account that will persist. An integration authorised under someone who leaves stops working when their HubSpot seat is removed.

## What syncs

**Contacts.** People who contact you are created or matched in HubSpot. Matching is on phone number and email.

**Calls.** Logged as activities on the contact timeline, with duration, direction, outcome and the AI summary where there is one.

**Deals.** Deals created in LimeCall can be created in HubSpot, and stage changes kept in step.

## Which direction

Decide what owns what before enabling two-way sync.

The usual arrangement: HubSpot owns the customer record — name, company, lifecycle stage — and LimeCall owns the conversation record — calls, recordings, transcripts.

Two-way sync on the same fields produces conflicts, and the resolution rules are never what someone expects six months later.

## Field mapping

Map LimeCall fields to HubSpot properties. Fields captured by your widget or AI assistant can populate custom HubSpot properties.

Create the custom properties in HubSpot first, then map to them. Mapping to a property that does not exist fails silently.

## Duplicates

HubSpot matches on email primarily; LimeCall matches on phone number. A caller whose number you have but whose email you do not can create a second HubSpot contact.

Reduce this by capturing email where you reasonably can — see [Lead capture](/callback/lead-capture.md) — and by running HubSpot's own duplicate management periodically.

## Owners

Where team members exist in both systems, map them so calls are logged against the right HubSpot owner. Otherwise everything is attributed to the connecting user, and your HubSpot reporting by rep becomes meaningless.

## Workflows

Once calls are in HubSpot, its workflows can act on them — notify an owner about a high-score lead, move a lifecycle stage after a qualified call, enrol someone in a sequence after a missed one.

This is where most of the value is. The sync is only plumbing; the workflow is what does the work.

## Verifying

After connecting, make a test call and confirm within a few minutes that the contact exists in HubSpot, the call is on the timeline with its summary, and any mapped custom fields are populated.

## Troubleshooting

**Nothing syncing** — check the connection is still authorised; OAuth tokens are revoked when the authorising user loses access.

**Some records missing** — usually a required property missing in HubSpot, or a field-mapping mismatch.

**Duplicates** — see above.
