Skip to main content

Help center / Integrations

Connect HubSpot

Approve one OAuth connection so reps see CRM context before the call and summaries land on the contact after it.

Your reps already have the context they need. It's just in HubSpot, in another tab, and they're about to dial. Connecting HubSpot puts the contact, the company, the open deals and the recent activity in front of them before the call starts, and posts the summary back to the contact when it ends.

This is the shortest setup of any Swiftner integration: one approval screen. Two minutes.

Before you start

  • A Swiftner admin account.
  • HubSpot admin for the portal you're connecting. A regular HubSpot user can't approve the connection.
  • A dialer or phone integration already connected. HubSpot doesn't create calls in Swiftner. It decorates calls that come from Nextcom, LeadDesk or Aircall.

Step 1: Know what you're approving

Swiftner asks HubSpot for five permissions:

Scope What it's for
crm.objects.contacts.read Look up who's calling
crm.objects.contacts.write Post the call summary as a note
crm.objects.companies.read Company context in the briefing
crm.objects.deals.read Open deals in the briefing
crm.objects.owners.read Match HubSpot owners to Swiftner reps

That's read access to contacts, companies and deals, plus permission to create notes on contacts. Swiftner asks for nothing else, and writes nothing without a coached call behind it.

Step 2: Connect

Open Admin → Integrations, click Add, and pick HubSpot. In the drawer that opens, click Connect HubSpot and approve the scopes.

That's the whole connection. There are no API keys to paste and no callback URLs to register. The header switches to Connected when it's done.

Step 3: Check the user mapping

Open the Users tab. HubSpot owners whose email matches a Swiftner user are paired automatically; anyone left over you can pair by hand or invite into Swiftner.

Mapping matters less here than on a dialer integration, since HubSpot isn't the source of the call, but it's what attributes CRM activity to the right rep.

What reps see

When a caller's number matches a HubSpot contact, the pre-call briefing shows the contact, their company, any open deals, and recent activity. With no match there's no briefing: Swiftner leaves the section empty rather than guessing at a contact.

After a coached call, the summary is posted as a note on the matched contact.

Settings worth knowing

Under Behavior:

  • Call write-back: the summary, a link to the full Swiftner report, coaching feedback, and the interest verdict, each toggled separately. Coaching feedback is visible to anyone who can read the contact's notes, which in HubSpot is usually everyone. Most teams leave it off.
  • Minimum talk time: calls shorter than this get no note. Default 60 seconds, which keeps voicemails and misdials out of the CRM.

To stop write-back entirely without losing the pre-call briefing, turn off all four write-back toggles and leave the integration connected.

Troubleshooting

"Auth failed" on the integration card. HubSpot returned a 401 on a recent write-back. Usually the connection was revoked in HubSpot, or the approving user's access was removed. Reconnect from the settings drawer.

No briefing on calls. Check the caller's number is actually on a HubSpot contact, in a format HubSpot recognises. Then confirm the call itself is arriving from your dialer integration, since HubSpot can only decorate a call that exists.

Notes aren't appearing. Check the write-back toggles, then the minimum talk time. A 40-second call with a 60-second threshold is working as configured.

Disconnecting. Disconnect in the settings drawer revokes Swiftner's access and stops both the briefing and the write-back. Existing notes stay where they are.