Build a Mattermost AI Bot with OpenAI (ChatGPT models)
Step-by-step guide to running a OpenAI (ChatGPT models)-powered AI bot on Mattermost with LangBot: model setup, bot credentials, networking, testing and troubleshooting.
This recipe puts a OpenAI (ChatGPT models) model 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.
Use OpenAI's GPT models with LangBot's built-in Agent, with optional knowledge bases, MCP tools, Skills and a code sandbox.
What you need
- A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or
uvx langbot. - A OpenAI (ChatGPT models) account or server you can call from LangBot.
- 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. Add the OpenAI (ChatGPT models) model
- Create an API key in the OpenAI console.
- In LangBot, open Models, add an LLM model with the provider set to OpenAI and request URL
https://api.openai.com/v1, then paste the API key and the model ID. - Enable Tool Use if the model supports function calling; MCP tools, Skills and the sandbox need it.
- Use a current model ID from OpenAI's model list. Any OpenAI-compatible endpoint works the same way with its own request URL.
2. Create a pipeline
Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows.
| Field | Value |
|---|---|
| Runner | Local Agent (built-in Agent) |
| Model | The model you just added. You can add fallback models. |
| Prompt | Instructions: who the bot is, tone, what it must not do. |
| Knowledge Bases | Optional. Attach a knowledge base so answers come from your documents. |
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
- Region or network errors: LangBot must be able to reach the request URL. Behind a restricted network, use a compatible gateway you can reach.
- 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 OpenAI (ChatGPT models) 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
- Model configuration
- Other AI back ends on Mattermost: Dify · n8n · Coze · Langflow · DeepSeek
- OpenAI (ChatGPT models) on other platforms: Telegram · Discord · Slack · Lark (Feishu) · DingTalk · WeCom (internal app)
Build a KOOK AI Bot with OpenAI (ChatGPT models)
Step-by-step guide to running a OpenAI (ChatGPT models)-powered AI bot on KOOK with LangBot: model setup, bot credentials, networking, testing and troubleshooting.
Build a a website chat widget AI Bot with OpenAI (ChatGPT models)
Step-by-step guide to running a OpenAI (ChatGPT models)-powered AI bot on a website chat widget with LangBot: model setup, bot credentials, networking, testing and troubleshooting.
