Connect your CRM (OAuth)
Last updated: September 19, 2026
Your CRM connection is what turns GodSetter from a dialer into a booking machine: the CRM (GoHighLevel) is where your contacts, calendars and appointments live. GodSetter connects to it via OAuth — you authorize once at the agency level, with no API keys to paste — and from then on your sub-accounts flow in automatically as clients.
Step 1 — Start the OAuth flow
Open Connections and find the GoHighLevel card ("CRM — contacts, calendars, bookings"). Click "Connect GoHighLevel". You're taken to the Marketplace consent screen.
Starting the flow requires editor access on the Connections area: the owner, an admin, or a collaborator an admin gave editor rights to.
Step 2 — Choose your agency account
Sign in on the consent screen if asked. When the Marketplace asks which account to install into, pick your agency account — not an individual sub-account. The connection must be agency-wide so GodSetter can see all of your sub-accounts; an install scoped to a single location is rejected, and nothing is saved.
Then approve the requested permissions — contacts, calendars, custom fields and the other capabilities GodSetter uses to book appointments and write call data back.
Step 3 — Verify the connection
You're redirected back to the Connections page:
- Success → "GoHighLevel connected successfully." and the card status turns connected.
- Failure → "GoHighLevel connection failed. Try again." The most common cause is picking a sub-account instead of the agency in the previous step — click "Connect GoHighLevel" again and choose the agency account.
Step 4 — Import your sub-accounts
Once connected, your CRM sub-accounts are imported automatically once a day as clients. You don't have to wait for that: open Clients and click "Sync sub-accounts" to import them immediately.
Until you have imported anything, the Clients page leads with "Import your sub-accounts from GoHighLevel" and the Sync sub-accounts button instead of an empty table — your clients already exist in the CRM, so importing them is the normal way to create them.
When you do create a client by hand, the form lists your GoHighLevel locations and that location's calendars in two pickers — you never paste ids, unless GoHighLevel is not connected or cannot be reached, in which case the form falls back to manual ids and says why.
Imported clients arrive active, with no calendar of their own: they book into the default calendar of the agent that calls them (agent editor → Identity & routing), matched by name in each sub-account — one pick covers every client on the same snapshot. Open a client only to give it a different calendar of its own, or to deactivate it. A client shows "to configure" only when it has no calendar and no active outbound agent has a default one.
From then on the connection keeps itself in step with GoHighLevel, without a daily wait and without any workflow: a new sub-account is imported as a client as soon as it is created, a renamed one is renamed here too, and one that is deleted or removes the app is deactivated (its row, leads and call history are kept, and any call still queued for it is dropped). The same goes for the contacts: if you change a contact's phone number, name or time zone in the CRM, the lead updates itself — a call already waiting in the queue dials the corrected number, not the one the trigger was born with.
When you need to reconnect
The permissions your connection carries are frozen at consent time. If GodSetter later adds features that need new permissions, your existing connection won't have them until you re-consent: use "Reconnect GoHighLevel" on the same card to run the flow again and pick up the new permissions. Reconnecting doesn't touch your imported clients or call history.
There is a second reason, and this one comes looking for you: your Dashboard shows "GoHighLevel connection broken - reconnect it from Connections" under Attention required. GodSetter raises it when it tried to refresh your CRM token and GoHighLevel refused — typically because the app was uninstalled from the agency account, the authorization was revoked, or the stored token is no longer valid.
There is a third signal, and it is the fastest one: if the app is removed from GoHighLevel, GoHighLevel tells GodSetter straight away — no waiting for the next token refresh to fail. The card drops to not connected and your Dashboard shows "GodSetter app removed from GoHighLevel - reconnect it from Connections" under Attention required. When a single sub-account removes the app, only that client is deactivated: its row, its leads and its call history stay exactly where they are, ready for a reinstall.
Until you reconnect:
- Calls in progress are not interrupted, and the dialer keeps placing calls for clients that carry a calendar of their own.
- Everything that touches the CRM fails: booking, cancelling and rescheduling during a call, outcome tags and call notes, the post-call write-back into custom fields, and the daily sub-account import.
- Clients without a calendar of their own — the ones booking into the calling agent's default calendar, matched by name inside the sub-account — can't have a calendar resolved at all, so their leads are parked and retried rather than dialed.
The fix is the same button: "Reconnect GoHighLevel" on the Connections card, picking the agency account again. Two things not to misread: the card keeps showing connected (the credentials are stored, GoHighLevel is simply refusing them), and the banner is not a live status light — it clears 24 hours after the last failure and repeats are throttled, so confirm the repair with a real booking or a test lead, not by watching the banner disappear.
Next steps
- Wire your CRM workflow to an agent — the setup that actually starts calls.
- The onboarding checklist explained — see where you stand overall.
