OAuth 2.0 Bridge

GoHighLevel to Poke

A small relay that handles the GoHighLevel OAuth handshake, keeps the access token fresh, and exposes one authenticated endpoint your automations can call. Connect once here, then point your scripts at the proxy.

Disconnected
01

Status

Credentials
Not set
02

Set client credentials

Paste the Client ID and Client Secret from your GoHighLevel Marketplace app. They are stored server-side in this app's database, never sent to the browser again. You can also provide them as the GHL_CLIENT_ID / GHL_CLIENT_SECRET environment variables instead.

03

Connect

Authorize the app on GoHighLevel and choose the sub-account (location) to link. You will be sent back here when it is done.

Redirect URI registered in your Marketplace app

/oauth/callback

Add your client credentials above before connecting.

04

API proxy

Call GoHighLevel API v2 through this endpoint. The bridge injects the bearer token and the Version: 2021-07-28 header, then forwards your request to services.leadconnectorhq.com and returns the response verbatim. Anything after /api/ghl/ is the GoHighLevel path.

Example request

https://ghl-bridge.example.poke.site/api/ghl/contacts/?locationId=<locationId>

No proxy key is set, so the endpoint is open within this private deployment. Set the PROXY_API_KEY environment variable to require Authorization: Bearer <key> on each call.

  • GET/api/ghl/<path>forward a read
  • POST/api/ghl/<path>forward a write (JSON body passed through)
  • GET/api/ghl-statusconnection health, no secrets
  • GET/api/ghl-testlive end-to-end self-check

Tokens live in this app's private database and refresh five minutes before they expire, including on the first proxy call after a restart.