Skip to content

Commit 3a21669

Browse files
authored
Merge branch 'master' into esethna-air-gapped
2 parents 20e43d2 + c8bc5d2 commit 3a21669

17 files changed

+801
-400
lines changed

source/administration-guide/onboard/migrate-from-slack.rst

Lines changed: 306 additions & 39 deletions
Large diffs are not rendered by default.

source/end-user-guide/collaborate/extend-mattermost-with-integrations.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ Mattermost interoperability
2929
.. tip::
3030

3131
- `Visit the Mattermost Marketplace <https://mattermost.com/marketplace/>`__ to find open source, community-supported integrations to common developer tools like `CircleCI <https://mattermost.com/marketplace/circleci/>`__, `Opsgenie <https://mattermost.com/marketplace/opsgenie/>`__, `PagerDuty Notifier <https://mattermost.com/marketplace/pagerduty/>`__; productivity tools like `Autolink <https://mattermost.com/marketplace/autolink-plugin/>`__, `ToDo <https://mattermost.com/marketplace/todo/>`__, and `WelcomeBot <https://mattermost.com/marketplace/welcomebot-plugin/>`__; as well as social tools like `Memes <https://mattermost.com/marketplace/memes-plugin/>`__ and `GIFs <https://mattermost.com/marketplace/giphy-plugin/>`__ that are freely available for use and customization.
32-
- Looking for a way to get notifications of new Mattermost Marketplace integrations in your Mattermost channels? See the :ref:`integrations FAQ <integrations-guide/integrations-guide-index:frequently asked questions>` documentation for details.
32+
- Looking for a way to get notifications of new Mattermost Marketplace integrations in your Mattermost channels? See the :doc:`integrations FAQ </integrations-guide/faq>` documentation for details.

source/end-user-guide/collaborate/keyboard-shortcuts.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ Mattermost keyboard shortcuts
77
:titlesonly:
88

99
Keyboard accessibility </end-user-guide/collaborate/keyboard-accessibility>
10-
Run slash commands </integrations-guide/run-slash-commands>
11-
Built-in-slash-commands </integrations-guide/built-in-slash-commands>
1210

1311
.. include:: ../../_static/badges/allplans-cloud-selfhosted.rst
1412
:start-after: :nosearch:

source/end-user-guide/workflow-automation.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ Workflow Automation
66

77
Mattermost Playbooks provides structure, monitoring and automation for repeatable, team-based processes integrated with the Mattermost platform. Playbooks are :doc:`configurable checklists </end-user-guide/workflow-automation/work-with-tasks>` for teams to achieve :doc:`specific and predictable outcomes </end-user-guide/workflow-automation/metrics-and-goals>`, such as incident response, software release management, and logistical operations.
88

9+
For instance, a playbook can be configured to automatically open a dedicated channel for an incident, send template messages or task checklists to that channel, update subscribers on status changes, and so on, all through configuration.
10+
11+
While Playbooks primarily focus on coordinating people and tasks, they also have integration points. You can trigger a playbook run via an incoming webhook (allowing an external tool to trigger a playbook run). Within a playbook, you can define steps that execute webhooks or call external APIs. Additionally, Playbooks can work in conjunction with plugins, keeping the entire workflow visible in Mattermost, and reducing the need to switch between apps during critical processes.
12+
913
.. toctree::
1014
:maxdepth: 1
1115
:hidden:

source/integrations-guide/built-in-slash-commands.rst

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
Use built-in slash commands
1+
Built-In Slash Commands
22
============================
33

44
.. include:: ../_static/badges/allplans-cloud-selfhosted.rst
55
:start-after: :nosearch:
66

7-
You can interact with Mattermost users, channels, conversations, and more using `built-in slash commands <#slash-commands>`_, or interact with the data model programmatically using `API endpoints <https://api.mattermost.com/>`__. Responses are posted as the user who invoked the command, with possible username/icon overrides.
8-
9-
Slash commands
10-
--------------
11-
127
The following built-in slash comamnds are available in your Mattermost :doc:`workspace </end-user-guide/end-user-guide-index>`.
138

149
.. tip::

source/integrations-guide/faq.rst

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
Frequently Asked Questions
2+
===========================
3+
4+
What is meant by no-code, low-code, and pro-code?
5+
-------------------------------------------------
6+
7+
.. _no-code:
8+
9+
No-code
10+
~~~~~~~~
11+
12+
Integration or automation can be achieved without writing any code. All configuration is done via user-friendly interfaces or by installing pre-made components. This is ideal for non-technical users or admins.
13+
14+
For example, installing a plugin from the marketplace or using a drag-and-drop automation tool would be considered no-code. The heavy lifting is pre-built and you just need to configure it.
15+
16+
.. _low-code:
17+
18+
Low-code
19+
~~~~~~~~
20+
21+
Minimal coding or scripting is needed to implement the integration. Low-code solutions might require writing a few lines of script or simple configuration in code-like logic, but not building a full software application.
22+
23+
In Mattermost’s context, something like setting up a webhook with a small custom script, or tweaking an automation template would be considered low-code. It typically assumes some technical knowledge, but far less than full-scale development. Utilizing templates or online AI tooling can likely meet the need for most low-code integration requirements.
24+
25+
.. _pro-code:
26+
27+
Pro-code
28+
~~~~~~~~
29+
30+
These kinds of integrations require a professional software developer to write code and sometimes build underlying infrastructure. These integrations offer maximum flexibility at the cost of technical complexity, for example building a custom Mattermost plugin or writing a complex bot program using the Mattermost API in a custom application.
31+
32+
Pro-code integrations are essentially software projects – you’ll use developer tools, work with source code, and follow software development practices to build and maintain them.
33+
34+
What does Slack-compatible mean?
35+
--------------------------------
36+
37+
Slack compatible means that Mattermost accepts integrations that have a payload in the same format as Slack's legacy "Message Attachment" payload. If you have a Slack integration, you should be able to set it up in Mattermost without changing the format of the message being sent over.
38+
39+
What if I have a webhook from somewhere other than Slack?
40+
---------------------------------------------------------
41+
42+
If you have an integration that outputs a payload in a different format, you need an intermediary service to act as a translation layer to change it to the format Mattermost uses. These intermediary services could be no-code or low-code integrations with n8n, Zapier, or Make, but they could also be pro-code integrations leveraging something like AWS Lambda or other hosted services.
43+
44+
There’s currently no general standard for webhook communication between services, so translating your webhooks is necessary otherwise Mattermost won't understand the data you're sending.
45+
46+
What are attachments?
47+
----------------------
48+
49+
When "attachments" are mentioned in Mattermost integrations documentation, it refers to Slack's message attachments functionality. These "attachments" can be optionally added as an array in the data sent by an integration, and are used to customize the formatting of the message.
50+
51+
Mattermost doesn't currently support the ability to attach files to a post made via webhook. You can use the API to attach files to a message if needed.
52+
53+
Where can I find existing integrations?
54+
---------------------------------------
55+
56+
Visit the `Mattermost Marketplace <https://mattermost.com/marketplace>`__ to access open source integrations to common tools like Jira, Jenkins, and GitLab, along with interactive bot applications, and other communication tools that are freely available for use and customization.
57+
58+
Alternatively, within Mattermost, when logged in as an Administrator, you can click on the "Marketplace" option in the main menu and easily install plugins or apps from there.
59+
60+
Where should I install my integrations?
61+
----------------------------------------
62+
63+
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.
64+
65+
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 could also be used.
66+
67+
Where can I get more information about integrations?
68+
-----------------------------------------------------
69+
70+
Join our `Developers channel <https://community.mattermost.com/core/channels/developers>`_ on the Mattermost Community server for technical discussions, and visit our `Integrations channel <https://community.mattermost.com/core/channels/integrations>`_ for all integrations and plugins discussions.
71+
72+
Can I use webhooks to be notified when new integrations are available on the Mattermost Marketplace?
73+
-----------------------------------------------------------------------------------------------------
74+
75+
Yes! A `bash script <https://gist.github.com/mickmister/543a49584146af18ba5e5f82dd86ea93>`_ is available that checks for new integrations in the Mattermost Marketplace, and triggers a post through a Mattermost `incoming webhook <https://developers.mattermost.com/integrate/webhooks/incoming/>`_ request. The script downloads the latest listing, compares it with a locally stored version of the listing, and, if a new plugin is identified, a notification is pushed to a Mattermost channel.
76+
77+
Can I use Mattermost to add messaging functionality to my proprietary SaaS service?
78+
------------------------------------------------------------------------------------
79+
80+
Mattermost is an open source, self-hosted alternative to proprietary SaaS services that lock in the data of users and customers.
81+
82+
While you're welcome to use the Mattermost source code under its open source license, Mattermost, Inc. does not offer support or technical advice for proprietary SaaS projects that result in customers potentially being paywalled from their data should they stop paying SaaS fees.
83+
84+
To learn more about why we strongly believe that users and customers should always have access to their data, please read `why we created Mattermost <https://mattermost.com/about-us/>`_.
85+
86+
Can I customize the source code?
87+
--------------------------------
88+
89+
Yes. 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.
90+
91+
Learn about `forking our open source repositories <https://developers.mattermost.com/integrate/other-integrations/customization/>`_ and `customizing the Mattermost source code <https://developers.mattermost.com/integrate/customization/customization/>`_ for your specific operational needs.

source/integrations-guide/incoming-webhooks.rst

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,28 @@
11
Incoming Webhooks
22
=================
33

4-
Incoming webhooks allow external applications to post messages into Mattermost channels and direct messages. They are a simple way to receive notifications and data from other services in real-time.
4+
**Technical complexity:** :ref:`No-code <no-code>`
55

6-
You can create an incoming webhook in Mattermost, which generates a unique URL. External systems send HTTP POST requests to that URL with a JSON payload containing the message text and optional formatting (attachments, images, links, etc.). Messages are created under the webhook’s configured user (typically the creator). Username/icon can be overridden in the payload.
6+
Send or receive real-time data from external tools. Webhooks require minimal coding and are easy to set up with virtually any tool or platform because they use lightweight HTTP POST requests with JSON payloads.
77

8-
For example, your monitoring tool detects high CPU usage and sends an alert message directly into your **#devops-alerts** channel. All webhook posts will display a ``BOT`` indicator next to the username in Mattermost clients to help prevent against phishing attacks.
8+
Using incoming webhooks in Mattermost requires only basic setup. You generate a webhook URL using the Mattermost interface, then point another service to send data to that address. No coding is required if your external service triggering the events is able to send data via webhooks or HTTP POST requests, which most modern applications and platforms support. Setting this up usually involves pasting the Mattermost webhook URL into the service’s settings and selecting what type of events you want it to send.
9+
10+
Example Use Cases
11+
-----------------
12+
13+
Here are some example use cases for incoming webhooks in Mattermost:
14+
15+
**Monitoring alerts**
16+
17+
Send real-time alerts from monitoring systems (such as Prometheus or Datadog) into a dedicated Mattermost channel so your team is immediately notified about system issues or downtime.
18+
19+
**Build and deployment notifications**
20+
21+
Post automated updates from CI/CD pipelines (such as Jenkins or GitLab CI) to a channel, keeping developers informed of build status, test results, and deployment progress.
22+
23+
**Customer support updates**
24+
25+
Forward new support ticket notifications from systems like Zendesk or ServiceNow into a support channel, ensuring the team can respond quickly to incoming requests.
926

1027
Create
1128
------
@@ -49,8 +66,8 @@ A successful request will receive an HTTP 200 response with `ok` in the response
4966

5067
For compatibility with Slack incoming webhooks, if no ``Content-Type`` header is set, the request body must be prefixed with ``payload=``.
5168

52-
Post examples
53-
--------------
69+
Post Examples
70+
~~~~~~~~~~~~~
5471

5572
Here are some examples of simple messages posted using incoming webhooks:
5673

0 commit comments

Comments
 (0)