Workflow n8n

Automatisation Chat avec n8n : gestion des messages sur Discord

Ce workflow n8n a pour objectif d'automatiser la gestion des messages sur Discord, permettant ainsi aux équipes de mieux interagir avec leur communauté. Grâce à cette automatisation n8n, les utilisateurs peuvent recevoir des réponses instantanées et pertinentes aux messages échangés dans le chat, ce qui améliore l'engagement et la satisfaction des membres. En intégrant des outils comme OpenAI et des notes autocollantes pour la gestion des informations, ce workflow est idéal pour les entreprises qui souhaitent optimiser leur communication en ligne. Le processus débute avec le déclencheur 'When chat message received', qui active le workflow dès qu'un message est reçu dans le chat. Ensuite, les modèles de langage d'OpenAI sont utilisés pour analyser le contenu du message et générer une réponse appropriée. Les étapes intermédiaires incluent l'utilisation de la mémoire simple pour conserver le contexte des conversations, ainsi que des notes autocollantes pour stocker des informations importantes. Par la suite, le workflow peut appeler une API externe pour enrichir les réponses fournies. Les bénéfices business de ce workflow sont multiples : il réduit le temps de réponse aux utilisateurs, améliore la qualité des interactions et permet une gestion plus efficace des demandes. En intégrant cette automatisation, les entreprises peuvent se concentrer sur des tâches à plus forte valeur ajoutée tout en maintenant un haut niveau de service client. Tags clés : automatisation, Discord, OpenAI.

Catégorie: Webhook · Tags: automatisation, Discord, OpenAI, n8n, communication0

Vue d'ensemble du workflow n8n

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Détail des nœuds du workflow n8n

  • Sticky Note1

    Ce noeud crée une note autocollante avec des paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note2

    Ce noeud crée une note autocollante avec des paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note

    Ce noeud crée une note autocollante avec des paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note5

    Ce noeud crée une note autocollante avec des paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note4

    Ce noeud crée une note autocollante avec des paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note3

    Ce noeud crée une note autocollante avec des paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note6

    Ce noeud crée une note autocollante avec des paramètres de largeur, hauteur et contenu spécifiés.

  • When chat message received

    Ce noeud déclenche le workflow lorsqu'un message de chat est reçu.

  • OpenAI Chat Model

    Ce noeud utilise le modèle de chat OpenAI pour générer des réponses basées sur les options fournies.

  • Simple Memory

    Ce noeud gère la mémoire pour stocker des informations dans une fenêtre de mémoire simple.

  • When Executed by Another Workflow

    Ce noeud déclenche le workflow lorsqu'il est exécuté par un autre workflow.

  • OpenAI Chat Model1

    Ce noeud utilise le modèle de chat OpenAI pour générer des réponses basées sur les options fournies.

  • Work out activity type and number of people1

    Ce noeud extrait des informations sur le type d'activité et le nombre de personnes à partir du texte fourni.

  • Call the API

    Ce noeud effectue une requête HTTP vers une URL spécifiée avec des paramètres de requête.

  • Activity Tool

    Ce noeud exécute un workflow d'outil avec des paramètres tels que le nom, l'identifiant et la description du workflow.

  • Set 'response' value

    Ce noeud définit la valeur de 'response' en fonction des options et des affectations spécifiées.

  • Combine

    Ce noeud combine plusieurs entrées en fonction des options d'agrégation et des champs à inclure.

  • AI Agent

    Ce noeud agit comme un agent AI en utilisant les options fournies pour exécuter des tâches.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "12061ba0-24f8-4853-9898-c8710b118959",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        500
      ],
      "parameters": {
        "color": 7,
        "width": 1260,
        "height": 635,
        "content": "### Sub-workflow: Custom tool\nThe agent above can call this workflow. It calls an example API called \"Bored API\" and returns a string with an activity idea."
      },
      "typeVersion": 1
    },
    {
      "id": "4a2101f4-de86-4b2c-9fbc-5a75e73e3a26",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 927.5,
        "height": 486.5625,
        "content": "### Main workflow: AI agent using custom tool"
      },
      "typeVersion": 1
    },
    {
      "id": "102ec972-1784-4b89-be6f-1d4bd8f85cf1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        240
      ],
      "parameters": {
        "color": 5,
        "width": 177,
        "height": 199,
        "content": "**This tool calls the sub-workflow below**"
      },
      "typeVersion": 1
    },
    {
      "id": "707d76f1-0b45-4347-b16a-3b66906711bc",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        300,
        240
      ],
      "parameters": {
        "color": 2,
        "width": 170,
        "height": 191,
        "content": "**Set your credentials**"
      },
      "typeVersion": 1
    },
    {
      "id": "d2a9637b-d988-4978-a112-4b96f279f0c0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        840
      ],
      "parameters": {
        "color": 2,
        "width": 170,
        "height": 190,
        "content": "**Set your credentials**"
      },
      "typeVersion": 1
    },
    {
      "id": "02f5308b-61db-467d-84f4-8b2ae8655dfd",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        80
      ],
      "parameters": {
        "color": 4,
        "width": 185.9375,
        "height": 214.8397420554627,
        "content": "## Try it out\n\nSelect **Chat** at the bottom and enter:\n\n_Hi! Please suggest something to do. I feel like learning something new._"
      },
      "typeVersion": 1
    },
    {
      "id": "c012dfad-0ed8-4072-9c57-24f48aadd620",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        920
      ],
      "parameters": {
        "width": 280,
        "height": 145,
        "content": "## Next steps\n\nLearn more about [Advanced AI in n8n](https://docs.n8n.io/advanced-ai/)"
      },
      "typeVersion": 1
    },
    {
      "id": "39e0c9eb-5736-46a0-b4ce-64425f56ba8c",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        160,
        80
      ],
      "webhookId": "34e91943-c4e0-4a87-8a0f-68cbd2bca3fb",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "38dad34c-116b-4673-b338-6fbf1d019bab",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        340,
        300
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "8gccIjcuf3gvaoEr",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "78af18c4-3541-4ff2-8526-fb186614051b",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        520,
        300
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "45f17ad3-f7da-4d98-a597-f66c2efdbbea",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        120,
        660
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "chatInput"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "135ac846-fcc7-4754-8127-6a810b76594a",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        320,
        900
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "8gccIjcuf3gvaoEr",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8e9d8b39-a7a4-44fb-8ac4-0555e632f0df",
      "name": "Work out activity type and number of people1",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        340,
        660
      ],
      "parameters": {
        "text": "={{ $('When Executed by Another Workflow').item.json.chatInput }}",
        "options": {},
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"required\": [\"type\",\"participants\"],\n  \"properties\": {\n    \"type\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"data\": {\n          \"enum\": [\"education\", \"recreational\",\"social\",\"diy\",\"charity\",\"cooking\",\"relaxation\",\"music\",\"busywork\"]\n        }\n      }\n    },\n    \"participants\": {\n      \"type\": \"number\"\n    }\n  }\n}"
      },
      "typeVersion": 1
    },
    {
      "id": "312f12d9-db30-48b0-aca3-a6c3a0250b2d",
      "name": "Call the API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        700,
        660
      ],
      "parameters": {
        "url": "https://bored-api.appbrewery.com/filter",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "type",
              "value": "={{ $json.output.type.data }}"
            },
            {
              "name": "participicants",
              "value": "={{ $json.output.participants }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0e97b6c1-3291-44a2-bf35-39335b9b90a1",
      "name": "Activity Tool",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        700,
        300
      ],
      "parameters": {
        "name": "activity_tool",
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $workflow.id }}"
        },
        "description": "Suggest an activity for a person to do. Use this tool if someone is bored, or asking for ideas of things to do.",
        "workflowInputs": {
          "value": {
            "chatInput": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('chatInput', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "chatInput",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "chatInput",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2
    },
    {
      "id": "256b8adc-ef71-40da-a40c-10a1045c9d7d",
      "name": "Set 'response' value",
      "type": "n8n-nodes-base.set",
      "position": [
        1060,
        660
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c78b10cd-7d6d-4512-ad0b-6f6ec3c706b2",
              "name": "response",
              "type": "string",
              "value": "={{ $json.data }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ede9e3c2-c3ce-44bd-92be-51eb90d086dc",
      "name": "Combine",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        880,
        660
      ],
      "parameters": {
        "include": "specifiedFields",
        "options": {},
        "aggregate": "aggregateAllItemData",
        "fieldsToInclude": "activity"
      },
      "typeVersion": 1
    },
    {
      "id": "b4b49c7f-5491-416c-98d1-518372329c77",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        420,
        80
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.8
    }
  ],
  "pinData": {},
  "connections": {
    "Combine": {
      "main": [
        [
          {
            "node": "Set 'response' value",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Call the API": {
      "main": [
        [
          {
            "node": "Combine",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Activity Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Work out activity type and number of people1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Work out activity type and number of people1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Work out activity type and number of people1": {
      "main": [
        [
          {
            "node": "Call the API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises et équipes qui utilisent Discord pour la communication, notamment dans les secteurs du marketing, du support client et de la gestion de communauté. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire et souhaitant améliorer leur efficacité opérationnelle.

Problème résolu

Ce workflow résout le problème de la lenteur et de l'inefficacité dans la gestion des messages sur Discord. En automatisant les réponses, il élimine les frustrations liées aux délais de réponse et réduit le risque de manquer des messages importants. Les utilisateurs bénéficient d'une interaction plus fluide et d'une meilleure satisfaction client grâce à des réponses instantanées et pertinentes.

Étapes du workflow

Étape 1 : Le workflow est déclenché par un message reçu dans le chat Discord. Étape 2 : Le contenu du message est analysé par le modèle de langage OpenAI pour déterminer la réponse appropriée. Étape 3 : Les informations pertinentes sont stockées dans une mémoire simple pour maintenir le contexte des conversations. Étape 4 : Des notes autocollantes sont utilisées pour gérer les informations importantes. Étape 5 : Une API externe peut être appelée pour enrichir les réponses fournies. Étape 6 : La réponse générée est renvoyée dans le chat Discord.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, commencez par ajuster les paramètres du déclencheur pour spécifier le canal Discord à surveiller. Modifiez les modèles de langage OpenAI pour adapter le ton et le style des réponses selon votre marque. Vous pouvez également ajouter ou modifier les notes autocollantes pour inclure des informations spécifiques à votre communauté. Si nécessaire, intégrez d'autres API pour enrichir les réponses ou ajouter des fonctionnalités supplémentaires. Assurez-vous de sécuriser les connexions API et de monitorer les performances du workflow pour garantir une efficacité optimale.