Skip to content

Mattermost integration

The Mattermost integration posts to a channel through an incoming webhook, using Mattermost’s Slack-compatible attachment format. It works with self-hosted and Cloud instances.

  1. In Mattermost, go to Integrations → Incoming Webhooks.

  2. Add Incoming Webhook, pointed at the channel you want alerts in.

  3. Copy the URL. It looks like https://your-mattermost.example.com/hooks/....

In the dashboard, go to Manage → Integrations and click the Mattermost card. Name it, paste the URL into Webhook URL, and click Add integration.

Or through the API, with POST /integration/mattermost:

Terminal window
curl -X POST https://api.siteqwality.com/integration/mattermost \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"friendly_name": "Acme Mattermost",
"url": "https://your-mattermost.example.com/hooks/xxxxxxxx"
}'

The URL must use https on a public host. It is not test-sent at save time, and it never reads back in full, so keep your own copy; to change it, choose Edit in the integration’s ⋯ menu and paste the new one.

Right after you add the integration, the dashboard offers to do this for you: choose a group or create one, choose which monitors alert that group (the ones that already do, every monitor, or ones you pick), then send a test. If you skipped it, Route alerts on the integration’s card opens the same step. To do it by hand:

  1. Go to Respond → Notifications. Click a group’s name to open it, or click Add group to make a new one.

  2. Under Notifications, click Add notification method. Set Notification type to Mattermost and choose this integration under Integration.

  3. Click Done editing, then Save changes (Create group for a new group).

Through the API, create the channel with POST /notification:

Terminal window
curl -X POST https://api.siteqwality.com/notification \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"notification_group_id": "<your-group-id>",
"type": "mattermost",
"details": { "mattermost_integration_id": "<mattermost-integration-id>" }
}'

Messages post as Site Qwality with a Slack-style attachment: a colored bar, a title, and fields for the monitor details.

EventColor
Monitor downred (#ff0000)
Monitor recoveredgreen (#36a64f)
Domain expiry warningamber (#ffcc00)

A failed send can get up to 3 attempts in quick succession but is never retried later, and the outcome is always recorded. If Mattermost is your only alerting path for something that matters, pair it with a second channel. See delivery guarantees.

Heartbeat (cron) monitors, TLS certificate alerts, page speed alerts and DNS record changes do not reach Mattermost. See the coverage table.