Required scopes
Contact sync uses the Private Integration’s scopes, granted in Step 1 of connecting:
A missing scope never flags the connection when sync is what hits it; the affected part of sync silently stops working. A tool call behaves differently — see required scopes on the agent functions page.
Set up contact sync
After the connection test passes, click Set up contact sync to open the field mapping dialog, then map the GoHighLevel fields you want to import and the Retell fields you want to write back. For a connection made earlier, the same dialog opens from the Connected tab: open the connection’s settings and click Set up contact sync. Retell pre-fills one mapping in each direction: GoHighLevelphone 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 GoHighLevel, turn on Log activities automatically on the Sync to GoHighLevel tab.
Verify it worked
- Open Contacts. After the first sync, the sub-account’s 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 field, so a large sub-account takes a while. After that, Retell polls every 5 minutes (as of August 2026) and imports only contacts modified since the last run.
Contacts with no value in the mapped phone field are excluded from the sync entirely, as are contacts whose number can’t be parsed into a valid E.164 number.
How are conversations logged in GoHighLevel?
Each call or chat becomes a note on the matched contact, carrying the conversation ID, the from and to numbers, the disconnection reason for calls, and the summary. Retell uses notes for two reasons: the history sits in the contact’s Notes panel, and logging needs only the scopes above. It doesn’t write to GoHighLevel’s Conversations call log. Retell logs activity only for contacts imported from the currently connected CRM. A conversation with a number that doesn’t match a synced contact produces no note.FAQ
Does Retell create or delete contacts in GoHighLevel?
Does Retell create or delete contacts in GoHighLevel?
By default it only updates contacts that already exist, and it never deletes them. Turn on Create new contacts in CRM on the Sync to GoHighLevel tab to have Retell create a contact after a conversation when the matched contact isn’t linked to one yet. Your agent can also create contacts through the Create Contact tool, but that’s an explicit tool call, not sync.
Next steps
CRM data mappings
Map GoHighLevel fields to Retell contacts, choose update modes, and control what syncs back.
Build contact memory
Accumulate what your agents learn across conversations into the contact record.
Dynamic variables
Reference synced contact fields from your agent’s prompt.
GoHighLevel agent functions
Look up callers, add tags that fire workflows, and work opportunities mid-conversation.

