---
title: "GoHighLevel"
description: "Connect GoHighLevel, obtain the required access and configure permitted actions."
url: "https://documentation.verbatik.com/integrations/gohighlevel/"
---

# GoHighLevel

Connect GoHighLevel, obtain the required access and configure permitted actions.

The API adapter is implemented. Validate your own account and authorized actions before routing production calls.

## Before you start

Connect the account belonging to this business and workspace. Vendor subscriptions, API limits and role permissions still apply.

**API:** HighLevel / LeadConnector API v2 (2021-07-28 version header)

**Authentication:** Sub-account Private Integration Token (simple setup), or customer-managed OAuth location token with renewal

## Get access and connect

1. Open the customer's HighLevel sub-account. Under Settings → Private Integrations create a dedicated Verbatik integration and select the contact, opportunity, calendar and location scopes needed.
2. Copy its Private Integration Token into Verbatik's accessToken credential. Enter the sub-account's locationId, not an agency/company ID. Do not use a legacy v1 API key.
3. For a distributable OAuth integration, register the app at https://marketplace.gohighlevel.com/ and complete the location authorization flow. Enter clientId, clientSecret and refreshToken alongside its location access token to enable renewal.
4. Agency OAuth tokens must be exchanged for a location token before use. Verbatik checks location metadata and rejects a refreshed token that identifies a different location.
5. Run Test connection, list opportunity pipelines, and use existing calendar IDs. Enable selected call actions or configure post-call CRM updates.
6. Booking checks live free slots before creating an appointment. Rescheduling and cancellation retain the caller-confirmation and action-receipt checks; these actions are excluded from post-call automation permissions.

## Account requirements

- A HighLevel sub-account and account permissions/API access for the selected scopes are required. Not every agency token or API plan includes every resource.
- Private Integration Tokens use their configured permissions and do not use the OAuth refresh flow. Rotate them when revoked or required by the account policy.
- OAuth requires a registered client and initial customer authorization. Automatic renewal requires all three renewal credentials; pasting only the access token does not configure permanent access.
- Calendars, pipelines, stages, location settings and reminder workflows must exist in the customer's HighLevel account. Verbatik does not create their business configuration implicitly.

## Permissions

- `locations.readonly`
- `contacts.readonly`
- `contacts.write`
- `opportunities.readonly`
- `opportunities.write`
- `calendars.readonly`
- `calendars/events.readonly`
- `calendars/events.write`

Grant the subset needed for the actions you enable. API scopes do not override the connected user’s record permissions or vendor validation rules.

## Connection fields

- `accessToken` — Sub-account Private Integration or OAuth token (optional). Secret fields are saved as workspace credentials.
- `clientId` — OAuth client ID (automatic renewal) (optional). Secret fields are saved as workspace credentials.
- `clientSecret` — OAuth client secret (automatic renewal) (optional). Secret fields are saved as workspace credentials.
- `refreshToken` — OAuth refresh token (automatic renewal) (optional). Secret fields are saved as workspace credentials.
- `locationId` — Sub-account / location ID (required).

## Available actions

- `test_connection` — **Read** · available for after-call automation. Read location metadata to verify the token.
- `find_contact` — **Read** · available for after-call automation. Find a contact by email or phone according to the location's duplicate-contact settings.
- `create_contact` — **Write** · available for after-call automation. Create a contact in the configured sub-account.
- `get_contact` — **Read** · available for after-call automation. Read a known contact.
- `update_contact` — **Write** · available for after-call automation. Update contact fields, including custom fields using HighLevel's documented payload.
- `list_pipelines` — **Read** · available for after-call automation. Read configured pipelines and stages before moving an opportunity.
- `create_opportunity` — **Write** · available for after-call automation. Create an opportunity in an existing pipeline and stage.
- `update_opportunity` — **Write** · available for after-call automation. Move an opportunity to a known pipeline stage or update its status and value.
- `add_note` — **Write** · available for after-call automation. Create a note on a contact.
- `create_task` — **Write** · available for after-call automation. Create a dated follow-up task on a contact.
- `add_tags` — **Write** · available for after-call automation. Add tags to a known contact.
- `check_availability` — **Read**. Read free appointment slots for a configured HighLevel calendar.
- `book_appointment` — **Write**. Book a checked available slot for an existing contact. Confirm only after a successful booking receipt.
- `reschedule_appointment` — **Write**. Move an existing appointment to a checked available slot.
- `cancel_appointment` — **Write**. Delete the identified calendar event after the caller confirms cancellation.


## Verify before going live

Run Test connection and one read action against a known permitted record. Then test each intended write in an authorized sandbox. Check the provider’s own record and the Verbatik receipt. Publish the agent after assigning its tools. If a write has an unknown outcome, reconcile it with the vendor before trying again.

## Vendor documentation

- [Setup and API documentation](https://help.gohighlevel.com/support/solutions/articles/155000003054-private-integrations-everything-you-need-to-know)
- [Additional provider reference](https://marketplace.gohighlevel.com/docs/Authorization/Scopes/)
- [Additional provider reference](https://marketplace.gohighlevel.com/docs/Authorization/OAuth2.0/index.html)
- [Additional provider reference](https://marketplace.gohighlevel.com/docs/2021-07-28/ghl/oauth/get-access-token/index.html)
- [Additional provider reference](https://marketplace.gohighlevel.com/docs/2021-07-28/ghl/calendars/create-appointment/index.html)
