
# Integração com GoHighLevel (GHL)

Já utiliza o GoHighLevel (GHL) para gerir o seu negócio? Esta integração permite-lhe adicionar as mensagens com tecnologia de IA do <span data-t="appName">Your AI Connector</span> à sua configuração atual do GHL. As mensagens que chegam ao GHL são reencaminhadas para o <span data-t="appName">Your AI Connector</span> para processamento por IA, e as respostas do <span data-t="appName">Your AI Connector</span> são enviadas de volta através do GHL para o cliente no canal original.

> Utiliza um CRM diferente? Não precisa de um ecrã dedicado para funcionar com o <span data-t="appName">Your AI Connector</span>: consulte [Ligar uma Ferramenta que Não Listamos](connecting-other-tools.md) para funções personalizadas, a API e webhooks.

Isto significa que pode continuar a utilizar o GHL como o seu centro principal, permitindo que a IA trate das conversas orientadas por IA.

::: note
**Nota:** Esta é uma integração mais técnica que envolve a configuração de fluxos de trabalho automatizados e a ligação de sistemas através de webhooks (notificações automáticas entre aplicações) e chamadas de API. Se não se sentir confortável com isto, poderá querer entregar esta página a um programador ou a um membro da equipa com conhecimentos técnicos.
:::


---

## Pré-requisitos

- Uma **conta <span data-t="appName">Your AI Connector</span>** ativa com a sua chave API (encontrada em **Definições → Integrações → Chave API**). Uma chave API é um código único que permite ao GHL comunicar de forma segura com a sua conta.
- Uma **conta GoHighLevel** com permissão para criar fluxos de trabalho e gerir webhooks (notificações automatizadas entre sistemas).

---

## Como Funciona

| Direção | O que acontece |
|---|---|
| **GHL para <span data-t="appName">Your AI Connector</span>** | Um cliente envia-lhe uma mensagem por SMS, e-mail, Messenger, Instagram ou chat em direto no GHL. Um fluxo de trabalho reencaminha automaticamente essa mensagem para o <span data-t="appName">Your AI Connector</span>. O <span data-t="appName">Your AI Connector</span> processa-a (resposta por IA, etiquetagem, etc.). |
| **<span data-t="appName">Your AI Connector</span> para GHL** | Quando o <span data-t="appName">Your AI Connector</span> envia uma resposta (manualmente ou via IA), notifica automaticamente o GHL. Um fluxo de trabalho no GHL encontra o contacto e envia a resposta através do canal correto. |

---

## Fluxo de trabalho 1: GHL para <span data-t="appName">Your AI Connector</span>

Este fluxo de trabalho reencaminha as mensagens recebidas do GHL para o <span data-t="appName">Your AI Connector</span>.

### Passo 1: Criar o fluxo de trabalho

1. No GHL, vá a **Automação > Fluxos de trabalho**.
2. Clique em **Criar novo fluxo de trabalho**.
3. Dê-lhe um nome descritivo, como "Enviar mensagem para o <span data-t="appName">Your AI Connector</span>."

### Passo 2: Adicionar gatilhos

Adicione um gatilho para cada canal que pretende reencaminhar:

- Cliente respondeu - SMS
- Cliente respondeu - E-mail
- Cliente respondeu - Mensagem de Facebook
- Cliente respondeu - Mensagem direta de Instagram
- Cliente respondeu - Chat em direto

Pode adicionar todos ou apenas os canais relevantes para a sua configuração.

### Passo 3: Adicionar filtro de etiqueta (Opcional)

Se pretender apenas reencaminhar mensagens de contactos específicos:

1. Clique em **Adicionar Filtro** no acionador.
2. Defina a condição como "O contacto tem a etiqueta."
3. Escolha a(s) sua(s) etiqueta(s).
4. Selecione se o contacto deve ter **qualquer** ou **todas** as etiquetas selecionadas.

### Passo 4: Criar uma Divisão de Canal

Adicione uma ação de **Condição** para encaminhar cada canal para o seu próprio webhook:

| Ramo | Condição |
|---|---|
| Ramo 1 | A origem da mensagem é igual a `Email` |
| Ramo 2 | A origem da mensagem é igual a `SMS` |
| Ramo 3 | A origem da mensagem é igual a `Messenger` |
| Ramo 4 | A origem da mensagem é igual a `Instagram` |
| Ramo 5 | A origem da mensagem é igual a `Live Chat` |

### Passo 5: Configurar Webhooks

Para cada ramo, adicione uma ação de **Webhook / Pedido HTTP**:

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

- **Campos de Dados Personalizados:**

| Campo | Valor | Notas |
|---|---|---|
| `messageSid` | `{{right_now.second}}{{contact.id}}` | Identificador único da mensagem |
| `fromId` | `{{contact.id}}` | ID de contacto GHL |
| `toId` | `{{user.id}}` | O seu ID de utilizador GHL |
| `body` | `{{message.body}}` | O conteúdo da mensagem |
| `channel` | Ver tabela abaixo | Deve corresponder ao ramo |
| `status` | `created` | Definir sempre como `created` |
| `messageType` | `text` | Tipo de mensagem |

**Valores de canal por ramo:**

| Ramo | Valor de `channel` |
|---|---|
| Email | `email` |
| SMS | `sms` |
| Messenger | `messenger` |
| Instagram | `ig` |
| Live Chat | `livechat` |

::: warning
**Importante:** Certifique-se de que o valor `channel` corresponde exatamente — estes são sensíveis a maiúsculas e minúsculas.
:::


### Passo 6: Ativar Reentrada

Nas definições do fluxo de trabalho, certifique-se de que a opção **Permitir Reentrada** está ativada. Sem isto, apenas a primeira mensagem de cada contacto será reencaminhada.

---

## Fluxo de trabalho 2: Your AI Connector para GHL

Este fluxo de trabalho recebe respostas do Your AI Connector e envia-as para o cliente através do canal GHL correto.

### Passo 1: Criar um Webhook de entrada no GHL

1. No GHL, vá a **Settings > Developers / API**.
2. Clique em **Create New Webhook** (ou "Inbound Webhook").
3. Dê-lhe o nome "Messages."
4. Guarde e **copie o URL do webhook** — irá precisar dele no passo seguinte.

### Passo 2: Configurar o Your AI Connector

1. Em Your AI Connector, clique em **Settings** na barra lateral.
2. Em **Channels**, clique em **Channels**.
3. Desloque-se até ao cartão **Custom channel** no final da página.
4. Cole o URL do webhook de entrada do GHL que acabou de copiar em **Webhook URL** (tem de ser um endereço HTTPS público) e clique em **Save**.

> **Esta não é a página Settings → Integrations → Webhooks.** Essa página destina-se a notificações de eventos e envia um payload diferente. O reencaminhamento de saída do GHL é configurado no cartão **Custom channel** em **Settings → Channels**.

O Your AI Connector enviará agora automaticamente uma notificação para o GHL sempre que uma mensagem for enviada para um contacto. Os dados enviados têm o seguinte aspeto:

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

> **Nota de navegação:** a chave de API que utiliza para o Workflow 1 e o cartão Custom channel que utiliza aqui encontram-se em locais diferentes — **Settings → Integrations → API Key** para a chave, e o cartão **Custom channel** no fundo de **Settings → Channels** para este reencaminhamento. A página separada **Settings → Integrations → Webhooks** destina-se a notificações de eventos e envia um payload diferente; consulte [Webhooks](webhooks.md) se for isso que pretende.

### Passo 3: Criar o Fluxo de trabalho de resposta

1. No GHL, vá a **Automation > Workflows**.
2. Crie um novo fluxo de trabalho chamado "Send Message to Contact."
3. Defina o gatilho (trigger) como **Inbound Webhook** e selecione o webhook que criou no Passo 1.

### Passo 4: Adicionar uma ação de Encontrar Contacto

1. Adicione uma ação **Find Contact**.
2. Defina o campo de pesquisa como **Contact ID**.
3. Utilize o valor: `{{inboundWebhookRequest.toId}}`

### Passo 5: Adicionar uma verificação de etiqueta opcional

Se pretender limitar quais os contactos que recebem mensagens do Your AI Connector:

1. Adicione uma ação **Condition**.
2. Verifique se o contacto tem uma etiqueta específica.
3. Se a etiqueta não existir, termine o fluxo de trabalho (adicione uma ação "Stop" no ramo falso).

### Passo 6: Adicionar uma divisão de canal

Adicione uma ação **Condição** que encaminha a mensagem com base em `{{inboundWebhookRequest.channel}}`:

| Ramo | Condição | Ação |
|---|---|---|
| Ramo 1 | igual a `email` | Enviar E-mail |
| Ramo 2 | igual a `sms` | Enviar SMS |
| Ramo 3 | igual a `messenger` | Enviar Mensagem de Facebook |
| Ramo 4 | igual a `ig` | Enviar Mensagem de Instagram |
| Ramo 5 | igual a `livechat` | Enviar Mensagem de Chat |

### Passo 7: Configurar cada ação de envio

Em cada ação de envio, defina o corpo da mensagem como:

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

### Passo 8: Ativar reentrada

Tal como no Fluxo de Trabalho 1, certifique-se de que a opção **Permitir reentrada** está ativada nas definições do fluxo de trabalho.

---

## Testar a integração

### Testar GHL para <span data-t="appName">Your AI Connector</span> (Fluxo de trabalho 1)

1. Envie uma mensagem para o seu número GHL ou canal ligado (por exemplo, envie um SMS para si próprio).
2. Abra o <span data-t="appName">Your AI Connector</span> e verifique se a mensagem aparece em **Chats**.
3. Verifique se a etiqueta do canal está correta (SMS, e-mail, etc.).
4. Repita para cada canal que configurou.

### Testar <span data-t="appName">Your AI Connector</span> para GHL (Fluxo de trabalho 2)

1. Em <span data-t="appName">Your AI Connector</span>, envie uma resposta a um contacto (manualmente ou deixe a IA responder).
2. Abra o GHL e verifique se o contacto recebeu a mensagem.
3. Confirme se foi enviada através do canal correto.
4. Verifique se o conteúdo da mensagem corresponde.

---

## Resolução de Problemas

| Problema | O que verificar |
|---|---|
| As mensagens não chegam ao <span data-t="appName">Your AI Connector</span> | Verifique se a sua chave de API está correta no URL do webhook. Verifique se os gatilhos do fluxo de trabalho estão a ser ativados (registos de fluxo de trabalho do GHL). Confirme se a opção Allow Re-entry está ativada. |
| As mensagens não chegam ao GHL | Verifique se o URL do webhook de entrada do GHL foi colado corretamente em **Webhook URL** no cartão **Custom channel** no fundo de **Settings → Channels** (não na página Settings → Integrations → Webhooks, que é uma funcionalidade diferente). Verifique se o webhook de entrada do GHL está ativo. Reveja os registos de execução do fluxo de trabalho do GHL. |
| Contacto não encontrado no GHL | O `toId` nos dados do webhook deve corresponder a um ID de contacto existente no GHL. Certifique-se de que os contactos existem em ambos os sistemas com IDs correspondentes. |
| Canal incorreto utilizado para resposta | Verifique novamente os valores do canal nas suas ramificações de condição. Devem corresponder exatamente: `email`, `sms`, `messenger`, `ig`, `livechat`. |
| Apenas a primeira mensagem é reencaminhada | Ative a opção **Allow Re-entry** nas definições de ambos os fluxos de trabalho. |

---

## Próximos Passos

- [Webhooks](webhooks.md) — configure webhooks para outros eventos do <span data-t="appName">Your AI Connector</span>.
- [Acesso à API](api-access.md) — utilize a API para integrações personalizadas para além do GHL.
- [Canais Personalizados](../messaging-channels/custom-channels.md) — saiba mais sobre mensagens de canais personalizados.
