Crear un chatbot de Slack con GPT-4o para respuestas automáticas

Intermedio

Este es unAI Chatbot, Multimodal AIflujo de automatización del dominio deautomatización que contiene 9 nodos.Utiliza principalmente nodos como Code, Slack, Agent, ChatTrigger, LmChatOpenAi. Crear un chatbot de Slack que responde automáticamente usando GPT-4o

Requisitos previos
  • Bot Token de Slack o URL de Webhook
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e1ed7ed9-efff-4003-933d-7bf9d0b8949b",
      "name": "Modelo de chat OpenAI8",
      "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": "Nota adhesiva61",
      "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": "Nota adhesiva20",
      "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": "Send User Message in 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": "Sample Chat Agente",
      "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": "Send Agentes Response in 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": "Format Response",
      "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": "Nota adhesiva66",
      "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": "Sample Chatbot",
      "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
          }
        ]
      ]
    },
    "Sample Chat Agent": {
      "main": [
        [
          {
            "node": "Send Agents Response in Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model8": {
      "ai_languageModel": [
        [
          {
            "node": "Sample Chat Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1a88867a-350a-42cf-872e-ce2c9074d6c5": {
      "main": [
        [
          {
            "node": "Sample Chat Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Agents Response in Slack": {
      "main": [
        [
          {
            "node": "f9e1139f-2868-467c-aa21-fdd4920d0bd0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Chatbot de IA, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos9
Categoría2
Tipos de nodos6
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

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

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34