Connect n8n to Slack
Step-by-step guide to running your n8n app as a Slack bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
This recipe puts your n8n app behind a Slack bot. LangBot receives messages from Slack, runs them through a pipeline, and sends the answer back, so you do not write any platform code.
n8n runs the workflow; LangBot handles the chat platform, sessions and delivery and calls your workflow through a webhook for every message.
What you need
- A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or
uvx langbot. - A n8n account or instance that LangBot can reach over the network.
- A Slack workspace where you can install apps, plus App Configuration Tokens from the Slack apps page for the quick setup assistant.
Networking
With Socket Mode, LangBot connects out to Slack and no public event URL is needed. Webhook mode needs a publicly reachable HTTPS endpoint.
1. Prepare n8n
- Start the workflow with a Webhook or On chat message trigger. Set Response Mode to Streaming if you want streamed replies.
- Answer with an AI Agent node (streaming) or a Respond to Webhook node whose response key matches LangBot's output key.
- Click Active to enable the workflow and copy its production webhook URL.
2. Create a pipeline
Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows. If the runner is not listed, install the official runner plugin from Plugins or the LangBot Space marketplace.
| Field | Value |
|---|---|
| Runner | n8n (official n8n workflow runner plugin) |
| Webhook URL | The workflow's production webhook URL |
| Authentication Type | None, Basic Auth, JWT or Header, matching the trigger node |
3. Create the Slack bot
- Create a bot with the Slack adapter and use Quick Slack setup: it creates the app, scopes and event subscriptions for you.
- Choose Socket Mode (recommended) and add an App-Level Token (
xapp-...), or choose Webhook if LangBot has a public HTTPS address. Then fill the adapter configuration and enable the bot.
4. Bind and test
Open the bot, select the pipeline you created, save and make sure the bot is enabled.
Message the app from its Messages tab, or mention it in a channel it has been added to.
Troubleshooting
- Empty replies: the key in Respond to Webhook must match the output key configured in LangBot.
- The test URL only works while the n8n editor is listening; use the production URL of an active workflow.
- Do not paste the App Configuration Access/Refresh tokens into the App-Level Token field; it needs the
xapp-token of the same app. - Leave token rotation disabled for the App-Level Token.
- Check Monitoring in the WebUI: every message, pipeline run and error is recorded there.
FAQ
Do I need a server with a public IP for Slack?
Not necessarily. With Socket Mode, LangBot connects out to Slack and no public event URL is needed. Webhook mode needs a publicly reachable HTTPS endpoint.
Does the Slack bot support streaming replies?
Check the platform feature matrix for what this platform supports. Replies are delivered once the AI back end has finished.
Can the same n8n setup serve other platforms too?
Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.
Related guides
- Full Slack setup guide
- Full n8n runner guide
- Other AI back ends on Slack: Dify · Coze · Langflow · DeepSeek · OpenAI (ChatGPT models)
- n8n on other platforms: Telegram · Discord · Lark (Feishu) · DingTalk · WeCom (internal app) · WeCom Intelligent Bot
Connect n8n to Discord
Step-by-step guide to running your n8n app as a Discord bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
Connect n8n to Lark (Feishu)
Step-by-step guide to running your n8n app as a Lark (Feishu) bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
