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

  • Accedi a ChatGPT Plus.
  • Clicca su “Esplora GPTs” nel menu laterale.
  • Seleziona “Crea nuovo GPT”.
  • Personalizza il comportamento del GPT in base alle tue esigenze.
  • nella scheda Azioni, fai clic su “Crea Nuova Azione”:
    • Dai un nome all'azione (ad esempio, “Invia a N8N”).
    • Configura il metodo HTTP come POST.
    • Inserisci l'URL del WebHook generato da N8N.

2. Configurare il WebHook in N8N

  • Apri il pannello di N8N e crea un nuovo flusso.
  • Aggiungi un nodo WebHook:
    • Scegli un nome per il nodo.
    • Configura il metodo come POST.
    • Copia l'URL del WebHook generato da usare nella Chat Personalizzata.
  • Testa il WebHook inviando una richiesta direttamente tramite ChatGPT per verificare se i dati vengono ricevuti correttamente.

3. Invia Dati di ChatGPT al WebHook

  • No ChatGPT, interagendo com il Chat Personalizzato, attiva l'azione creata.
  • I dati elaborati da ChatGPT saranno inviati automaticamente al WebHook di N8N.

4. Creare il Flusso in N8N

  • Dopo aver ricevuto i dati nel WebHook, configura altri nodi in N8N per elaborare le informazioni. Esempi:
    • Memorizzare i dati in un foglio di calcolo (Google Sheets).
    • Inviare notifiche via email.
    • Creare compiti in strumenti di gestione come Trello o ClickUp.
    • Aggiornare un database o un sistema di 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.