Como usar o ChatGPT no N8N via WebHook sem API

Quando falamos de automação e workflow usando Inteligência Artificial, a solução mais comum é usar a API do GPT. No entanto, essa abordagem pode gerar custos significativos, especialmente dependendo do modelo utilizado.

Mas e se fosse possível usar o ChatGPT Plus, que custa apenas 20 USD por mês, para enviar informações diretamente para o N8N? Imagine automatizar tarefas como criar um artigo escrito pelo ChatGPT, cadastrar usuários ou executar outras ações que anteriormente exigiriam formulários externos e preenchimento manual de campos.

Felizmente, o ChatGPT oferece essa possibilidade por meio da comunicação via POST, usando Chats Personalizados. Neste artigo, vamos explorar como configurar essa integração de forma eficiente.

Vantagens de usar o ChatGPT

Além da economia com API de modelos mais caros, você talvez já tenha que pagar o ChatGPT Plus, então precisa aproveitar ao máximo a mensalidade da plataforma. Outra vantagem é que as respostas do ChatGPT costumam ser melhores que da API, mesmo configurando corretamente temperatura.

Usar o ChatGPT ao invés da API também da liberdade nas alterações de prompt de maneira manual. Caso você crie um Workflow com API talvez seja necessário toda vez editar o Workflow para fazer alterações. Se a automação existe no Chat, você pode conversar com próprio ChatGPT para enviar da maneira que desejar os dados, permitindo até mesmo usar um único Chat par acionar várias automações diferentes.

Você pode enviar também imagens e outras informações via Webhook que provavelmente custaria muito mais caro usando API.

Conectando o ChatGPT ao N8N

No vídeo abaixo eu explico melhor como fiz essa automação, mas ao longo do artigo vou ajuda-lo a configurar. Tudo que fiz foi realizado com a ajuda do próprio GPT, então pergunte a ele como gerar o código e criar sua automação de acordo com suas necessidades.

Configurando o ChatGPT com o N8N via WebHook

1. Criar um Chat Personalizado no ChatGPT

  • Acesse o ChatGPT Plus.
  • Clique em “Explorar GPTs” no menu lateral.
  • Selecione “Criar novo GPT”.
  • Personalize o comportamento do GPT conforme sua necessidade.
  • Na aba Ações, clique em “Criar Nova Ação”:
    • Dê um nome à ação (por exemplo, “Enviar para N8N”).
    • Configure o método HTTP como POST.
    • Insira a URL do WebHook gerado pelo N8N.

2. Configurar o WebHook no N8N

  • Abra o painel do N8N e crie um novo fluxo.
  • Adicione um nó WebHook:
    • Escolha um nome para o nó.
    • Configure o método como POST.
    • Copie a URL do WebHook gerado para usar no Chat Personalizado.
  • Teste o WebHook enviando uma requisição diretamente pelo ChatGPT para verificar se os dados estão sendo recebidos corretamente.

3. Enviar Dados do ChatGPT para o WebHook

  • No ChatGPT, ao interagir com o Chat Personalizado, acione a ação criada.
  • Os dados processados pelo ChatGPT serão enviados automaticamente para o WebHook do N8N.

4. Criar o Fluxo no N8N

  • Após receber os dados no WebHook, configure outros nós no N8N para processar as informações. Exemplos:
    • Armazenar os dados em uma planilha (Google Sheets).
    • Enviar notificações por e-mail.
    • Criar tarefas em ferramentas de gestão como Trello ou ClickUp.
    • Atualizar um banco de dados ou sistema de CRM.

Código Usado

O código abaixo envia para o N8N tanto a resposta como a pergunta feita no chat, agora cabe a você configurar o prompt e o N8N corretamente para usar os dados da maneira que desejar. O ChatGPT também pode ser capaz de enviar e separar mais dados, basta configurar corretamente novos códigos e Prompts.

openapi: 3.1.0
info:
  title: Enviar pergunta e resposta ao n8n
  description: Envia a pergunta e a resposta geradas pelo ChatGPT para o seu Webhook no n8n.
  version: 1.0.1
servers:
  - url: https://LINKDOWEBHOOKN8N
    description: Webhook configurado no n8n
paths:
  /:
    post:
      operationId: sendQuestionAndResponseToN8n
      summary: Envia a pergunta e a resposta para o n8n.
      description: Envia um JSON contendo a pergunta, a resposta gerada pelo ChatGPT e metadados opcionais.
      x-openai-isConsequential: false # Permite que o usuário autorize permanentemente sem confirmações futuras
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                question:
                  type: string
                  description: A pergunta enviada ao ChatGPT que será enviada ao n8n.
                response:
                  type: string
                  description: A resposta gerada pelo ChatGPT que será enviada ao n8n.
                metadata:
                  type: object
                  description: Metadados adicionais que podem ser usados para contexto.
                  properties:
                    userId:
                      type: string
                      description: Um identificador opcional para o usuário.
                    timestamp:
                      type: string
                      format: date-time
                      description: O horário em que a resposta foi gerada.
                    source:
                      type: string
                      description: A origem da solicitação, se aplicável.
      responses:
        '200':
          description: Dados enviados com sucesso.
        '400':
          description: Solicitação inválida.

x-openai-isConsequential: false

Em alguns casos, você pode se deparar com uma pergunta de permissão para conectar a um domínio externo toda vez que o ChatGPT for realizar uma ação, a forma de burlar isso é com a opção x-openai-isConsequential: false que permite ativar a opção de Sempre Permitir.

É essencial usar essa função em seu código para agilizar ainda mais o processo, visto que trata-se de uma ação manual entrar em contato com chat para realizar a conexão com N8N e enviar as informações.