Skip to main content

GoHighLevel: Connect Your Location

This guide walks you through connecting your GoHighLevel (GHL) account to AutoRev so your AI receptionist can create contacts, add notes, manage opportunities, and trigger workflows in GHL.

Estimated time: 5 minutes.

Why connect GoHighLevel

  • Your AI receptionist creates new contacts in GHL the moment a caller leaves their info.
  • Inbound calls auto-match to existing GHL contacts so the AI greets repeat callers by name.
  • The AI logs every call as a note on the GHL contact, including the recording link and call summary.
  • The AI can move opportunities through your pipeline ("move this caller from New Lead to Booked") and trigger your existing GHL workflows.
  • Tags, custom fields, and pipeline stage updates flow both directions.

Step 1: Pick the RIGHT kind of GHL token

This is the most common point of confusion when connecting GHL. GoHighLevel has two kinds of tokens, and you almost always want the second one.

  • Agency token — controls your whole GHL agency including every sub-account. Do NOT use this. Giving AutoRev an agency token means AutoRev could see and modify every sub-account in your agency, which is more access than you need and a security risk.
  • Location token (also called Sub-Account API Key) — controls a single GHL location (sub-account). This is what you want. It scopes AutoRev to the one location matching your AutoRev tenant.

If you only have one GHL account and no sub-accounts, you still want the Location token. Agency and Location are different scopes, not different account types.

Step 2: Get your GHL Location API key

  1. Log into GoHighLevel at app.gohighlevel.com.

  2. In the top left, make sure you have selected the Location (sub-account) you want AutoRev to connect to. If you only have one location, it is already selected.

  3. Click Settings in the bottom-left sidebar.

  4. Click Business Profile (or look for API Keys under Settings).

  5. Scroll down to find API Keys or Private Integrations.

  6. Click Create New Private Integration (or Generate API Key).

  7. Name it "AutoRev AI Receptionist".

  8. Select the scopes (see Step 3 below).

  9. Click Create.

  10. Copy the resulting Access Token. It looks like a JWT (eyJ... followed by a long string). GHL only shows it once.

Also note your Location ID (visible in your URL bar when you are inside a location, looks like abc123XYZ).

Step 3: Required permissions (scopes)

When you create the Private Integration in GHL, you must check all of these scopes. Missing any one of them will cause specific AutoRev features to fail.

  • Contacts — read and write. (Create new contacts, look up callers, update fields.)
  • Opportunities — read and write. (Move callers through your pipeline.)
  • Notes — write. (Log call summaries on contacts.)
  • Tags — write. (Tag contacts based on what was discussed on the call.)
  • Workflows — read. (List your workflows so the AI can trigger the right one. The actual trigger is a write op but GHL gates it under workflow read.)
  • Calendars — read. (Check calendar availability when the AI books appointments through GHL Calendars.)
  • Pipelines — read. (List pipelines and stages so the AI knows where to move opportunities.)
  • Conversations — read and write. (So the AI can append messages to GHL conversation threads if you use GHL for SMS.)
  • Users — read. (So the AI can assign opportunities to the right rep.)

Tip: when in doubt, grant all read scopes plus the write scopes listed above. You can revoke any of them later without breaking the connection (only the specific feature using that scope will stop working).

Step 4: Connect to AutoRev

Once you have your Location Access Token and Location ID:

In the AutoRev dashboard, go to Settings > Integrations, open the card for this integration, paste your credentials, and click Connect. Credentials are validated live against the provider before anything is saved. (If you use AutoRev through the Claude connector, you can also just ask Claude to connect it for you.)

How to test the connection

After connecting, the card shows the live connection state. The connect step already validated your credentials with a real API call, so a green card means you are live.

Common issues

"Unauthorized" error during the test Most likely cause: you used an Agency token instead of a Location token. Go back into GHL, generate a Private Integration scoped to your Location, and reconnect.

Connection worked, but adding a tag fails with 403 You missed the Tags: write scope. Edit the Private Integration in GHL and add the missing scope. No need to reconnect, the change is picked up within a few minutes.

The AI says "I cannot find your contact in GHL" but the contact is clearly there GHL contact lookup uses E.164 phone format (+15551234567). If your contacts are stored with raw 10-digit numbers (5551234567), the lookup will miss. The fix: ask Claude to normalize your GHL contact phones to E.164 format, or have the AI use a custom field for lookups.

Workflows show up in the list but firing them does nothing The workflow has a trigger that does not match what the AI is sending. GHL workflows triggered by "Contact Tagged" need the AI to add the right tag; workflows triggered by "Opportunity Status Changed" need the AI to move the opportunity to a specific stage. Check the workflow trigger in GHL and tell Claude exactly which tag or stage transition should fire it.

Merge fields like {contact.first_name} are coming through literally in messages GHL uses double-curly merge fields: {{contact.first_name}} (not single curly). The AI knows this. If you are writing your own templates in GHL, double-check the syntax.

"Daily rate limit exceeded" error GHL caps Location API keys at 200,000 requests per day. For most owners, this is plenty. If you are hitting it, ask Claude to look at the audit log and tell you what is generating so much traffic. Usually it is a stuck workflow loop or an over-eager polling integration on the GHL side.

Need help?

Email support@autorev.ai or ask Claude "I'm having trouble with my GoHighLevel integration."