Connect n8n to Mattermost
Step-by-step guide to running your n8n app as a Mattermost bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
This recipe puts your n8n app behind a Mattermost bot. LangBot receives messages from Mattermost, 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 Mattermost bot account (role
Member) and its access token, plus your Mattermost server URL.
Networking
LangBot only needs to reach your Mattermost server; Mattermost does not need to reach LangBot.
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 Mattermost bot
- Create the bot account in Mattermost (choose
post:allfor direct messages) and copy its token; it is shown only once. - Create a bot with the Mattermost adapter, enter the server address and token, and bind a pipeline.
4. Bind and test
Open the bot, select the pipeline you created, save and make sure the bot is enabled.
Send the bot a direct message, or mention it in a channel it has joined.
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.
- Administrator-related features are not supported; keep the bot role as
Member. - Disable streaming on the bot if your pipeline or AI provider does not support it.
- 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 Mattermost?
No. LangBot only needs to reach your Mattermost server; Mattermost does not need to reach LangBot.
Does the Mattermost bot support streaming replies?
Yes. Enable streaming on the bot; the AI back end must also stream. See the platform feature matrix for details.
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 Mattermost setup guide
- Full n8n runner guide
- Other AI back ends on Mattermost: Dify · Coze · Langflow · DeepSeek · OpenAI (ChatGPT models)
- n8n on other platforms: Telegram · Discord · Slack · Lark (Feishu) · DingTalk · WeCom (internal app)
Connect n8n to KOOK
Step-by-step guide to running your n8n app as a KOOK bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
Connect n8n to a website chat widget
Step-by-step guide to running your n8n app as a a website chat widget bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
