---
title: "Mattermost Integration"
description: "Integrate a self-hosted or Cloud Mattermost instance. Create and manage posts, channels, teams, users, files, and reactions over the Mattermost REST API using a personal access token or bot token."
url: https://flowrunner.ai/integrations/mattermost
date_modified: 2026-08-01T02:40:32-07:00
---

# Mattermost

[Communication](https://flowrunner.ai/integrations/category/communication-messaging)

Integrate a self-hosted or Cloud Mattermost instance. Create and manage posts, channels, teams, users, files, and reactions over the Mattermost REST API using a personal access token or bot token.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 30 actions · API key · available

[Mattermost website](https://mattermost.com/) · [Platform Documentation](https://api.mattermost.com/) · Capability data verified 2026-07-14

1.  A cleanup workflow finds a project channel whose project closed weeks ago
2.  Agent reads the channel's recent posts and last activity date
3.  Agent confirms the channel has been inactive past the retention threshold
4.  Agent posts the proposed deletion and a link to the archived summary to the admin channel
5.  Agent names the channel, its age, and where the history was archived
6.  An admin approves the deletion; only then does the agent call Delete Channel

## What This Integration Enables

FlowRunner agents use Mattermost to run notifications, provisioning, and archiving on a server you own. An agent can post alerts and reports to a channel or thread, provision channels and manage membership for onboarding, search and read channel history for audit, sync files in and out of FlowRunner storage, and manage user presence. It resolves teams and channels by name so a workflow can target the right place. The destructive actions, deleting a channel or removing a member, are where the agent pauses and puts the decision in front of an admin, because on self-hosted infrastructure those actions are yours to answer for.

### Without FlowRunner

**Channel sprawl**: Old project channels pile up and nobody is sure which are safe to remove

**Risky cleanup**: A manual sweep deletes a channel that still held useful history

**Lost context**: History disappears with no archive of what the channel contained

### With FlowRunner

**Agent flags stale channels**: The agent surfaces inactive channels against a retention rule

**Human confirms deletion**: An admin approves before any channel and its history are removed

**Archived first**: The agent archives a summary before proposing the delete

## Use Case Scenarios

### Retention-aware channel cleanup with an approval gate

A cleanup workflow scans project channels for inactivity past a retention threshold. When it finds a stale channel, it first uses Search Posts and Get Channel Posts to archive a summary of the history, then posts the proposed deletion to the admin channel. An admin approves. Only then does the agent call Delete Channel. The workspace stays tidy, and nothing is deleted without a person signing off and an archive in hand.

### Project channel provisioning

When a new project appears in a source system, the agent calls Create Channel and Add User to Channel to spin up a channel and enroll the stakeholders, then Create Post to publish the kickoff details. Offboarding runs Remove User from Channel as people roll off. Membership tracks the project without an admin editing channels by hand.

### Knowledge capture from discussion

The agent uses Search Posts to gather a team's discussion on a topic, summarizes it, and archives the summary into a knowledge base. Decisions made in chat become findable records instead of scrolling back through history.

## Human-in-Loop Highlight

The human-in-loop moment on Mattermost is the deletion gate. Posting, provisioning, and reacting run on their own. Deleting a channel does not, because the channel's history goes with it. When the cleanup agent finds a stale channel, it archives a summary first, then posts a request to the admin channel: "The proj-atlas channel has been inactive for 45 days. History is archived here. Delete the channel?" An admin approves or holds. Only an approval leads the agent to call Delete Channel, and the decision is recorded. The agent finds the clutter and preserves the record. A person owns the irreversible removal.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

30 actions

### Posts

8

-   **Create Post** Post a message to a channel or thread. Used for alerts, reports, and status updates.
-   **Get Post** Fetch a single post by ID.
-   **Update Post** Edit a post the token's account can modify. Used to update a status in place.
-   **Delete Post** Delete a post. Used to clean up a resolved alert.
-   **Get Channel Posts** Read recent posts in a channel. Used to gather context before acting.
-   **Search Posts** Search a team's post history. Used to retrieve prior decisions or archive a discussion.
-   **Pin Post** Pin a post to a channel to keep an important update visible.
-   **Unpin Post** Unpin a post.

### Channels

9

-   **Create Channel** Create a channel on a team. Used to spin up a project space.
-   **Get Channel** Retrieve a channel by ID.
-   **Get Channel by Name** Resolve a channel by its handle. Used before actions that need a channel ID.
-   **List Channels for Team** List the channels on a team.
-   **Delete Channel** Delete a channel. Used for cleanup after a project closes, behind a human approval.
-   **Add User to Channel** Add a user to a channel. Used during onboarding.
-   **Remove User from Channel** Remove a user from a channel. Used during offboarding.
-   **Create Direct Channel** Open a one-on-one direct message channel between two users.
-   **Create Group Channel** Open a group direct message channel among several users.

### Teams

3

-   **List Teams** List the teams on the server.
-   **Get Team** Retrieve a team by ID.
-   **Get Team by Name** Resolve a team by its handle.

### Users

6

-   **Get User** Retrieve a user by ID.
-   **Get User by Username** Resolve a user by username.
-   **Get Me** Return the token's account. Used as a connection check.
-   **Search Users** Search for users. Used to resolve a person before routing a message.
-   **Create User** Create a user account. Used for onboarding automation.
-   **Update User Status** Set a user's presence status.

### Files

2

-   **Upload File** Download a file from a public URL and forward it to Mattermost, returning a file ID to attach to a post.
-   **Get File** Store a Mattermost file in FlowRunner file storage and return a URL.

### Reactions

2

-   **Add Reaction** Add an emoji reaction to a post. Used as a lightweight acknowledgement.
-   **Remove Reaction** Remove an emoji reaction from a post.

## Frequently Asked Questions

### What can FlowRunner do with Mattermost?

FlowRunner agents can run Create Post, Get Post, and Update Post in Mattermost, plus 27 more actions.

### Does connecting Mattermost to FlowRunner require OAuth?

No. Mattermost connects to FlowRunner with an API key, no OAuth flow required.

### Can Mattermost trigger a FlowRunner workflow automatically?

Mattermost doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Mattermost?** This integration exposes Mattermost to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/mattermost. Site index: https://flowrunner.ai/llms.txt
