Implementation
GoHighLevel Private Integrations and OAuth: Which Authentication Model to Use
Use a private integration when a controlled internal system connects to a known HighLevel account and a trusted owner can manage the credential. Use OAuth when independent customers or locations must authorize an application, permissions must be consented and revoked per installation, or the integration will scale beyond one controlled account.
The short answer
Use a private integration when a controlled internal system connects to a known HighLevel account and a trusted owner can manage the credential. Use OAuth when independent customers or locations must authorize an application, permissions must be consented and revoked per installation, or the integration will scale beyond one controlled account.
The governing principle
Choose authentication from the trust and tenancy model, not whichever credential is faster to obtain. Minimize scope, isolate installations, rotate secrets, and make revocation operational.
Recommended architecture
Private integrations need secure secret storage, least privilege, ownership, rotation, and environment separation. OAuth additionally needs authorization state, redirect validation, encrypted token storage, refresh handling, installation identity, and revocation cleanup.
Prerequisites
Do not configure the production change until these inputs are known and recorded.
- Identify who owns the app, account, location, and data.
- List scopes and operations actually required.
- Define installation, rotation, revocation, and offboarding.
- Choose separate development and production credentials.
Implementation procedure
Build in the smallest independently testable increments. Record the reason for each decision, not only the final setting.
- Request the minimum permissions.
- Store credentials in a managed secret system, never source code or a shared document.
- Bind every token to an installation record and responsible owner.
- Handle expiry, refresh, revocation, and permission errors explicitly.
- Audit access and rotate according to risk and incident events.
Acceptance tests
A published asset is not necessarily a working system. Test normal, exception, duplicate, delayed, and recovery paths with traceable records.
- A revoked credential stops access and produces an actionable alert.
- One tenant cannot read or mutate another tenant.
- Refresh or rotation does not interrupt queued work.
- Logs redact credentials and sensitive payloads.
- Offboarding removes access without deleting required business data.
Rollback and recovery
Revoke the compromised or faulty credential, disable affected jobs, issue a replacement with corrected scope, and replay only verified work. Investigate logs for unauthorized access before returning to service.
Operating the system
Maintain a credential inventory with owner, scopes, installation, created date, last use, rotation due date, and revocation status. Alert on repeated authorization failures and anomalous access.
Failure modes to prevent
Shared tokens, excessive scopes, credentials in frontend code, missing tenant boundaries, and no revocation procedure turn a simple integration into a material security risk.