LangBot Docs
Ollama

Build a Mattermost AI Bot with Ollama

Step-by-step guide to running a Ollama-powered AI bot on Mattermost with LangBot: model setup, bot credentials, networking, testing and troubleshooting.

This recipe puts a Ollama 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.

Run open models locally with Ollama and serve them through LangBot's built-in Agent, so conversations never leave your machines.

What you need

  • A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or uvx langbot.
  • A Ollama 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 Ollama model

  1. Install Ollama and pull a model (for example ollama pull followed by the model name).
  2. In LangBot, open Models and add an LLM model with the provider set to Ollama and the request URL pointing at your Ollama server (by default port 11434).
  3. If LangBot runs in Docker, localhost is the container itself: use the host's address (for example host.docker.internal) instead.

2. Create a pipeline

Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows.

FieldValue
RunnerLocal Agent (built-in Agent)
ModelThe model you just added. You can add fallback models.
PromptInstructions: who the bot is, tone, what it must not do.
Knowledge BasesOptional. Attach a knowledge base so answers come from your documents.

3. Create the Mattermost bot

  1. Create the bot account in Mattermost (choose post:all for direct messages) and copy its token; it is shown only once.
  2. 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

  • Small local models may not support tool calling well; leave Tool Use off for models that do not support it.
  • 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 Ollama setup serve other platforms too?

Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.

On this page