The Apps Framework is an important tool in the Mattermost developer toolbox for easily creating integrations and customized workflows—written in any language and deployed with serverless hosting. The Apps Framework complements the existing ecosystem of plugins, slash commands, bots, and webhooks. As of Mattermost version 6.6, the Apps Framework is now generally available for all cloud and self-hosted deployments.
Developers can use the framework to build apps in any language that supports HTTP, and the apps can be deployed anywhere as an HTTP server; or they can be hosted as an AWS Lambda function or in your own data center. Apps built using the framework support web, mobile, and desktop clients without any changes. Serverless hosting is convenient and flexible, enabling apps to rapidly scale up in response to usage spikes and correspondingly scale down during low-use periods to minimize infrastructure costs.
Pre-built apps are also available in the Mattermost Marketplace for customers to discover and install. You can navigate directly to the Marketplace from the main menu within your workspace as well.
Let’s build some apps!
We have created a developer guide to help you get started. Ask questions, get help from peers, and provide feedback through our community channel dedicated to Mattermost Apps, and our Forum. We’re interested in supporting you as you navigate your own integrations and workflows.
make dist process which will output a bundle for your app.
There are multiple ways to create apps and incorporate automation to build productivity-boosting workflows. Here are a few tips and suggested use cases:
- Go beyond simple alerts and notifications and add the ability to take action without leaving Mattermost:
- Messages can be made interactive and actionable with buttons or drop-down menus.
- Apps can display forms to a user with fields for data entry; progressive forms are also supported.
- Build enhanced slash commands; apps can augment a base command with user prompts and auto-complete suggestions.
- Dynamically connect multiple services to enrich the context and automate more tasks with webhooks from the external system. For example, the app receives the notification of a P1 case from one service and then accesses “who’s on-call” information from a service like PagerDuty or Opsgenie. Consolidated information is then presented to the user in a channel.
- Create custom workflows, integrating multiple services, that can be executed with a single command or button click. For example, use a slash command to initiate a PTO (e.g., “/pto”) request, which creates an interactive form. When the form is submitted, a calendar invite is automatically sent, the manager receives and approves the request, and the HR systems are automatically updated.
- Customize the Mattermost UI and menus to take action or execute workflows with integrated third-party services. For example, add a button to the channel header to start a Zoom call for the channel or launch a direct message with another user by clicking a button in a form. Or, add a button to the message drop-down menu to automatically forward a message to Zendesk to create a ticket.
- Take advantage of the Mattermost REST API for hundreds of operations. See the full documentation.
Check out ServiceNow and Zendesk apps for inspiration
Both ServiceNow and Zendesk are integral to DevOps team workflows, primarily for managing the lifecycle of incidents and tickets. These sample apps not only make it easy to create and track tickets from within Mattermost without switching between applications but also highlight the cool functionality supported in the Apps framework. Support staff can quickly turn a message in a channel into an actionable ticket, with context, and track it through resolution. Additional automation can be configured, such as drop-down menus with action buttons on messages from Zendesk, or sharing information directly to a channel to keep stakeholders informed.
Join our Hackathon June 23 – 27th!
We are hosting a public Hackthon to celebrate our 7.0 launch and the Apps Framework GA release. You can find out more about the hackathon here and participate in the conversations about it in this channel.
If you’re a developer who wants to get a jump start on building an App for Mattermost right away, follow our step-by-step GO and JavaScrip quickstart guides listed on apps developers documentation.
For an overview of the different ways you can integrate with Mattermost, visit the Integrations page.