Mattermost offers a wealth of methods to add functionality and customize the experience to suit your needs, whether you want to add new user capabilities with slash commands, build an advanced chatbot, or completely change the functionality of your server.
Webhooks provide a simple way to post messages to a channel and trigger external actions.
Slash commands are messages that begin with /
and trigger an HTTP request to a web service that can in turn post one or more messages in response.
Apps are lightweight, interactive add-ons that can be written in any programming language and run on any HTTP-compatible hosting service or several serverless providers like AWS Lambda or OpenFaaS. They’re for developers who want the most effective way to build Mattermost customizations and improvements efficiently.
Plugins are the most comprehensive way to add new features and customization, but come with additional development overhead and must be written in Go. They’re for developers who need tightly integrated services or want to improve the server, mobile, desktop, and web apps without making contributions to the core codebase.
Interact with users, channels, and everything else that happens on your Mattermost server via a modern 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.