Come usare ChatGPT in N8N tramite WebHook senza API

Quando parliamo di automazione e workflow utilizzando Intelligenza Artificiale, la soluzione più comune è utilizzare la API di GPT. Tuttavia, questo approccio può comportare costi significativi, specialmente a seconda del modello utilizzato.

Ma se fosse possibile utilizzare ChatGPT Plus, che costa solo 20 USD al mese, per inviare informazioni direttamente a N8N? Immagina di automatizzare compiti come creare un articolo scritto da ChatGPT, registrare utenti o eseguire altre azioni che prima richiedevano moduli esterni e compilazione manuale di campi.

Fortunatamente, ChatGPT offre questa possibilità tramite la comunicazione via POST, utilizzando Chats Personalizzati. In questo articolo, esploreremo come configurare questa integrazione in modo efficiente.

Vantaggi di usare ChatGPT

Oltre al risparmio con le API di modelli più costosi, potresti già dover pagare il ChatGPT Plus, quindi devi sfruttare al massimo l'abbonamento alla piattaforma. Un altro vantaggio è che le risposte di ChatGPT tendono a essere migliori rispetto a quelle dell'API, anche configurando correttamente la temperatura.

Utilizzare ChatGPT invece dell'API consente anche una maggiore libertà nelle modifiche manuali del prompt. Se crei un Workflow con l'API, potrebbe essere necessario modificare ogni volta il Workflow per effettuare delle variazioni. Se l'automazione esiste nella Chat, puoi conversare direttamente con ChatGPT per inviare i dati nel modo che desideri, consentendo persino di utilizzare una sola Chat per attivare diverse automazioni.

Puoi inviare anche immagini e altre informazioni tramite Webhook che probabilmente costerebbero molto di più utilizzando l'API.

Collegare ChatGPT a N8N

Nel video qui sotto spiego meglio come ho realizzato questa automazione, ma nel corso dell'articolo ti aiuterò a configurarla. Tutto ciò che ho fatto è stato realizzato con l'aiuto dello stesso GPT, quindi chiedi a lui come generare il codice e creare la tua automazione in base alle tue esigenze.

Configurare ChatGPT con N8N tramite WebHook

1. Creare una Chat Personalizzata su 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. Configurare il WebHook in 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. Invia Dati di ChatGPT al 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. Creare il Flusso in 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.

Codice Usato

Il codice sottostante invia a N8N sia la risposta che la domanda posta nella chat, ora spetta a te configurare correttamente il prompt e N8N per utilizzare i dati come desideri. ChatGPT potrebbe anche essere in grado di inviare e separare ulteriori dati, basta configurare correttamente nuovi codici e prompt.

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

In alcuni casi, potresti trovarti di fronte a una richiesta di autorizzazione per connetterti a un dominio esterno ogni volta che ChatGPT deve eseguire un'azione; il modo per aggirare questo è con l'opzione x-openai-isConsequential: false che consente di attivare l'opzione Sempre Consenti.

È essenziale utilizzare questa funzione nel tuo codice per velocizzare ulteriormente il processo, dato che si tratta di un'azione manuale contattare il chat per stabilire la connessione con N8N e inviare le informazioni.