Mattermost integration | Zervanor
← All connectors

Mattermost

Also an agent tool
communication

Mattermost self-hosted REST API v4 integration covering posts, channels, teams, users, files, reactions, emoji, preferences, status, webhook/slash-command management, bots, OAuth apps, plus outgoing-webhook and slash-command triggers

146 actions · 3 triggers

The Mattermost integration lets you connect Mattermost to your automations with 146 actions and 3 triggers — and every action is also a tool an AI agent can call. Examples: Create Post, Create Ephemeral Post, Get Post, Update Post, Patch Post. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 3

Events in Mattermost that can start a workflow.

webhook

Outgoing Webhook Received

Mattermost outgoing webhook callback fired when a message is posted in a configured public channel and/or matches a trigger word. Token-verified (public channels only).

webhook

Slash Command Received

Mattermost custom slash-command callback fired when a user invokes a configured command in a public/private channel or DM. Token-verified.

polling

New Channel Post

Poll with the 'since' query param (Unix-ms) and dedupe on post id.

Actions 146

What Zervanor can do in Mattermost.

Users35

GET

Get Flagged Posts

Get a user's flagged posts (GET /users/{user_id}/posts/flagged).

POST

Set Post Unread

Mark a channel unread from the given post (POST /users/{user_id}/posts/{post_id}/set_unread).

GET

Get Posts Around Unread

Get posts around the oldest unread post in a channel (GET /users/{user_id}/channels/{channel_id}/posts/unread).

GET

Get User Channels In Team

Get the channels a user is a member of within a team (GET /users/{user_id}/teams/{team_id}/channels).

GET

Get All User Channels

Get all channels for a user across teams (GET /users/{user_id}/channels).

GET

Get User Teams

Get the teams a user belongs to (GET /users/{user_id}/teams).

POST

Create User

Create a user (POST /users).

GET

Get Users

Get users, paged and filtered (GET /users).

GET

Get User

Get a user; use 'me' for the current user (GET /users/{user_id}).

PUT

Update User

Update a user (PUT /users/{user_id}).

PUT

Patch User

Partially update a user (PUT /users/{user_id}/patch).

DELETE

Deactivate User

Deactivate / delete a user (DELETE /users/{user_id}).

POST

Search Users

Search users (POST /users/search).

GET

Autocomplete Users

Autocomplete usernames (GET /users/autocomplete).

GET

Get User By Username

Get a user by username (GET /users/username/{username}).

GET

Get User By Email

Get a user by email (GET /users/email/{email}).

POST

Get Users By IDs

Batch get users by IDs (POST /users/ids).

POST

Get Users By Usernames

Batch get users by usernames (POST /users/usernames).

GET

Get User Profile Image

Get a user's profile image (GET /users/{user_id}/image).

POST

Create User Access Token

Create a personal access token for a user (POST /users/{user_id}/tokens).

GET

List User Access Tokens

List a user's personal access tokens (GET /users/{user_id}/tokens).

POST

Revoke User Access Token

Revoke a personal access token (POST /users/tokens/revoke).

POST

Login

Authenticate and create a session (POST /users/login).

POST

Logout

End the current session (POST /users/logout).

DELETE

Remove Reaction

Remove a reaction from a post (DELETE /users/{user_id}/posts/{post_id}/reactions/{emoji_name}).

GET

Get User Preferences

Get all preferences for a user (GET /users/{user_id}/preferences).

PUT

Save User Preferences

Save/update preferences for a user (PUT /users/{user_id}/preferences).

POST

Delete User Preferences

Delete specified preferences for a user (POST /users/{user_id}/preferences/delete).

GET

Get User Preferences By Category

Get preferences in a category (GET /users/{user_id}/preferences/{category}).

GET

Get Specific User Preference

Get one preference (GET /users/{user_id}/preferences/{category}/name/{preference_name}).

GET

Get User Status

Get a user's status (GET /users/{user_id}/status).

PUT

Update User Status

Set a user's status (PUT /users/{user_id}/status).

POST

Get Users Statuses

Get statuses for multiple users (POST /users/status/ids).

PUT

Set Custom Status

Set a user's custom status (PUT /users/{user_id}/status/custom).

DELETE

Clear Custom Status

Clear a user's custom status (DELETE /users/{user_id}/status/custom).

Teams24

POST

Search Team Posts

Search posts within a team (POST /teams/{team_id}/posts/search).

GET

Get Team Public Channels

Get public channels for a team (GET /teams/{team_id}/channels).

GET

Get Team Private Channels

Get private channels for a team (GET /teams/{team_id}/channels/private).

GET

Get Team Archived Channels

Get archived channels for a team (GET /teams/{team_id}/channels/deleted).

POST

Search Team Channels

Search channels within a team (POST /teams/{team_id}/channels/search).

GET

Get Channel By Name

Get a channel by name within a team (GET /teams/{team_id}/channels/name/{channel_name}).

POST

Create Team

Create a team (POST /teams).

GET

List Teams

List teams, paged (GET /teams).

GET

Get Team

Get a team (GET /teams/{team_id}).

PUT

Update Team

Update a team (PUT /teams/{team_id}).

PUT

Patch Team

Partially update a team (PUT /teams/{team_id}/patch).

DELETE

Delete Team

Delete a team (DELETE /teams/{team_id}).

GET

Get Team By Name

Get a team by name (GET /teams/name/{team_name}).

POST

Search Teams

Search teams (POST /teams/search).

GET

Get Team Stats

Get team statistics (GET /teams/{team_id}/stats).

GET

Get Team Members

Get members of a team (GET /teams/{team_id}/members).

POST

Add Team Member

Add a user to a team (POST /teams/{team_id}/members).

POST

Add Team Members Batch

Add multiple users to a team (POST /teams/{team_id}/members/batch).

GET

Get Team Member

Get a team member (GET /teams/{team_id}/members/{user_id}).

DELETE

Remove Team Member

Remove a user from a team (DELETE /teams/{team_id}/members/{user_id}).

POST

Invite Team By Email

Send email invitations to a team (POST /teams/{team_id}/invite/email).

POST

Add Team Member By Invite Token

Add the current user to a team via an invite token (POST /teams/members/invite).

POST

Search Team Files

Search files within a team (POST /teams/{team_id}/files/search).

GET

Get Commands Autocomplete

Get autocomplete commands for a team (GET /teams/{team_id}/commands/autocomplete).

Channels18

GET

Get Channel Posts

Get posts in a channel, paged (GET /channels/{channel_id}/posts).

POST

Create Channel

Create a channel (POST /channels).

GET

List All Channels

Get all channels across teams, admin scope (GET /channels).

POST

Create Direct Channel

Create a direct-message channel between two users (POST /channels/direct).

POST

Create Group Channel

Create a group-message channel (POST /channels/group).

GET

Get Channel

Get a channel (GET /channels/{channel_id}).

PUT

Update Channel

Update a channel (PUT /channels/{channel_id}).

PUT

Patch Channel

Partially update a channel (PUT /channels/{channel_id}/patch).

DELETE

Delete Channel

Delete (archive) a channel (DELETE /channels/{channel_id}).

POST

Restore Channel

Restore an archived channel (POST /channels/{channel_id}/restore).

GET

Get Channel Stats

Get channel statistics (GET /channels/{channel_id}/stats).

GET

Get Pinned Posts

Get pinned posts in a channel (GET /channels/{channel_id}/pinned).

POST

Search Channels

Search public and private channels (POST /channels/search).

GET

Get Channel Members

Get members of a channel (GET /channels/{channel_id}/members).

POST

Add Channel Member

Add a user to a channel (POST /channels/{channel_id}/members).

GET

Get Channel Member

Get a channel member (GET /channels/{channel_id}/members/{user_id}).

DELETE

Remove Channel Member

Remove a user from a channel (DELETE /channels/{channel_id}/members/{user_id}).

POST

View Channel

Mark a channel as viewed/read for a user (POST /channels/members/{user_id}/view).

Posts17

POST

Create Post

Create a post in a channel (POST /posts).

POST

Create Ephemeral Post

Create an ephemeral (single-user) post (POST /posts/ephemeral).

GET

Get Post

Get a single post (GET /posts/{post_id}).

PUT

Update Post

Update a post, replacing its contents (PUT /posts/{post_id}).

PUT

Patch Post

Partially update a post (PUT /posts/{post_id}/patch).

DELETE

Delete Post

Soft-delete a post (DELETE /posts/{post_id}).

GET

Get Post Thread

Get a post and the rest of its thread (GET /posts/{post_id}/thread).

GET

Get Post Files Info

Get file info for files attached to a post (GET /posts/{post_id}/files/info).

GET

Get Post Info

Get post metadata / access info (GET /posts/{post_id}/info).

GET

Get Post Edit History

Get the edit history of a post (GET /posts/{post_id}/edit_history).

POST

Get Posts By IDs

Get a list of posts by their IDs (POST /posts/ids).

POST

Search Posts

Search posts across all the user's teams (POST /posts/search).

POST

Pin Post

Pin a post to its channel (POST /posts/{post_id}/pin).

POST

Unpin Post

Unpin a post from its channel (POST /posts/{post_id}/unpin).

POST

Perform Post Action

Perform an interactive-message post action (POST /posts/{post_id}/actions/{action_id}).

GET

Get Post Reactions

List reactions on a post (GET /posts/{post_id}/reactions).

POST

Get Bulk Reactions

Bulk-get reactions for multiple posts (POST /posts/ids/reactions).

Hooks11

POST

Create Incoming Webhook

Create an incoming webhook (POST /hooks/incoming).

GET

List Incoming Webhooks

List incoming webhooks (GET /hooks/incoming).

GET

Get Incoming Webhook

Get an incoming webhook (GET /hooks/incoming/{hook_id}).

PUT

Update Incoming Webhook

Update an incoming webhook (PUT /hooks/incoming/{hook_id}).

DELETE

Delete Incoming Webhook

Delete an incoming webhook (DELETE /hooks/incoming/{hook_id}).

POST

Create Outgoing Webhook

Create an outgoing webhook trigger (POST /hooks/outgoing).

GET

List Outgoing Webhooks

List outgoing webhooks (GET /hooks/outgoing).

GET

Get Outgoing Webhook

Get an outgoing webhook (GET /hooks/outgoing/{hook_id}).

PUT

Update Outgoing Webhook

Update an outgoing webhook (PUT /hooks/outgoing/{hook_id}).

DELETE

Delete Outgoing Webhook

Delete an outgoing webhook (DELETE /hooks/outgoing/{hook_id}).

POST

Regenerate Outgoing Webhook Token

Regenerate an outgoing webhook's token (POST /hooks/outgoing/{hook_id}/regen_token).

Emoji9

POST

Create Custom Emoji

Create a custom emoji (POST /emoji).

GET

List Custom Emoji

List custom emoji, paged (GET /emoji).

GET

Get Custom Emoji

Get a custom emoji by ID (GET /emoji/{emoji_id}).

DELETE

Delete Custom Emoji

Delete a custom emoji (DELETE /emoji/{emoji_id}).

GET

Get Custom Emoji By Name

Get a custom emoji by name (GET /emoji/name/{emoji_name}).

GET

Get Custom Emoji Image

Get the image of a custom emoji (GET /emoji/{emoji_id}/image).

POST

Search Custom Emoji

Search custom emoji by name (POST /emoji/search).

GET

Autocomplete Custom Emoji

Autocomplete custom emoji (GET /emoji/autocomplete).

POST

Get Custom Emoji By Names

Batch get custom emoji by names (POST /emoji/names).

Bots8

POST

Create Bot

Create a bot account (POST /bots).

GET

List Bots

List bots (GET /bots).

GET

Get Bot

Get a bot (GET /bots/{bot_user_id}).

PUT

Update Bot

Update a bot (PUT /bots/{bot_user_id}).

POST

Disable Bot

Disable a bot (POST /bots/{bot_user_id}/disable).

POST

Enable Bot

Enable a bot (POST /bots/{bot_user_id}/enable).

POST

Assign Bot

Assign a bot to an owner (POST /bots/{bot_user_id}/assign/{user_id}).

POST

Convert Bot To User

Convert a bot into a user account (POST /bots/{bot_user_id}/convert_to_user).

Commands8

POST

Create Slash Command

Create a custom slash command (POST /commands).

GET

List Slash Commands

List commands for a team (GET /commands).

GET

Get Slash Command

Get a command (GET /commands/{command_id}).

PUT

Update Slash Command

Update a command (PUT /commands/{command_id}).

DELETE

Delete Slash Command

Delete a command (DELETE /commands/{command_id}).

PUT

Move Slash Command

Move a command to another team (PUT /commands/{command_id}/move).

PUT

Regenerate Slash Command Token

Regenerate a command's token (PUT /commands/{command_id}/regen_token).

POST

Execute Slash Command

Execute a command on a team (POST /commands/execute).

Files7

POST

Upload File

Upload a file for later attachment to a post (POST /files).

GET

Get File

Download a file (GET /files/{file_id}).

GET

Get File Info

Get file metadata (GET /files/{file_id}/info).

GET

Get File Thumbnail

Get a file thumbnail (GET /files/{file_id}/thumbnail).

GET

Get File Preview

Get a file preview (GET /files/{file_id}/preview).

GET

Get File Public Link

Get a public link for a file (GET /files/{file_id}/link).

POST

Search Files

Search files across the user's teams (POST /files/search).

Oauth6

POST

Create OAuth App

Register an OAuth 2.0 client app (POST /oauth/apps).

GET

List OAuth Apps

List registered OAuth apps (GET /oauth/apps).

GET

Get OAuth App

Get an OAuth app (GET /oauth/apps/{app_id}).

PUT

Update OAuth App

Update an OAuth app (PUT /oauth/apps/{app_id}).

DELETE

Delete OAuth App

Delete an OAuth app (DELETE /oauth/apps/{app_id}).

POST

Regenerate OAuth App Secret

Regenerate an OAuth app's client secret (POST /oauth/apps/{app_id}/regen_secret).

System2

GET

System Ping

Liveness / health check (GET /system/ping).

GET

Get Supported Timezones

Get the supported timezone list (GET /system/timezones).

Reactions1

POST

Add Reaction

Add an emoji reaction to a post (POST /reactions).

Automations using Mattermost

Build your own automation with Mattermost in the visual builder.

Frequently asked questions

What can I automate with Mattermost?

146 actions are available — for example: Create Post, Create Ephemeral Post, Get Post, Update Post, Patch Post, and more.

Which Mattermost events can start a workflow?

3 triggers — for example: Outgoing Webhook Received, Slash Command Received, New Channel Post.

Can Mattermost be used as an AI agent tool?

Yes. Every Mattermost action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the Mattermost integration modelled?

Mattermost is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.