
# GoHighLevel (GHL) Integratie

Gebruik je GoHighLevel (GHL) al om je bedrijf te beheren? Met deze integratie kun je de AI-gestuurde berichtgeving van <span data-t="appName">Your AI Connector</span> toevoegen aan je bestaande GHL-configuratie. Berichten die in GHL binnenkomen, worden doorgestuurd naar <span data-t="appName">Your AI Connector</span> voor AI-gestuurde afhandeling, en antwoorden van <span data-t="appName">Your AI Connector</span> worden via GHL teruggestuurd naar de klant via het oorspronkelijke kanaal.

> Gebruik je een ander CRM? Het heeft geen speciaal scherm nodig om met <span data-t="appName">Your AI Connector</span> te werken: zie [Een tool verbinden die we niet vermelden](connecting-other-tools.md) voor aangepaste functies, de API en webhooks.

Dit betekent dat je GHL als je centrale hub kunt blijven gebruiken, terwijl je de AI de AI-gestuurde gesprekken laat afhandelen.

::: note
**Let op:** Dit is een technischere integratie waarbij geautomatiseerde workflows worden opgezet en systemen worden verbonden met behulp van webhooks (automatische meldingen tussen apps) en API-aanroepen. Als je je hier niet prettig bij voelt, kun je deze pagina misschien beter aan een ontwikkelaar of een technisch onderlegd teamlid geven.
:::


---

## Vereisten

- Een actief **<span data-t="appName">Your AI Connector</span>-account** met je API-sleutel (te vinden onder **Instellingen → Integraties → API-sleutel**). Een API-sleutel is een unieke code waarmee GHL veilig met je account kan communiceren.
- Een **GoHighLevel-account** met toestemming om workflows te maken en webhooks (geautomatiseerde meldingen tussen systemen) te beheren.

---

## Hoe het werkt

| Richting | Wat gebeurt er |
|---|---|
| **GHL naar <span data-t="appName">Your AI Connector</span>** | Een klant stuurt je een bericht via sms, e-mail, Messenger, Instagram of live chat in GHL. Een workflow stuurt dat bericht automatisch door naar <span data-t="appName">Your AI Connector</span>. <span data-t="appName">Your AI Connector</span> verwerkt het (AI-antwoord, tagging, enz.). |
| **<span data-t="appName">Your AI Connector</span> naar GHL** | Wanneer <span data-t="appName">Your AI Connector</span> een antwoord stuurt (handmatig of via AI), wordt GHL automatisch op de hoogte gesteld. Een workflow in GHL vindt de contactpersoon en verstuurt het antwoord via het juiste kanaal. |

---

## Workflow 1: GHL naar <span data-t="appName">Your AI Connector</span>

Deze workflow stuurt inkomende berichten van GHL door naar <span data-t="appName">Your AI Connector</span>.

### Stap 1: De workflow aanmaken

1. Ga in GHL naar **Automatisering > Workflows**.
2. Klik op **Nieuwe workflow maken**.
3. Geef het een beschrijvende naam, zoals "Bericht naar <span data-t="appName">Your AI Connector</span> sturen."

### Stap 2: Triggers toevoegen

Voeg een trigger toe voor elk kanaal dat je wilt doorsturen:

- Klant heeft geantwoord - SMS
- Klant heeft geantwoord - E-mail
- Klant heeft geantwoord - Facebook-bericht
- Klant heeft geantwoord - Instagram DM
- Klant heeft geantwoord - Livechat

Je kunt ze allemaal toevoegen of alleen de kanalen die relevant zijn voor jouw configuratie.

### Stap 3: Tagfilter toevoegen (Optioneel)

Als je alleen berichten van specifieke contacten wilt doorsturen:

1. Klik op **Filter toevoegen** bij de trigger.
2. Stel de voorwaarde in op "Contact heeft label."
3. Kies je label(s).
4. Selecteer of het contact **één van** of **alle** geselecteerde labels moet hebben.

### Stap 4: Een kanaalsplitsing maken

Voeg een **Voorwaarde**-actie toe om elk kanaal naar zijn eigen webhook te routeren:

| Vertakking | Voorwaarde |
|---|---|
| Vertakking 1 | Berichtbron is gelijk aan `Email` |
| Vertakking 2 | Berichtbron is gelijk aan `SMS` |
| Vertakking 3 | Berichtbron is gelijk aan `Messenger` |
| Vertakking 4 | Berichtbron is gelijk aan `Instagram` |
| Vertakking 5 | Berichtbron is gelijk aan `Live Chat` |

### Stap 5: Webhooks configureren

Voeg voor elke vertakking een **Webhook / HTTP-verzoek**-actie toe:

- **Methode:** `POST`
- **URL:**
  ```
  https://api.youraiconnector.com/v1/incoming_custom_channel_message?apiKey=YOUR_API_KEY
  ```

- **Aangepaste gegevensvelden:**

| Veld | Waarde | Opmerkingen |
|---|---|---|
| `messageSid` | `{{right_now.second}}{{contact.id}}` | Unieke bericht-ID |
| `fromId` | `{{contact.id}}` | GHL-contact-ID |
| `toId` | `{{user.id}}` | Jouw GHL-gebruikers-ID |
| `body` | `{{message.body}}` | De inhoud van het bericht |
| `channel` | Zie onderstaande tabel | Moet overeenkomen met de vertakking |
| `status` | `created` | Altijd instellen op `created` |
| `messageType` | `text` | Berichttype |

**Kanaalwaarden per vertakking:**

| Vertakking | `channel` waarde |
|---|---|
| E-mail | `email` |
| SMS | `sms` |
| Messenger | `messenger` |
| Instagram | `ig` |
| Live Chat | `livechat` |

::: warning
**Belangrijk:** Zorg ervoor dat de `channel`-waarde exact overeenkomt — deze zijn hoofdlettergevoelig.
:::


### Stap 6: Opnieuw invoeren inschakelen

Zorg ervoor dat in de workflowinstellingen **Opnieuw invoeren toestaan** is ingeschakeld. Zonder dit wordt alleen het eerste bericht van elk contact doorgestuurd.

---

## Workflow 2: Your AI Connector naar GHL

Deze workflow ontvangt antwoorden van Your AI Connector en verstuurt deze naar de klant via het juiste GHL-kanaal.

### Stap 1: Maak een Inbound Webhook aan in GHL

1. Ga in GHL naar **Instellingen > Ontwikkelaars / API**.
2. Klik op **Nieuwe webhook maken** (of "Inkomende webhook").
3. Noem deze "Berichten."
4. Sla op en **kopieer de webhook-URL** — deze heb je in de volgende stap nodig.

### Stap 2: Your AI Connector configureren

1. Klik in Your AI Connector in de zijbalk op **Settings**.
2. Klik onder **Channels** op **Channels**.
3. Scroll naar de kaart **Custom channel** helemaal onderaan de pagina.
4. Plak de GHL inbound webhook-URL die je zojuist hebt gekopieerd in **Webhook URL** (dit moet een openbaar HTTPS-adres zijn) en klik op **Save**.

> **Dit is niet de pagina Settings → Integrations → Webhooks.** Die pagina is bedoeld voor gebeurtenismeldingen en verstuurt een andere payload. De GHL outbound relay wordt ingesteld op de kaart **Custom channel** onder **Settings → Channels**.

Your AI Connector stuurt nu automatisch een melding naar GHL telkens wanneer er een bericht naar een contactpersoon wordt gestuurd. De verzonden gegevens zien er als volgt uit:

```json
{
  "contactId": "NtL97bwnhITrfIq8lWFi",
  "messageId": "s28dtg13qNuhXLoKpcLs",
  "userId": "wpDZRvaw4Hgh4whUBpwlKPRftOi2",
  "body": "Message content here",
  "toId": "qtpBsc6fiqkXTnSOeze3",
  "channel": "email"
}
```

> **Navigatie-opmerking:** de API-sleutel die je gebruikt voor Workflow 1 en de Custom channel-kaart die je hier gebruikt, bevinden zich op verschillende plaatsen — **Settings → Integrations → API Key** voor de sleutel, en de kaart **Custom channel** onderaan **Settings → Channels** voor deze relay. De aparte pagina **Settings → Integrations → Webhooks** is bedoeld voor gebeurtenismeldingen en verstuurt een andere payload; zie [Webhooks](webhooks.md) als je dat in plaats daarvan nodig hebt.

### Stap 3: Maak de Response Workflow aan

1. Ga in GHL naar **Automation > Workflows**.
2. Maak een nieuwe workflow aan genaamd "Send Message to Contact."
3. Stel de trigger in op **Inbound Webhook** en selecteer de webhook die je in stap 1 hebt aangemaakt.

### Stap 4: Voeg een Find Contact-actie toe

1. Voeg een **Find Contact**-actie toe.
2. Stel het zoekveld in op **Contact ID**.
3. Gebruik de waarde: `{{inboundWebhookRequest.toId}}`

### Stap 5: Voeg een optionele tag-controle toe

Als je wilt beperken welke contactpersonen berichten van Your AI Connector ontvangen:

1. Voeg een **Condition**-actie toe.
2. Controleer of de contactpersoon een specifieke tag heeft.
3. Als de tag ontbreekt, beëindig dan de workflow (voeg een "Stop"-actie toe aan de false-tak).

### Stap 6: Voeg een kanaalsplitsing toe

Voeg een **Voorwaarde**-actie toe die het bericht doorstuurt op basis van `{{inboundWebhookRequest.channel}}`:

| Vertakking | Voorwaarde | Actie |
|---|---|---|
| Vertakking 1 | is gelijk aan `email` | E-mail verzenden |
| Vertakking 2 | is gelijk aan `sms` | SMS verzenden |
| Vertakking 3 | is gelijk aan `messenger` | Facebook-bericht verzenden |
| Vertakking 4 | is gelijk aan `ig` | Instagram-bericht verzenden |
| Vertakking 5 | is gelijk aan `livechat` | Chatbericht verzenden |

### Stap 7: Configureer elke verzendactie

Stel in elke verzendactie de berichtinhoud in op:

```
{{inboundWebhookRequest.body}}
```

### Stap 8: Opnieuw binnenkomen inschakelen

Zorg er, net als bij Workflow 1, voor dat **Opnieuw binnenkomen toestaan** is ingeschakeld in de workflowinstellingen.

---

## De integratie testen

### Test GHL naar <span data-t="appName">Your AI Connector</span> (Workflow 1)

1. Stuur een bericht naar je GHL-nummer of verbonden kanaal (stuur bijvoorbeeld een sms naar jezelf).
2. Open <span data-t="appName">Your AI Connector</span> en controleer of het bericht verschijnt in **Chats**.
3. Controleer of het kanaallabel correct is (sms, e-mail, enz.).
4. Herhaal dit voor elk kanaal dat je hebt geconfigureerd.

### Test <span data-t="appName">Your AI Connector</span> naar GHL (Workflow 2)

1. Stuur in <span data-t="appName">Your AI Connector</span> een antwoord naar een contactpersoon (handmatig of laat de AI reageren).
2. Open GHL en controleer of de contactpersoon het bericht heeft ontvangen.
3. Bevestig dat het via het juiste kanaal is verzonden.
4. Controleer of de inhoud van het bericht overeenkomt.

---

## Probleemoplossing

| Probleem | Wat te controleren |
|---|---|
| Berichten bereiken <span data-t="appName">Your AI Connector</span> niet | Controleer of je API-sleutel correct is in de webhook-URL. Controleer of de workflow-triggers worden geactiveerd (GHL workflow-logs). Bevestig dat Allow Re-entry is ingeschakeld. |
| Berichten bereiken GHL niet | Controleer of de GHL inbound webhook-URL correct is geplakt in **Webhook URL** op de kaart **Custom channel** onderaan **Settings → Channels** (niet op de pagina Settings → Integrations → Webhooks, wat een andere functie is). Controleer of de GHL inbound webhook actief is. Bekijk de GHL workflow-uitvoeringslogs. |
| Contact niet gevonden in GHL | De `toId` in de webhook-gegevens moet overeenkomen met een bestaand GHL-contact-ID. Zorg ervoor dat contacten in beide systemen bestaan met overeenkomende ID's. |
| Verkeerd kanaal gebruikt voor antwoord | Controleer de kanaalwaarden in je voorwaardelijke vertakkingen dubbel. Ze moeten exact overeenkomen: `email`, `sms`, `messenger`, `ig`, `livechat`. |
| Alleen het eerste bericht wordt doorgestuurd | Schakel **Allow Re-entry** in bij beide workflow-instellingen. |

---

## Volgende stappen

- [Webhooks](webhooks.md) — stel webhooks in voor andere <span data-t="appName">Your AI Connector</span>-gebeurtenissen.
- [API-toegang](api-access.md) — gebruik de API voor aangepaste integraties buiten GHL.
- [Aangepaste kanalen](../messaging-channels/custom-channels.md) — leer meer over berichten via aangepaste kanalen.
