Mattermost supports plugins that offer powerful features for extending and deeply integrating with both the server and web/desktop apps.
Write a web app plugin to add to the channel header, sidebars, main menu and more. Register your plugin against a post type to render custom posts or wire up a root component to build an entirely new experience. All this is possible without having to fork the source code and rebase on every Mattermost release.
Launch and manage server plugins as services from your Mattermost server over RPC. Handle events via real-time hooks and invoke Mattermost server methods directly using a dedicated plugin API.
Extend the Mattermost REST API with custom endpoints for use by web app plugins or third-party services. Custom endpoints have access to all the features of the standard Mattermost REST API, including personal access tokens and OAuth 2.0.
Using the server and web app quick start guides, it’s simple to set up a plugin development environment. You can also base your implementation off of mattermost-plugin-starter-template, complete with build scripts and templates. Once bundled as a gzipped tar file, upload your plugin to a Mattermost server through the System Console or via the API.
Read the plugins overview to learn more.