Créer un chatbot Slack avec réponses automatiques utilisant GPT-4o

Intermédiaire

Ceci est unAI Chatbot, Multimodal AIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme Code, Slack, Agent, ChatTrigger, LmChatOpenAi. Créer un chatbot Slack utilisant GPT-4o pour les réponses automatiques

Prérequis
  • Token Bot Slack ou URL Webhook
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e1ed7ed9-efff-4003-933d-7bf9d0b8949b",
      "name": "OpenAI Modèle de chat8",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1168,
        11920
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "4l6TDfLZVFS24g3X",
          "name": "OpenAi account 4"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "62d0e051-8bb1-4206-8fa7-19f93a7e30ea",
      "name": "Note adhésive61",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1904,
        11344
      ],
      "parameters": {
        "color": 7,
        "width": 1488,
        "height": 928,
        "content": "# 💬 OpenAI Chat Agent with Slack Listening\n\nThis workflow connects a chatbot to **Slack**.  \nIt listens to user messages, sends them to an **OpenAI agent**, and replies back in the same Slack channel.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c65f1027-8100-4b78-af28-c99bccb903bb",
      "name": "Note adhésive20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2352,
        11344
      ],
      "parameters": {
        "width": 400,
        "height": 928,
        "content": "\n## ⚙️ Setup Instructions\n\n### 2️⃣ Connect Slack API\n1. Create an app → <https://api.slack.com/apps>  \n2. **OAuth & Permissions** → add scopes you need to read channel history (typical:  \n   `channels:history`, `groups:history`, `im:history`, `mpim:history`, plus `channels:read`, `groups:read`, `users:read`. Add `chat:write` if you want the bot to reply in Slack.)  \n3. **Install** the app to your workspace → copy the **Bot User OAuth Token**  \n4. In n8n → **Credentials → New → Slack OAuth2 API** → paste token and save  \n5. In the **Slack History** node, select your Slack credential and the **Channel ID** to read\n\n\n\n\n## 📬 Contact\nNeed help customizing this (e.g., filtering by list, or sending reports by email/Slack)?  \n\n📧 **robert@ynteractive.com**  \n🔗 **[Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/)**  \n🌐 **[ynteractive.com](https://ynteractive.com)**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1a88867a-350a-42cf-872e-ce2c9074d6c5",
      "name": "Envoyer un message utilisateur dans Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        -1504,
        12080
      ],
      "webhookId": "9369d3e1-26af-4e9f-ba26-e2de061a9aa7",
      "parameters": {
        "text": "=*User:* {{ $json.chatInput }}",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U09ADJPB7QA",
          "cachedResultName": "rbreen672"
        },
        "select": "user",
        "otherOptions": {
          "includeLinkToWorkflow": false
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "kJLcFGEETWlwowIc",
          "name": "Slack account 9"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "434201a3-a5d9-434c-b8c0-f7a13e0dcb41",
      "name": "Agent de chat exemple",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1136,
        11680
      ],
      "parameters": {
        "text": "={{ $('Sample Chatbot').item.json.chatInput }}",
        "options": {
          "systemMessage": "=you are an ecommerce bot. help the user as if you were working for a mock store. "
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "d0effa88-1f30-4e6a-a5b3-3edc90d726d2",
      "name": "Envoyer la réponse de l'agent dans Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        -784,
        11856
      ],
      "webhookId": "9369d3e1-26af-4e9f-ba26-e2de061a9aa7",
      "parameters": {
        "text": "=*Chatbot:* {{ $json.output }}",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U09ADJPB7QA",
          "cachedResultName": "rbreen672"
        },
        "select": "user",
        "otherOptions": {
          "includeLinkToWorkflow": false
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "kJLcFGEETWlwowIc",
          "name": "Slack account 9"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "f9e1139f-2868-467c-aa21-fdd4920d0bd0",
      "name": "Formater la réponse",
      "type": "n8n-nodes-base.code",
      "position": [
        -640,
        11632
      ],
      "parameters": {
        "jsCode": "return [{ json: { text:$('Sample Chat Agent').first().json.output } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "309558fd-dea7-4634-a5b7-a02b0df2bbcf",
      "name": "Note adhésive66",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1568,
        11552
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 640,
        "content": "### 2️⃣ Connect Slack API\n1. Create an app → <https://api.slack.com/apps>  \n2. **OAuth & Permissions** → add scopes you need to read channel history (typical:  \n   `channels:history`, `groups:history`, `im:history`, `mpim:history`, plus `channels:read`, `groups:read`, `users:read`. Add `chat:write` if you want the bot to reply in Slack.)  \n3. **Install** the app to your workspace → copy the **Bot User OAuth Token**  \n4. In n8n → **Credentials → New → Slack OAuth2 API** → paste token and save  \n5. In the **Slack History** node, select your Slack credential and the **Channel ID** to read\n"
      },
      "typeVersion": 1
    },
    {
      "id": "bbb5baca-6411-4d41-8530-3aff0a228513",
      "name": "Chatbot exemple",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -1792,
        11696
      ],
      "webhookId": "d38a0072-420b-4de8-86b6-03a8f9a6e254",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    }
  ],
  "pinData": {},
  "connections": {
    "bbb5baca-6411-4d41-8530-3aff0a228513": {
      "main": [
        [
          {
            "node": "1a88867a-350a-42cf-872e-ce2c9074d6c5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "434201a3-a5d9-434c-b8c0-f7a13e0dcb41": {
      "main": [
        [
          {
            "node": "d0effa88-1f30-4e6a-a5b3-3edc90d726d2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e1ed7ed9-efff-4003-933d-7bf9d0b8949b": {
      "ai_languageModel": [
        [
          {
            "node": "434201a3-a5d9-434c-b8c0-f7a13e0dcb41",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1a88867a-350a-42cf-872e-ce2c9074d6c5": {
      "main": [
        [
          {
            "node": "434201a3-a5d9-434c-b8c0-f7a13e0dcb41",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d0effa88-1f30-4e6a-a5b3-3edc90d726d2": {
      "main": [
        [
          {
            "node": "f9e1139f-2868-467c-aa21-fdd4920d0bd0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Chatbot IA, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds9
Catégorie2
Types de nœuds6
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Robert Breen

Robert Breen

@rbreen

Professional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34