# GoHighLevel

Nimbata's GoHighLevel integration automatically sends call data to GoHighLevel, so you can track leads, update deals, and keep your sales pipeline accurate. When a caller is not in GoHighLevel yet, Nimbata creates the records you choose, such as a Contact and a Note. When the caller is already a contact, it updates the fields you map. A workflow decides which calls are sent.

**Before you start**

- Permissions: GoHighLevel, under Integrations, in your Nimbata role
- A GoHighLevel account you can sign in to.
- The Nimbata project whose calls you want to send: the integration is set up per project.

## Connect GoHighLevel

1. (1) **Open the GoHighLevel integration**

   Go to **Integrations** and click **Go to integration** on the **GoHighLevel** tile (1), or go straight to [Integrations > GoHighLevel](https://app.nimbata.com/integrations/service/gohighlevel).

   [The GoHighLevel tile on the Integrations page, with Go to integration marked 1]

   *Open the GoHighLevel tile (1).*

2. (1) **Connect your GoHighLevel account**

   - Click **Connect** (1).
   - In the authorization pop-up, click **Allow and Install**.

   [The GoHighLevel integration page before it is connected, with the Connect button marked 1]

   *Click Connect (1).*

## Configure GoHighLevel

Each setup, such as **GoHighLevel Settings 1**, has two sections: **Caller not found**, what Nimbata creates when the caller is not in GoHighLevel, and **Caller found**, what it updates when they are. To send different calls to GoHighLevel in different ways, click **Set up GoHighLevel** to add another setup; each workflow picks the setup it sends.

1. **Map your fields**

   Map Nimbata fields to GoHighLevel fields for two scenarios:

   - One for when the caller **is not found** in your CRM (**Caller not found**)
   - One for when they **already exist** (**Caller found**)

   Click **+ Add object** to add each record, or **Use Default Config** to fill in the recommended mapping.

   [The GoHighLevel Caller not found section: Create a Contact with First Name, Last Name, Phone and Contact Source mapped, and Create a Note with its Body]

   *Caller not found: a new Contact with its fields mapped, then a Note.*

2. (1) **Choose how duplicate contacts are handled**

   In the **Caller found** section, GoHighLevel matches callers against **Contact** records only. Choose how to handle duplicates (1), when the same Caller ID is found on more than one contact: **Handle first**, **Handle all** or **Ignore all**.

   [The GoHighLevel Caller found section: the entity question with Contact as its only option, and the duplicates question with Handle first chosen, marked 1]

   *Choose how to handle duplicates (1).*

## Test the integration

1. **Send a test event**

   Click **Send Test and Save**, fill in the test values, including a **Caller ID**, and click **Send event**. If the Caller ID is already a GoHighLevel contact, Nimbata runs your **Caller found** actions, otherwise your **Caller not found** actions. Review the test event in GoHighLevel.

2. **Save the setup**

   Click **Save**. Calls start reaching GoHighLevel once a workflow sends them (below).

## Send calls with a workflow

Which calls are sent is decided by a workflow with a GoHighLevel action: a workflow that runs when a call ends, with no filter, sends every call, and its filters (for example call outcome or tracking number) narrow it down.

1. **Create a workflow**

   Go to **Workflows**, click **Create** and choose **From Scratch**. Keep the **Inbound Call** trigger with **Call Ends**, and add any filters you need.

2. (1) **Add the GoHighLevel action**

   Click the **+** plus sign, select **Perform action**, and choose **GoHighLevel** under **Integrations**. Pick your setup under **Select configuration** (1), then click **OK**.

   [The GoHighLevel pop-up of the workflow builder, with the GoHighLevel Settings 1 setup selected and marked 1]

   *Pick the GoHighLevel setup to send (1), then click OK.*

3. (1) **Enable the workflow**

   Click **Enable** (1).

   [A workflow firing on Inbound Call, Call Ends, with a GoHighLevel action sending GoHighLevel Settings 1, and the Enable button marked 1]

   *The workflow sends every inbound call to GoHighLevel when it ends. Click Enable (1).*

Detailed guide: [Create a workflow](https://help.nimbata.com/workflows/workflows#create-a-workflow)

## Check it worked

The GoHighLevel page now shows the workflow that uses the integration. Place a test call to one of your tracking numbers: once it ends, the contact appears in GoHighLevel.

[The connected GoHighLevel integration, used in 1 workflow, with GoHighLevel Settings 1 used by the GoHighLevel calls workflow]

*The page shows Used in 1 workflow, and the setup lists the workflow that sends it.*

🎉 Done! All calls that match your workflow criteria are automatically logged in GoHighLevel.

## Troubleshooting

### The GoHighLevel tile says Disconnected

Nimbata has lost its connection to GoHighLevel. Your GoHighLevel settings are saved, but nothing is sent until you reconnect: open the integration and click **Reconnect** in the red **Disconnected.** banner.

[The GoHighLevel tile on the Integrations page with a red Disconnected badge]

*A disconnected integration shows a red Disconnected badge on its tile.*

### Send Test and Save is greyed out

- Connect GoHighLevel first: the button stays off until the integration is connected.
- Map at least one field under **Caller not found** or **Caller found**.
- If the test answers "Please provide a valid caller id", fill in the **Caller ID** box in the test panel.

### Calls are not reaching GoHighLevel

- Check that a workflow with a **GoHighLevel** action is enabled, and that its filters let the call through.
- Check that the workflow's GoHighLevel action uses the setup you configured, under **Select configuration**.
- Check that the GoHighLevel tile does not say **Disconnected**.
- Send a test from **Send Test and Save** to see the error GoHighLevel returns.
