Skip to content
AstrBot
Main Navigation HomeBlogRoadmapHTTP API

English

简体中文

English

简体中文

Toggle dark mode

Intro & DeployMessaging PlatformsAI IntegrationUsageDevelopment
Sidebar Navigation

Introduction

What is AstrBot

Community

FAQ

Deployment

Package Manager

One-click Launcher

Docker

Kubernetes

BT Panel

1Panel

Manual

Other Deployments

CasaOS

Compshare GPU

Community-provided Deployment

Support Us

Messaging Platforms

Quick Start

QQ Official Bot

Websockets

Webhook

OneBot v11

WeCom Application

WeCom AI Bot

WeChat Official Account

Personal WeChat

Lark

DingTalk

Telegram

LINE

Slack

Mattermost

Misskey

Discord

Satori

Connect Satori

Using server-satori

Community-provided

Matrix

KOOK

VoceChat

AI Integration

✨ Model Providers

NewAPI

AIHubMix

PPIO Cloud

SiliconFlow

TokenPony

302.AI

Ollama

LMStudio

⚙️ Agent Runners

Built-in Agent Runner

Dify

Coze

Alibaba Bailian

DeerFlow

Usage

WebUI

Plugins

Built-in Commands

Tool Use

Anthropic Skills

Computer Use

SubAgent Orchestration

Proactive Tasks

MCP

Web Search

Knowledge Base

Custom Rules

Agent Runner

Unified Webhook Mode

Auto Context Compression

Agent Sandbox

Development

Plugin Development

🌠 Getting Started

Minimal Example

Listen to Message Events

Send Messages

Plugin Configuration

AI

Storage

HTML to Image

Session Control

Publish Plugin

Platform Adapter Integration

AstrBot HTTP API

AstrBot Configuration File

Others

Self-hosted HTML to Image

Open Source Summer

OSPP 2025

On this page

Connecting to Mattermost ​

The Mattermost adapter connects to your Mattermost server through a Bot Token and WebSocket. After finishing the two parts below, AstrBot can send and receive messages in Mattermost channels and direct messages.

Create the AstrBot Mattermost Platform Adapter ​

Go to the Bots page, click + Create Bot, and choose Mattermost.

On the configuration page, enable it first, then fill in:

  • Mattermost URL: your Mattermost server URL, for example https://chat.example.com
  • Mattermost Bot Token: the access token generated after creating a bot account in Mattermost
  • Mattermost Reconnect Delay: how long AstrBot waits before reconnecting after a WebSocket disconnect, default 5

Then click save.

Deploy Mattermost ​

If you do not have a Mattermost server yet, use the official Mattermost Docker Compose repository:

  • Official docs: https://docs.mattermost.com/deployment-guide/server/containers/install-docker.html
  • Official repository: https://github.com/mattermost/docker

The current quick-start flow recommended by Mattermost is:

bash
git clone https://github.com/mattermost/docker
cd docker
cp env.example .env

Then update at least these values in .env:

  • DOMAIN
  • MATTERMOST_IMAGE_TAG
  • It is also recommended to set MM_SUPPORTSETTINGS_SUPPORTEMAIL

Create the data directories and set ownership:

bash
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost

Choose one startup mode:

Without the bundled NGINX:

bash
docker compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d

With the bundled NGINX:

bash
docker compose -f docker-compose.yml -f docker-compose.nginx.yml up -d

Access URLs:

  • Without NGINX: http://your-domain:8065
  • With NGINX: https://your-domain

TIP

Mattermost currently states that production Docker support is Linux-only. macOS and Windows are better suited for development or testing.

Create a Bot in Mattermost ​

1. Enable Bot Account Creation ​

Open the Mattermost system console:

System Console > Integrations > Bot Accounts

Enable Enable Bot Account Creation.

2. Create the Bot Account ​

Go to:

Product menu > Integrations > Bot Accounts

Click Add Bot Account and fill in:

  • Username
  • Display Name
  • Description

After creation, copy the generated Bot Token. It is shown only once. Paste it into AstrBot's Mattermost Bot Token field.

3. Add the Bot to a Channel ​

Add the bot to the channel where AstrBot should work. Otherwise the bot will not be able to properly receive and send messages in that channel.

How to Fill in Mattermost URL ​

Mattermost URL should be the external URL of your Mattermost server, without a trailing slash. For example:

text
https://chat.example.com

If you are only testing locally, you can also use:

text
http://127.0.0.1:8065

If both AstrBot and Mattermost run in containers, prefer an address reachable from the AstrBot container, such as the Mattermost service name on the same Docker network.

Start and Verify ​

After saving the AstrBot platform adapter configuration:

  1. Make sure the AstrBot logs do not show Mattermost authentication or WebSocket connection errors.
  2. Send a message in a channel that includes the bot, or send the bot a direct message.
  3. If AstrBot replies normally, the integration is working.

Common Issues ​

Invalid Token Errors ​

Usually one of these:

  • You copied a user token instead of the bot token
  • The token contains extra spaces
  • The bot account was deleted or the token was regenerated

Connected but No Channel Messages Arrive ​

Check these first:

  • The bot has been added to the target channel
  • Mattermost URL points to an address AstrBot can actually reach
  • Your Mattermost reverse proxy forwards WebSocket traffic correctly

Mattermost Opens in Browser but AstrBot Still Cannot Connect ​

If AstrBot runs in a container while Mattermost URL is set to localhost or 127.0.0.1, AstrBot will connect to itself instead of the Mattermost service. In that case, switch to an address reachable inside the Docker network.

Edit this page on GitHub

Last updated:

Pager
PreviousSlack
NextMisskey

Deployed on Rainyun Logo