Browse the docs
Connect your CRM
Dialing
Managing the team
Developers
Docs / Connect your CRM
HubSpot
Dial HubSpot contact lists, log calls and notes to the contact timeline, and update Lead status from each call outcome.
Connect HubSpot to dial contact lists and write every call back to the contact's timeline.
What NitroDialer reads and writes
| In HubSpot | |
|---|---|
| Campaign source | Contact lists (active or static). NitroDialer reads list memberships, then the contacts in batches of 100. |
| Phone numbers used | Mobile phone number (mobilephone) and Phone number (phone) |
| Shown to the agent | Name, company, email, city, state, Lead status, Lifecycle stage, Original source |
| After every call | A note on the contact with the outcome, talk time, agent notes, Dialpad AI summary and recording link |
| Optional | A call engagement on the contact (title, body, duration, outbound, completed, number dialed, recording URL) |
| Status update | Lead status (hs_lead_status), from the outcome mapping below |
| Owner-only campaigns | The contact's Contact owner (hubspot_owner_id), matched to agents by email |
Connect
- In NitroDialer, go to Settings → Integrations and choose HubSpot.
- Sign in to HubSpot as a user who can view contacts and lists and edit contacts, and pick the HubSpot account to connect.
- Approve the requested access. You're returned to Settings with HubSpot shown as connected.
NitroDialer requests these scopes:
crm.objects.contacts.read— read contacts in your listscrm.objects.contacts.write— add notes and calls, update Lead statuscrm.lists.read— show your lists when building a campaigncrm.objects.owners.read— match agents to contact owners
Recommended outcome mapping
When you connect HubSpot, each call outcome is set to update Lead status like this. Change any of them in Settings → Call outcomes; the value must be the property's internal value, not its label.
| Outcome | Lead status (internal value) |
|---|---|
| Appointment set | OPEN_DEAL |
| Interested — follow up | IN_PROGRESS |
| Call back later | CONNECTED |
| Not interested | UNQUALIFIED |
| Do not call | UNQUALIFIED |
| No answer, Left voicemail, Voicemail — no message, Busy | ATTEMPTED_TO_CONTACT |
| Wrong number, Not in service | no change |
Speed-to-lead from HubSpot
Use a contact-based workflow with a Send a webhook action to push new contacts into a running campaign. See Speed-to-lead webhook.
Limits
HubSpot allows public apps roughly 110 requests every 10 seconds per account. NitroDialer batches reads and backs off automatically when HubSpot asks it to, so large lists sync steadily rather than all at once.