
# GoHighLevel (GHL) Integration

Bruger du allerede GoHighLevel (GHL) til at administrere din virksomhed? Denne integration lader dig tilføje <span data-t="appName">Your AI Connector</span>'s AI-drevne beskeder oven på din eksisterende GHL-opsætning. Beskeder, der kommer ind i GHL, videresendes til <span data-t="appName">Your AI Connector</span> til AI-drevet håndtering, og svar fra <span data-t="appName">Your AI Connector</span> sendes tilbage gennem GHL til kunden på den oprindelige kanal.

> Bruger du et andet CRM? Det behøver ikke en dedikeret skærm for at fungere med <span data-t="appName">Your AI Connector</span>: se [Tilslutning af et værktøj, vi ikke har på listen](connecting-other-tools.md) for brugerdefinerede funktioner, API'et og webhooks.

Det betyder, at du kan fortsætte med at bruge GHL som dit primære knudepunkt, mens du lader AI'en håndtere de AI-drevne samtaler.

::: note
**Bemærk:** Dette er en mere teknisk integration, der involverer opsætning af automatiserede arbejdsgange og forbindelse af systemer ved hjælp af webhooks (automatiske meddelelser mellem apps) og API-kald. Hvis du ikke er tryg ved dette, kan du med fordel give denne side til en udvikler eller et teknisk kyndigt teammedlem.
:::


---

## Forudsætninger

- En aktiv **<span data-t="appName">Your AI Connector</span>-konto** med din API-nøgle (findes under **Settings → Integrations → API Key**). En API-nøgle er en unik kode, der lader GHL kommunikere sikkert med din konto.
- En **GoHighLevel-konto** med tilladelse til at oprette workflows og administrere webhooks (automatiserede meddelelser mellem systemer).

---

## Hvordan det fungerer

| Retning | Hvad sker der |
|---|---|
| **GHL til <span data-t="appName">Your AI Connector</span>** | En kunde sender dig en besked via SMS, e-mail, Messenger, Instagram eller live chat i GHL. Et workflow videresender automatisk beskeden til <span data-t="appName">Your AI Connector</span>. <span data-t="appName">Your AI Connector</span> behandler den (AI-svar, tagging osv.). |
| **<span data-t="appName">Your AI Connector</span> til GHL** | Når <span data-t="appName">Your AI Connector</span> sender et svar (manuelt eller via AI), giver det automatisk besked til GHL. Et workflow i GHL finder kontakten og sender svaret gennem den korrekte kanal. |

---

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

Dette workflow videresender indgående beskeder fra GHL til <span data-t="appName">Your AI Connector</span>.

### Trin 1: Opret arbejdsgangen

1. I GHL skal du gå til **Automation > Workflows**.
2. Klik på **Create New Workflow**.
3. Giv det et beskrivende navn, såsom "Send besked til <span data-t="appName">Your AI Connector</span>."

### Trin 2: Tilføj udløsere

Tilføj en udløser for hver kanal, du vil videresende:

- Kunde svarede - SMS
- Kunde svarede - E-mail
- Kunde svarede - Facebook-besked
- Kunde svarede - Instagram DM
- Kunde svarede - Live Chat

Du kan tilføje dem alle eller kun de kanaler, der er relevante for din opsætning.

### Trin 3: Tilføj tag-filter (valgfrit)

Hvis du kun ønsker at videresende beskeder fra specifikke kontakter:

1. Klik på **Tilføj filter** på triggeren.
2. Indstil betingelsen til "Kontakt har tag."
3. Vælg dit/dine tag(s).
4. Vælg om kontakten skal have **nogen** eller **alle** af de valgte tags.

### Trin 4: Opret en kanalopdeling

Tilføj en **Betingelse**-handling for at dirigere hver kanal til dens egen webhook:

| Gren | Betingelse |
|---|---|
| Gren 1 | Beskedkilde er lig med `Email` |
| Gren 2 | Beskedkilde er lig med `SMS` |
| Gren 3 | Beskedkilde er lig med `Messenger` |
| Gren 4 | Beskedkilde er lig med `Instagram` |
| Gren 5 | Beskedkilde er lig med `Live Chat` |

### Trin 5: Konfigurer webhooks

For hver gren skal du tilføje en **Webhook / HTTP-anmodning**-handling:

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

- **Brugerdefinerede datafelter:**

| Felt | Værdi | Noter |
|---|---|---|
| `messageSid` | `{{right_now.second}}{{contact.id}}` | Unik beskedidentifikator |
| `fromId` | `{{contact.id}}` | GHL-kontakt-ID |
| `toId` | `{{user.id}}` | Dit GHL-bruger-ID |
| `body` | `{{message.body}}` | Beskedindholdet |
| `channel` | Se tabellen nedenfor | Skal matche grenen |
| `status` | `created` | Sættes altid til `created` |
| `messageType` | `text` | Beskedtype |

**Kanalværdier pr. gren:**

| Gren | `channel` værdi |
|---|---|
| E-mail | `email` |
| SMS | `sms` |
| Messenger | `messenger` |
| Instagram | `ig` |
| Live Chat | `livechat` |

::: warning
**Vigtigt:** Sørg for, at `channel`-værdien stemmer præcis overens — der skelnes mellem store og små bogstaver.
:::


### Trin 6: Aktivér genindtræden

I workflow-indstillingerne skal du sikre dig, at **Tillad genindtræden** er aktiveret. Uden dette vil kun den første besked fra hver kontakt blive videresendt.

---

## Workflow 2: Your AI Connector til GHL

Dette workflow modtager svar fra Your AI Connector og sender dem til kunden gennem den korrekte GHL-kanal.

### Trin 1: Opret en indgående webhook i GHL

1. I GHL skal du gå til **Indstillinger > Udviklere / API**.
2. Klik på **Opret nyt webhook** (eller "Indgående webhook").
3. Navngiv det "Beskeder."
4. Gem og **kopiér webhook-URL'en** — du får brug for den i næste trin.

### Trin 2: Konfigurer Your AI Connector

1. I Your AI Connector skal du klikke på **Indstillinger** i sidepanelet.
2. Under **Kanaler** skal du klikke på **Kanaler**.
3. Rul ned til kortet **Brugerdefineret kanal** nederst på siden.
4. Indsæt den GHL-indgående webhook-URL, du lige har kopieret, i **Webhook-URL** (det skal være en offentlig HTTPS-adresse) og klik på **Gem**.

> **Dette er ikke siden Indstillinger → Integrationer → Webhooks.** Den side er til hændelsesmeddelelser og sender en anden nyttelast. GHL-udgående relæet indstilles på kortet **Brugerdefineret kanal** under **Indstillinger → Kanaler**.

Your AI Connector vil nu automatisk sende en meddelelse til GHL, hver gang en besked sendes til en kontakt. De sendte data ser således ud:

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

> **Navigationsnote:** Den API-nøgle, du bruger til Arbejdsgang 1, og det kort for Brugerdefineret kanal, du bruger her, findes forskellige steder — **Indstillinger → Integrationer → API-nøgle** for nøglen, og kortet **Brugerdefineret kanal** nederst på **Indstillinger → Kanaler** for dette relæ. Den separate side **Indstillinger → Integrationer → Webhooks** er til hændelsesmeddelelser og sender en anden nyttelast; se [Webhooks](webhooks.md), hvis det er det, du ønsker i stedet.

### Trin 3: Opret svars-arbejdsgangen

1. Gå til **Automation > Workflows** i GHL.
2. Opret en ny arbejdsgang med navnet "Send Message to Contact."
3. Indstil udløseren (trigger) til **Inbound Webhook** og vælg den webhook, du oprettede i trin 1.

### Trin 4: Tilføj en Find kontakt-handling

1. Tilføj en **Find Contact**-handling.
2. Indstil søgefeltet til **Contact ID**.
3. Brug værdien: `{{inboundWebhookRequest.toId}}`

### Trin 5: Tilføj en valgfri tjek af tags

Hvis du vil begrænse, hvilke kontakter der modtager beskeder fra Your AI Connector:

1. Tilføj en **Condition**-handling.
2. Tjek om kontakten har et specifikt tag.
3. Hvis tagget mangler, afslut arbejdsgangen (tilføj en "Stop"-handling på den falske gren).

### Trin 6: Tilføj en kanalopdeling

Tilføj en **Betingelse**-handling, der dirigerer beskeden baseret på `{{inboundWebhookRequest.channel}}`:

| Gren | Betingelse | Handling |
|---|---|---|
| Gren 1 | lig med `email` | Send e-mail |
| Gren 2 | lig med `sms` | Send SMS |
| Gren 3 | lig med `messenger` | Send Facebook-besked |
| Gren 4 | lig med `ig` | Send Instagram-besked |
| Gren 5 | lig med `livechat` | Send chatbesked |

### Trin 7: Konfigurer hver send-handling

I hver send-handling skal du indstille beskedteksten til:

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

### Trin 8: Aktivér genindtræden

Som med Workflow 1 skal du sikre dig, at **Tillad genindtræden** er aktiveret i workflow-indstillingerne.

---

## Test af integrationen

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

1. Send en besked til dit GHL-nummer eller en forbundet kanal (send for eksempel en SMS til dig selv).
2. Åbn <span data-t="appName">Your AI Connector</span> og bekræft, at beskeden vises under **Chats**.
3. Kontroller, at kanaletiketten er korrekt (SMS, e-mail osv.).
4. Gentag for hver kanal, du har konfigureret.

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

1. I <span data-t="appName">Your AI Connector</span>, send et svar til en kontaktperson (manuelt eller lad AI'en svare).
2. Åbn GHL og bekræft, at kontaktpersonen har modtaget beskeden.
3. Bekræft, at den blev sendt gennem den korrekte kanal.
4. Tjek, at beskedindholdet stemmer overens.

---

## Fejlfinding

| Problem | Hvad skal tjekkes |
|---|---|
| Beskeder når ikke <span data-t="appName">Your AI Connector</span> | Bekræft, at din API-nøgle er korrekt i webhook-URL'en. Tjek, at arbejdsgangens udløsere aktiveres (GHL-arbejdsgangslogfiler). Bekræft, at Tillad genindtræden er aktiveret. |
| Beskeder når ikke GHL | Bekræft, at GHL-indgående webhook-URL er indsat korrekt i **Webhook-URL** på kortet **Brugerdefineret kanal** nederst på **Indstillinger → Kanaler** (ikke på siden Indstillinger → Integrationer → Webhooks, som er en anden funktion). Tjek, at GHL-indgående webhook er aktiv. Gennemgå GHL-arbejdsgangens udførelseslogfiler. |
| Kontakt ikke fundet i GHL | `toId` i webhook-dataene skal matche et eksisterende GHL-kontakt-id. Sørg for, at kontakter findes i begge systemer med matchende id'er. |
| Forkert kanal brugt til svar | Dobbelttjek kanalværdierne i dine betingelsesgrene. De skal matche præcist: `email`, `sms`, `messenger`, `ig`, `livechat`. |
| Kun første besked videresendes | Aktivér **Tillad genindtræden** i begge arbejdsgangsindstillinger. |

---

## Næste skridt

- [Webhooks](webhooks.md) — opsæt webhooks til andre <span data-t="appName">Your AI Connector</span>-hændelser.
- [API-adgang](api-access.md) — brug API'en til brugerdefinerede integrationer udover GHL.
- [Brugerdefinerede kanaler](../messaging-channels/custom-channels.md) — lær mere om beskeder via brugerdefinerede kanaler.
