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.
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
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.