When to use it
Connect HubSpot when it’s your system of record and you want your agents working from it without anyone copying data between tools. It’s the right choice when you want to:- Call or text people who already exist in HubSpot. Contacts sync into Retell automatically, so your agent greets callers by name and knows their deal stage or lifecycle stage instead of asking.
- Keep HubSpot current without manual data entry. Analysis results from each conversation write back to contact properties.
- Give your team call history where they already work. Each call and chat appears on the contact’s activity timeline with its summary and duration.
Prerequisites
- A HubSpot account with Super Admin permissions. Only a super admin can create a private app and grant it scopes.
Step 1: Create a private app
Open the app list

HubSpot's Development section with Legacy Apps selected and the Create legacy app button in the top-right corner.
Fill in the basic info
- Name — a descriptive name, for example
Retell AI Integration. - Description — optional, for example “Syncs contacts and logs call activity for Retell AI”.
Step 2: Grant scopes
On the Scopes tab, click Add new scope, search for each scope below in Find a scope, check it, then click Update. Retell needs three scopes:Step 3: Generate the access token
Create the app
Copy the token
Step 4: Connect HubSpot in Retell
Add the connection
Enter the token

The HubSpot connection dialog on the Integrations page, with fields for connection name and access token.
Connect and confirm
Set up contact sync
phone to Retell phone_number. Phone number is how contacts are matched between the two systems, so it stays mapped and can’t be removed. See CRM data mappings for how to map the rest, create custom fields, and choose update modes.To log conversations to HubSpot, turn on Log activities automatically on the Sync to HubSpot tab.Verify it worked
- On the Connected tab, the HubSpot connection shows as connected.
- Open Contacts. After the first sync, HubSpot contacts appear with correctly formatted phone numbers and your mapped fields populated.
- The first sync is a full scan of every contact that has the mapped phone property, so a large portal takes a while. After that, Retell polls every 5 minutes and imports only contacts modified since the last run.
Manage the private app
Rotate the access token
Rotate in HubSpot
- Rotate and expire later keeps the old token valid for 7 days. Pick this one. Retell keeps working while you swap the credential over.
- Rotate and expire now kills the old token immediately, so contact sync and activity logging fail until Retell has the new one.
Reconnect in Retell
Change scopes
Go to Development > Legacy Apps, click your Retell app’s name, then click Edit app in the top-right corner to change its scopes. Adding a scope takes effect without a new token. Removing one stops the corresponding Retell feature working, without flagging the connection as broken.Troubleshooting
The connection shows an error after working for a while
The connection shows an error after working for a while
Sync runs clean but one property never populates
Sync runs clean but one property never populates
Calls aren't showing up on the HubSpot timeline
Calls aren't showing up on the HubSpot timeline
crm.objects.contacts.write scope on your private app. Retell attaches the activity to the contact it matched by phone number, so a call from a number that isn’t a synced HubSpot contact is never logged.Contacts are missing from Retell after a sync
Contacts are missing from Retell after a sync
phone_number in the sync settings.FAQ
Does Retell create new contacts in HubSpot?
Does Retell create new contacts in HubSpot?
Can I connect more than one HubSpot portal?
Can I connect more than one HubSpot portal?
How are calls and chats represented in HubSpot?
How are calls and chats represented in HubSpot?
COMPLETED, plus the duration and direction. A chat becomes a Communication object on the SMS channel, since HubSpot has no chat engagement type. Both carry a body with the conversation ID, the from and to numbers, the disconnection reason for calls, and the summary.Does this replace the HubSpot Marketplace app?
Does this replace the HubSpot Marketplace app?
Can I map custom properties?
Can I map custom properties?
What happens to my Retell contacts if I disconnect?
What happens to my Retell contacts if I disconnect?

