Integrations Guide

Mattermost provides a variety of methods to add functionality and customize the end-user experience to suit your organization’s needs, whether you want to add new user capabilities with slash commands, build an advanced chatbot, or completely change the functionality of your server.

Learn about the pre-built integrations that come with your Mattermost deployment, integrations specific to the Microsoft ecosystem, and webhook integrations.

In addition, a wide array of open source integrations are available and ready to use from Mattermost and our community. To see a list of open source integrations available, please see the Mattermost Marketplace.

For self-hosted deployments in small setups, you might host integrations on the same server on which Mattermost is installed. For larger deployments, you can set up a separate server for integrations, or add them to the server on which the external application is hosted. For example, if you’re self-hosting a Jira server, you could deploy a Jira integration on the Jira server itself. When self-hosting restrictions are less strict, AWS, Heroku, and other public cloud options can also be used.

You can customize Mattermost with the following capabilities and frameworks.

Slash commands

A slash command is similar to an outgoing webhooks, but instead of listening to a channel, it’s used as a command tool in a channel. The Mattermost slash command format is compatible with Slack’s format, so you can easily port commands from Slack.

Slash commands enable users to trigger custom actions, such as creating Jira tickets or GitHub pull requests within Mattermost channels. See the built-in slash commands available and see the custom slash command developer documentation to learn more about creating your own custom slash commands.

Webhooks

Webhooks are a powerful way to integrate Mattermost with other applications and services. They allow you to send real-time data from Mattermost to external systems or receive data from those systems into Mattermost. Webhooks can be used for a variety of purposes, such as sending notifications, triggering workflows, or updating external systems based on events in Mattermost. See the webhook integrations documentation for details on working with incoming and outgoing webhooks.

Bots

You can deploy interactive bots to help users with processes and tasks with Mattermost by issuing messages to users they can respond to using buttons and dropdown menus. Bots can be used together with apps and plugins. The Hubot open source project, created by GitHub, Inc., is among the most popular of the bot options.

Pre-built bots are available on the Mattermost Marketplace, or you can configure your own bots.

Learn about Mattermost Hubot integration (hubot-matteruser on npm) and other open source community bots available or you can build your own.

API

Mattermost provides complete access to server APIs via the Mattermost API Reference, along with language-specific drivers to integrate into your own applications. Interact with users, channels, and everything else that happens on your Mattermost server via a REST API that meets the OpenAPI specification. The API is for developers who want to build bots and other interactions that don’t rely on customizing the Mattermost user experience.

Plugins

Plugins are the most comprehensive way to add new features and customization to self-hosted Mattermost deployments. These powerful integrations are written in Go and React and they’re ideal for customers wanting to change the behavior of the Mattermost server, desktop, and web apps without forking the core codebase to suit their organization’s needs.

Pre-built plugins are available on the Mattermost Marketplace, or you can build your own plugin.

Note

Source code customizations

As an open source project, we support your ability to modify the source code for the server or web app to make changes and customizations to meet your specific needs.

Learn about forking our open source repositories and customizing the Mattermost source code for your specific operational needs.