Mattermost can be extended by building and installing plugins, by embedding Mattermost in another application, or by forking the codebase.
Plugins are easy to build, effortless to maintain, and offer powerful new options to add functionality and UI to the server and web/desktop apps in ways not available with any other integration method.
Mattermost is a great communication platform but sometimes it's more convenient to send and receive messages from within a non-Mattermost application. With Mattermost's rich RESTful web service API and OAuth 2.0 support it's possible to build your own clients to embed Mattermost within any application of your choice.
Mattermost is open-source, which means you have the ability to fork the source code if you need to modify Mattermost in ways not otherwise supported.