Mattermost
Also an agent toolMattermost 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.
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).
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.
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 Flagged Posts
Get a user's flagged posts (GET /users/{user_id}/posts/flagged).
Set Post Unread
Mark a channel unread from the given post (POST /users/{user_id}/posts/{post_id}/set_unread).
Get Posts Around Unread
Get posts around the oldest unread post in a channel (GET /users/{user_id}/channels/{channel_id}/posts/unread).
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 All User Channels
Get all channels for a user across teams (GET /users/{user_id}/channels).
Get User Teams
Get the teams a user belongs to (GET /users/{user_id}/teams).
Create User
Create a user (POST /users).
Get Users
Get users, paged and filtered (GET /users).
Get User
Get a user; use 'me' for the current user (GET /users/{user_id}).
Update User
Update a user (PUT /users/{user_id}).
Patch User
Partially update a user (PUT /users/{user_id}/patch).
Deactivate User
Deactivate / delete a user (DELETE /users/{user_id}).
Search Users
Search users (POST /users/search).
Autocomplete Users
Autocomplete usernames (GET /users/autocomplete).
Get User By Username
Get a user by username (GET /users/username/{username}).
Get User By Email
Get a user by email (GET /users/email/{email}).
Get Users By IDs
Batch get users by IDs (POST /users/ids).
Get Users By Usernames
Batch get users by usernames (POST /users/usernames).
Get User Profile Image
Get a user's profile image (GET /users/{user_id}/image).
Create User Access Token
Create a personal access token for a user (POST /users/{user_id}/tokens).
List User Access Tokens
List a user's personal access tokens (GET /users/{user_id}/tokens).
Revoke User Access Token
Revoke a personal access token (POST /users/tokens/revoke).
Login
Authenticate and create a session (POST /users/login).
Logout
End the current session (POST /users/logout).
Remove Reaction
Remove a reaction from a post (DELETE /users/{user_id}/posts/{post_id}/reactions/{emoji_name}).
Get User Preferences
Get all preferences for a user (GET /users/{user_id}/preferences).
Save User Preferences
Save/update preferences for a user (PUT /users/{user_id}/preferences).
Delete User Preferences
Delete specified preferences for a user (POST /users/{user_id}/preferences/delete).
Get User Preferences By Category
Get preferences in a category (GET /users/{user_id}/preferences/{category}).
Get Specific User Preference
Get one preference (GET /users/{user_id}/preferences/{category}/name/{preference_name}).
Get User Status
Get a user's status (GET /users/{user_id}/status).
Update User Status
Set a user's status (PUT /users/{user_id}/status).
Get Users Statuses
Get statuses for multiple users (POST /users/status/ids).
Set Custom Status
Set a user's custom status (PUT /users/{user_id}/status/custom).
Clear Custom Status
Clear a user's custom status (DELETE /users/{user_id}/status/custom).
Teams24
Search Team Posts
Search posts within a team (POST /teams/{team_id}/posts/search).
Get Team Public Channels
Get public channels for a team (GET /teams/{team_id}/channels).
Get Team Private Channels
Get private channels for a team (GET /teams/{team_id}/channels/private).
Get Team Archived Channels
Get archived channels for a team (GET /teams/{team_id}/channels/deleted).
Search Team Channels
Search channels within a team (POST /teams/{team_id}/channels/search).
Get Channel By Name
Get a channel by name within a team (GET /teams/{team_id}/channels/name/{channel_name}).
Create Team
Create a team (POST /teams).
List Teams
List teams, paged (GET /teams).
Get Team
Get a team (GET /teams/{team_id}).
Update Team
Update a team (PUT /teams/{team_id}).
Patch Team
Partially update a team (PUT /teams/{team_id}/patch).
Delete Team
Delete a team (DELETE /teams/{team_id}).
Get Team By Name
Get a team by name (GET /teams/name/{team_name}).
Search Teams
Search teams (POST /teams/search).
Get Team Stats
Get team statistics (GET /teams/{team_id}/stats).
Get Team Members
Get members of a team (GET /teams/{team_id}/members).
Add Team Member
Add a user to a team (POST /teams/{team_id}/members).
Add Team Members Batch
Add multiple users to a team (POST /teams/{team_id}/members/batch).
Get Team Member
Get a team member (GET /teams/{team_id}/members/{user_id}).
Remove Team Member
Remove a user from a team (DELETE /teams/{team_id}/members/{user_id}).
Invite Team By Email
Send email invitations to a team (POST /teams/{team_id}/invite/email).
Add Team Member By Invite Token
Add the current user to a team via an invite token (POST /teams/members/invite).
Search Team Files
Search files within a team (POST /teams/{team_id}/files/search).
Get Commands Autocomplete
Get autocomplete commands for a team (GET /teams/{team_id}/commands/autocomplete).
Channels18
Get Channel Posts
Get posts in a channel, paged (GET /channels/{channel_id}/posts).
Create Channel
Create a channel (POST /channels).
List All Channels
Get all channels across teams, admin scope (GET /channels).
Create Direct Channel
Create a direct-message channel between two users (POST /channels/direct).
Create Group Channel
Create a group-message channel (POST /channels/group).
Get Channel
Get a channel (GET /channels/{channel_id}).
Update Channel
Update a channel (PUT /channels/{channel_id}).
Patch Channel
Partially update a channel (PUT /channels/{channel_id}/patch).
Delete Channel
Delete (archive) a channel (DELETE /channels/{channel_id}).
Restore Channel
Restore an archived channel (POST /channels/{channel_id}/restore).
Get Channel Stats
Get channel statistics (GET /channels/{channel_id}/stats).
Get Pinned Posts
Get pinned posts in a channel (GET /channels/{channel_id}/pinned).
Search Channels
Search public and private channels (POST /channels/search).
Get Channel Members
Get members of a channel (GET /channels/{channel_id}/members).
Add Channel Member
Add a user to a channel (POST /channels/{channel_id}/members).
Get Channel Member
Get a channel member (GET /channels/{channel_id}/members/{user_id}).
Remove Channel Member
Remove a user from a channel (DELETE /channels/{channel_id}/members/{user_id}).
View Channel
Mark a channel as viewed/read for a user (POST /channels/members/{user_id}/view).
Posts17
Create Post
Create a post in a channel (POST /posts).
Create Ephemeral Post
Create an ephemeral (single-user) post (POST /posts/ephemeral).
Get Post
Get a single post (GET /posts/{post_id}).
Update Post
Update a post, replacing its contents (PUT /posts/{post_id}).
Patch Post
Partially update a post (PUT /posts/{post_id}/patch).
Delete Post
Soft-delete a post (DELETE /posts/{post_id}).
Get Post Thread
Get a post and the rest of its thread (GET /posts/{post_id}/thread).
Get Post Files Info
Get file info for files attached to a post (GET /posts/{post_id}/files/info).
Get Post Info
Get post metadata / access info (GET /posts/{post_id}/info).
Get Post Edit History
Get the edit history of a post (GET /posts/{post_id}/edit_history).
Get Posts By IDs
Get a list of posts by their IDs (POST /posts/ids).
Search Posts
Search posts across all the user's teams (POST /posts/search).
Pin Post
Pin a post to its channel (POST /posts/{post_id}/pin).
Unpin Post
Unpin a post from its channel (POST /posts/{post_id}/unpin).
Perform Post Action
Perform an interactive-message post action (POST /posts/{post_id}/actions/{action_id}).
Get Post Reactions
List reactions on a post (GET /posts/{post_id}/reactions).
Get Bulk Reactions
Bulk-get reactions for multiple posts (POST /posts/ids/reactions).
Hooks11
Create Incoming Webhook
Create an incoming webhook (POST /hooks/incoming).
List Incoming Webhooks
List incoming webhooks (GET /hooks/incoming).
Get Incoming Webhook
Get an incoming webhook (GET /hooks/incoming/{hook_id}).
Update Incoming Webhook
Update an incoming webhook (PUT /hooks/incoming/{hook_id}).
Delete Incoming Webhook
Delete an incoming webhook (DELETE /hooks/incoming/{hook_id}).
Create Outgoing Webhook
Create an outgoing webhook trigger (POST /hooks/outgoing).
List Outgoing Webhooks
List outgoing webhooks (GET /hooks/outgoing).
Get Outgoing Webhook
Get an outgoing webhook (GET /hooks/outgoing/{hook_id}).
Update Outgoing Webhook
Update an outgoing webhook (PUT /hooks/outgoing/{hook_id}).
Delete Outgoing Webhook
Delete an outgoing webhook (DELETE /hooks/outgoing/{hook_id}).
Regenerate Outgoing Webhook Token
Regenerate an outgoing webhook's token (POST /hooks/outgoing/{hook_id}/regen_token).
Emoji9
Create Custom Emoji
Create a custom emoji (POST /emoji).
List Custom Emoji
List custom emoji, paged (GET /emoji).
Get Custom Emoji
Get a custom emoji by ID (GET /emoji/{emoji_id}).
Delete Custom Emoji
Delete a custom emoji (DELETE /emoji/{emoji_id}).
Get Custom Emoji By Name
Get a custom emoji by name (GET /emoji/name/{emoji_name}).
Get Custom Emoji Image
Get the image of a custom emoji (GET /emoji/{emoji_id}/image).
Search Custom Emoji
Search custom emoji by name (POST /emoji/search).
Autocomplete Custom Emoji
Autocomplete custom emoji (GET /emoji/autocomplete).
Get Custom Emoji By Names
Batch get custom emoji by names (POST /emoji/names).
Bots8
Create Bot
Create a bot account (POST /bots).
List Bots
List bots (GET /bots).
Get Bot
Get a bot (GET /bots/{bot_user_id}).
Update Bot
Update a bot (PUT /bots/{bot_user_id}).
Disable Bot
Disable a bot (POST /bots/{bot_user_id}/disable).
Enable Bot
Enable a bot (POST /bots/{bot_user_id}/enable).
Assign Bot
Assign a bot to an owner (POST /bots/{bot_user_id}/assign/{user_id}).
Convert Bot To User
Convert a bot into a user account (POST /bots/{bot_user_id}/convert_to_user).
Commands8
Create Slash Command
Create a custom slash command (POST /commands).
List Slash Commands
List commands for a team (GET /commands).
Get Slash Command
Get a command (GET /commands/{command_id}).
Update Slash Command
Update a command (PUT /commands/{command_id}).
Delete Slash Command
Delete a command (DELETE /commands/{command_id}).
Move Slash Command
Move a command to another team (PUT /commands/{command_id}/move).
Regenerate Slash Command Token
Regenerate a command's token (PUT /commands/{command_id}/regen_token).
Execute Slash Command
Execute a command on a team (POST /commands/execute).
Files7
Upload File
Upload a file for later attachment to a post (POST /files).
Get File
Download a file (GET /files/{file_id}).
Get File Info
Get file metadata (GET /files/{file_id}/info).
Get File Thumbnail
Get a file thumbnail (GET /files/{file_id}/thumbnail).
Get File Preview
Get a file preview (GET /files/{file_id}/preview).
Get File Public Link
Get a public link for a file (GET /files/{file_id}/link).
Search Files
Search files across the user's teams (POST /files/search).
Oauth6
Create OAuth App
Register an OAuth 2.0 client app (POST /oauth/apps).
List OAuth Apps
List registered OAuth apps (GET /oauth/apps).
Get OAuth App
Get an OAuth app (GET /oauth/apps/{app_id}).
Update OAuth App
Update an OAuth app (PUT /oauth/apps/{app_id}).
Delete OAuth App
Delete an OAuth app (DELETE /oauth/apps/{app_id}).
Regenerate OAuth App Secret
Regenerate an OAuth app's client secret (POST /oauth/apps/{app_id}/regen_secret).
System2
System Ping
Liveness / health check (GET /system/ping).
Get Supported Timezones
Get the supported timezone list (GET /system/timezones).
Reactions1
Add Reaction
Add an emoji reaction to a post (POST /reactions).
Nothing matches your search.
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.