Workflow n8n

Automatisation Slack avec n8n : gestion des messages AI

Ce workflow n8n a pour objectif d'automatiser la gestion des messages sur Slack en intégrant des agents AI. Dans un contexte où la communication rapide et efficace est cruciale, ce processus permet aux équipes de répondre instantanément aux requêtes des utilisateurs tout en utilisant des outils d'intelligence artificielle. Les cas d'usage incluent la réponse automatique à des questions fréquentes, l'assistance à la recherche d'informations sur Wikipedia ou via des API comme SerpAPI, et l'envoi de notifications sur Slack. Le workflow commence par un déclencheur de type Webhook qui reçoit les messages des utilisateurs. Ensuite, il utilise des noeuds comme 'AI Agent' et 'OpenAI Chat Model' pour traiter ces messages et générer des réponses pertinentes. Si le message de l'utilisateur nécessite une recherche, le workflow peut se diriger vers les noeuds 'SerpAPI' ou 'Wikipedia' pour obtenir des informations supplémentaires. Les résultats sont ensuite envoyés sur Slack, permettant une interaction fluide. Les bénéfices de cette automatisation n8n incluent une réduction du temps de réponse et une amélioration de l'expérience utilisateur, tout en libérant les équipes de tâches répétitives.

Tags clés :automatisationSlackAIn8ncommunication
Catégorie: Webhook · Tags: automatisation, Slack, AI, n8n, communication0

Workflow n8n Slack, communication : vue d'ensemble

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

Workflow n8n Slack, communication : détail des nœuds

  • Sticky Note

    Ce noeud crée une note autocollante avec des dimensions et un contenu spécifiés.

  • Sticky Note1

    Ce noeud crée une seconde note autocollante avec des dimensions et un contenu spécifiés.

  • Sticky Note2

    Ce noeud crée une troisième note autocollante avec des dimensions et un contenu spécifiés.

  • Sticky Note3

    Ce noeud crée une quatrième note autocollante avec des dimensions et un contenu spécifiés.

  • Sticky Note4

    Ce noeud crée une cinquième note autocollante avec des dimensions et un contenu spécifiés.

  • AI Agent

    Ce noeud représente un agent d'IA qui traite du texte avec des options et un type de prompt.

  • OpenAI Chat Model

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

  • Simple Memory

    Ce noeud gère la mémoire simple en conservant le contexte de la session avec une longueur de fenêtre contextuelle.

  • Is user message?

    Ce noeud vérifie si le message provient de l'utilisateur en fonction de conditions spécifiées.

  • No Operation, do nothing

    Ce noeud effectue une opération nulle, ne réalisant aucune action.

  • SerpAPI

    Ce noeud interroge l'API SerpAPI pour obtenir des résultats de recherche basés sur des options fournies.

  • Wikipedia

    Ce noeud interroge Wikipedia pour récupérer des informations pertinentes.

  • Slack

    Ce noeud envoie un message sur Slack à un utilisateur spécifié avec des options supplémentaires.

  • Webhook

    Ce noeud configure un webhook pour recevoir des requêtes HTTP sur un chemin spécifié.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "12786b19-159f-45b0-8d15-d88de73c17e9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1540,
        660
      ],
      "parameters": {
        "width": 483,
        "height": 345,
        "content": "### Slack POSTs to Webhook on every message so we need to filter-out bot messages"
      },
      "typeVersion": 1
    },
    {
      "id": "3949be41-98b7-4414-84fd-819f4fccca35",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        1080
      ],
      "parameters": {
        "width": 293,
        "height": 228,
        "content": "### Tools which Agent can use to accomplish the task\n"
      },
      "typeVersion": 1
    },
    {
      "id": "76ce81d8-33e2-470a-9313-dd888acabed0",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        1080
      ],
      "parameters": {
        "width": 288,
        "height": 233,
        "content": "### Conversation history is stored in memory using channel id as key"
      },
      "typeVersion": 1
    },
    {
      "id": "3682ffd3-7002-466a-bedf-9897067586c0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1000,
        1080
      ],
      "parameters": {
        "width": 260,
        "height": 233,
        "content": "### The chat LM to process the prompt"
      },
      "typeVersion": 1
    },
    {
      "id": "92865916-e814-49d4-baaa-4122c1447c23",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        640
      ],
      "parameters": {
        "width": 280,
        "height": 243,
        "content": "### Send agent's output as Slack message\n"
      },
      "typeVersion": 1
    },
    {
      "id": "edeab2bb-8177-42c7-bcf4-f8d99e193729",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -820,
        740
      ],
      "parameters": {
        "text": "={{ $json.body.event.text }}",
        "options": {
          "systemMessage": "You are Gilfoyle from Silicon Valley TV show. Amplify your bluntness and cynicism, tolerating zero incompetence. Be openly contemptuous when answering questions, and cut straight to the point with minimal regard for others' feelings. Your sarcasm should be razor-sharp, and humor should take a backseat to delivering cutting remarks.\\nDo your best to answer the questions. Feel free to use any tools available to look up relevant information, only if necessary. "
        },
        "promptType": "define"
      },
      "typeVersion": 1.8
    },
    {
      "id": "275f8192-6da6-41b0-b892-c779f5d136e4",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -920,
        1180
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "8gccIjcuf3gvaoEr",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "776ce632-5c62-4ac6-a494-e23ef650ac48",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -620,
        1180
      ],
      "parameters": {
        "sessionKey": "={{ $('Webhook').first().json.body.event.channel }}__gilfoyle",
        "sessionIdType": "customKey",
        "contextWindowLength": 30
      },
      "typeVersion": 1.3
    },
    {
      "id": "97989831-3fc6-4954-ac55-8e0950081b7a",
      "name": "Is user message?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1480,
        740
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1def7344-ce55-450d-a85a-468f746fe31f",
              "operator": {
                "type": "string",
                "operation": "notExists",
                "singleValue": true
              },
              "leftValue": "={{ $json.body.event.bot_id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "afa6b192-1e25-46b6-8fdc-81dff9a37e74",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -1280,
        820
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eab68a99-cdd6-4ea1-8d6f-053c2a96303c",
      "name": "SerpAPI",
      "type": "@n8n/n8n-nodes-langchain.toolSerpApi",
      "position": [
        -360,
        1180
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "serpApi": {
          "id": "aJCKjxx6U3K7ydDe",
          "name": "SerpAPI account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "717117f5-5f34-4189-b92a-df2155e367ac",
      "name": "Wikipedia",
      "type": "@n8n/n8n-nodes-langchain.toolWikipedia",
      "position": [
        -220,
        1180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1914f623-66c0-4547-bf3e-b4932d0c2a9b",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        -200,
        720
      ],
      "webhookId": "e0f8b8ad-7126-487c-88e2-b624dfd16678",
      "parameters": {
        "text": "={{ $json.output }}",
        "user": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Webhook').first().json.body.event.user }}"
        },
        "select": "user",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "VfK3js0YdqBdQLGP",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "4a7ec607-1706-4357-aa89-4c44faa98fb8",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1780,
        740
      ],
      "webhookId": "db3bf3da-b9b7-4823-8c5d-14f5de0272da",
      "parameters": {
        "path": "slack-gilfoyle",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    }
  ],
  "pinData": {},
  "connections": {
    "SerpAPI": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Is user message?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wikipedia": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Is user message?": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Slack, communication : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises qui utilisent Slack pour la communication interne et qui souhaitent intégrer des solutions d'intelligence artificielle pour améliorer l'efficacité de leurs équipes. Il est particulièrement adapté aux équipes techniques et marketing, ainsi qu'aux organisations de taille moyenne à grande.

Workflow n8n Slack, communication : problème résolu

Ce workflow résout le problème de la lenteur dans la réponse aux messages sur Slack, en automatisant les réponses aux questions fréquentes et en fournissant des informations pertinentes en temps réel. Cela permet de réduire les frustrations des utilisateurs qui attendent des réponses, tout en minimisant la charge de travail des équipes. En intégrant des outils d'IA, les entreprises peuvent améliorer leur réactivité et leur service client.

Workflow n8n Slack, communication : étapes du workflow

Étape 1 : Le flux commence par un déclencheur Webhook qui capte les messages entrants des utilisateurs.

  • Étape 1 : Le message est ensuite analysé par le noeud 'Is user message?' pour déterminer s'il nécessite une réponse.
  • Étape 2 : Si c'est le cas, le flux utilise le noeud 'AI Agent' pour générer une réponse basée sur le message.
  • Étape 3 : Si une recherche est nécessaire, le flux peut se diriger vers 'SerpAPI' ou 'Wikipedia' pour obtenir des données supplémentaires.
  • Étape 4 : Enfin, le message généré est envoyé sur Slack via le noeud 'Slack', assurant une communication fluide et efficace.

Workflow n8n Slack, communication : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier le chemin du Webhook pour l'adapter à votre application. Vous pouvez également ajuster les paramètres du noeud 'AI Agent' pour affiner les réponses générées. Si vous souhaitez intégrer d'autres sources d'informations, vous pouvez ajouter des noeuds supplémentaires comme des API spécifiques. Assurez-vous de configurer les autorisations nécessaires pour les intégrations Slack et les API utilisées. Enfin, surveillez le flux pour optimiser les performances et la pertinence des réponses.