ChakraHQChakraHQ

Conecte o agente de IA do n8n

Etapas para conectar o agente de IA do n8n ao WhatsApp usando webhooks e APIs do Chakra

Conectando um bot de IA do n8n ao WhatsApp

Neste artigo, vamos explorar como conectar um bot ou agente de IA do n8n ao WhatsApp. Para isso, usaremos as APIs e os webhooks do WhatsApp fornecidos pelo Chakra Chat.

Ao final deste processo, você deverá ter um agente de chat completo do n8n respondendo às perguntas dos usuários no seu número do WhatsApp conectado à nuvem.

Pré-requisitos

A) Vamos supor que você já tenha uma conta na nuvem do n8n ou que tenha o n8n hospedado em algum lugar acessível pela internet pública.

B) Você também precisa ter uma conta do Chakra Chat e já ter conectado o WhatsApp. Caso ainda não tenha feito isso, siga as etapas abaixo:

  1. Inscreva-se no Chakra Chat
  2. Conecte o WhatsApp

Observe também que você pode criar este bot com uma conta gratuita do Chakra Chat. 🎉

C) Você também precisará de uma conta e uma chave da OpenAI, pois usaremos a OpenAI como nosso provedor de IA. Você pode se inscrever para criar uma conta de desenvolvedor da OpenAI nesta página.

1. Configure o gatilho de webhook no n8n

1.1 Faça login na sua conta do n8n

Crie um novo fluxo de trabalho clicando no botão "Criar fluxo de trabalho" no canto superior direito do painel principal do n8n.

Create n8n Workflow

1.2 Adicione a primeira etapa

Clique no nó "Adicionar primeira etapa" e selecione o gatilho "Ao receber uma chamada de webhook" .

First Step

1.3 Configure a URL de teste do webhook

1.3.1 A página de configuração do gatilho de webhook deve estar aberta. Clique na URL de teste do webhook para copiá-la.

Test Webhook URL

1.3.2 Abra sua conta do Chakra Chat e acesse a página Configuração do WhatsApp . Clique na aba Mais .

WhatsApp Setup More Tab

1.3.3 Role a página para baixo e clique no botão de alternância abaixo de "Ativar webhook de encaminhamento".

Enable Pass Through Webhook

1.3.4 Cole a URL de teste do webhook do n8n que você copiou no campo abaixo de "URL do webhook de encaminhamento".

Pass Through Webhook URL

1.3.5 Clique no botão Salvar no canto superior direito da página de configuração do WhatsApp para salvar as configurações.

Save Configuration

1.4 Teste a integração

1.4.1 Volte ao n8n e altere o método HTTP do gatilho para POST na página de configuração do webhook.

HTTP Method to POST

1.4.2 Clique no botão "Aguardar evento de teste".

Listen to Test

1.4.3 Precisamos enviar uma mensagem para o número do WhatsApp usando o número de outro usuário do WhatsApp, para gerar um evento de teste do webhook.

Send Test message

1.4.4 Na página de configuração do gatilho do n8n, você deverá ver o evento de webhook correspondente à mensagem que acabou de enviar, como na captura de tela a seguir. Se não aparecer nenhum evento, revise as etapas anteriores e verifique sua configuração.

Review Setup

1.4.5 Pronto, agora podemos configurar um agente de IA. Então, clique em "Back to Canvas" e salve rapidamente todo o progresso feito até aqui no seu fluxo de trabalho.

2. Configurar um agente de IA

Agora vamos configurar um agente de IA da OpenAI no n8n.

2.1 Clique no botão + ao lado do gatilho de webhook no editor de fluxo de trabalho do n8n. Um painel deverá abrir à direita com as opções de nós. Clique em "AI" para exibir todas as opções de nós de IA.

Click AI

2.2 Clique em AI Agent para selecionar e adicionar um nó AI Agent.

Add AI Agent

2.3 A página de configuração do nó AI Agent deverá estar aberta agora.

Configure AI Node

2.4 Clique no menu suspenso de "Source for Prompt (User Message)". Por padrão, ele está configurado para receber a entrada do chat, mas precisamos conectá-lo à entrada do gatilho de webhook. Então, clique na opção "Define below".

Prompt Configuration

2.5 A guia Input, no lado esquerdo, mostra o objeto JSON completo enviado pelo webhook. Localize a message enviada na entrada do lado esquerdo e clique nela e arraste-a para a caixa de texto Prompt.

Prompt Message

2.6 Agora vamos configurar o modelo de chat. Clique no botão de adição abaixo da opção "Chat Model" na parte inferior da página.

Chat Model Configuration

2.7 Um submenu deverá abrir à direita com uma lista de modelos de IA disponíveis. Pesquise OpenAI e clique para selecioná-la.

Select OpenAI model

2.8 A página de configuração do subnó OpenAI deverá estar aberta agora. Aqui, precisamos configurar as credenciais da OpenAI. Se elas já estiverem disponíveis, selecione-as. Caso contrário, clique em create new credentials e informe uma chave de API da OpenAI.

OpenAI Credentials

Create New Credentials

2.9 Agora podemos voltar à tela do canvas clicando em "Go back to canvas" e clicar em "Execute Workflow" para testar a configuração até aqui. Isso fará com que o fluxo de trabalho comece a escutar eventos no webhook de teste.

Execute Workflow

2.10 Abra sua conta de WhatsApp de usuário final e envie uma mensagem para o seu número de WhatsApp conectado. Você não receberá uma resposta, mas deverá ver os registros da resposta da OpenAI no nó AI Agent. O nó AI Agent também deverá ficar contornado em verde, indicando que a execução foi bem-sucedida.

Se a execução não tiver sido bem-sucedida, revise sua configuração refazendo as etapas anteriores.

Review Steps

3: Enviar a resposta da IA para o usuário

Agora que nosso agente de IA consegue responder às mensagens recebidas no chat, vamos começar a enviá-las pelo WhatsApp.

3.1 No editor de fluxo de trabalho do n8n, clique no botão + à direita do nó AI Agent. O menu de seleção de nós será aberto. Na barra de pesquisa, digite "HTTP request" e clique no tipo de nó HTTP Request .

HTTP Request

3.2 Configure o nó HTTP Request para enviar uma mensagem pela API de envio de mensagens do WhatsApp.

Você encontra os detalhes sobre essa API nesta documentação da API. A configuração deve ser parecida com a abaixo:

  • Método: POST
  • URL: https://api.chakrahq.com/v1/ext/plugin/whatsapp/{{chakraPluginId}}/api/v22.0/{{whatsappPhoneNumberId}}/messages

POST Method

  • Cabeçalhos:

Authorization: Bearer {{chakraAccessToken}}

Authorization Header

  • Corpo: deve ser do tipo JSON

Body Type

  • Corpo: o objeto JSON completo deve ser assim

Body JSON

As informações necessárias para configurar a API acima estão disponíveis na sua conta do Chakra Chat. Veja a seguir uma breve descrição de cada uma:

Encontrar chakraPluginId

Na página de configuração do WhatsApp do Chakra Chat, localize o ícone de três pontos ao lado do botão de salvar, no canto superior direito. Clique nele e, em seguida, clique no botão "Copy Plugin Id". O ID do plugin será copiado e você poderá colá-lo onde precisar.

Encontrar whatsappPhoneNumberId

Na página de configuração do WhatsApp do Chakra Chat, clique no ícone de engrenagem ao lado de "📞 WhatsApp Phone Numbers". No painel que abrir, você encontrará o Meta ID de cada número de telefone na coluna de números.

Obter chakraAccessToken

Para usar as APIs do Chakra, primeiro você precisa criar uma chave de API para o seu caso de uso na seção API Keys do Chakra Chat.

Criar uma chave de API

Para criar uma chave de API, você precisa informar os seguintes dados:

  • Nome - Nome da chave. Use um nome significativo. Isso facilita o gerenciamento das chaves.
  • Description (opcional) — descrição das chaves de API
  • Access Role — escolha uma role para a nova chave de API. A chave de API herdará os privilégios concedidos à função atribuída e ficará limitada a eles. Verifique se as chaves de API expostas publicamente têm a função com os menores privilégios necessários para realizar a tarefa.

Depois de criar uma chave de API, você encontrará o chakraAccessToken na seção "Access Tokens" da chave de API criada.

3.3 Depois de configurar o HTTP Request, volte ao Canvas e clique no botão de execução da etapa acima do nó HTTP Request. Se tudo estiver configurado corretamente, o nó deverá executar a etapa sem problemas, e você receberá a resposta de teste da OpenAI na conta de WhatsApp do usuário final 🥳

4. Publicar o fluxo de trabalho

4.1 Salve seu fluxo de trabalho e marque-o como ativo.

Save Workflow Active

4.2 Clique duas vezes no webhook e clique em Production URL, em webhook URLs. Em seguida, clique na URL para copiá-la.

Copy Production URL

4.3 Agora, abra sua conta do Chakra Chat e acesse a página de configuração do WhatsApp. Em seguida, clique na guia more. Cole a URL do webhook copiada no campo abaixo de "URL do webhook de encaminhamento".

Pass through webhook URL

4.4 Clique em Save no canto superior direito da página para salvar essa configuração. Agora, os eventos do WhatsApp serão enviados para a URL do webhook de produção.

Conclusão

Pronto! Agora você pode testar seu bot e, em seguida, modificar o agente para resolver casos de uso mais complexos. O agente de IA descrito acima é bastante básico. Para casos de uso práticos, você precisará adicionar outros recursos, como memória ou processamento de imagens. Mas o princípio básico continua o mesmo.

Apêndice

A. Adicionar uma condição if para filtrar eventos que não sejam de mensagens

O webhook de encaminhamento geralmente recebe muitos eventos do WhatsApp; alguns são eventos de mensagem, enquanto outros podem ser eventos de status ou de cobrança. O ideal é adicionar um nó de condição if após o nó Webhook para filtrar os eventos que não sejam de mensagens.

Depois de fazer isso, lembre-se de alterar a expressão do prompt do usuário no nó AI Agent para selecionar corretamente os dados do webhook. Ela ficará mais ou menos assim:

{{ $('Webhook').item.json.body.entry[0].changes[0].value.messages[0].text.body }}

B. Usar memória para acompanhar uma conversa

Em algum momento, você vai querer usar memória para acompanhar uma conversa com um usuário. Os eventos de mensagem também incluem o número de telefone do usuário final; esse número é uma ótima chave para agrupar todas as mensagens.

C. Acessar mídias enviadas pelos usuários

Talvez você queira processar imagens ou documentos enviados pelos seus usuários. Nesse caso, os eventos de webhook do WhatsApp geralmente incluem um ID de mídia do WhatsApp. Você pode buscar a mídia associada a esse ID usando esta API de consulta de mídia.

Nesta página