Guides
Mattermost Webhook Trigger
Send Kener alerts to Mattermost using the Webhook trigger with Slack-compatible payloads
Use this guide to send Kener alerts to Mattermost via Incoming Webhooks using the Webhook trigger type.
Mattermost supports Slack-compatible webhook payloads, so you can reuse the same JSON body patterns with minor adjustments.
Quick setup
- In Mattermost, create an Incoming Webhook and copy the webhook URL.
- In Kener, go to Manage → Alerting → Triggers.
- Create a new trigger with:
- Type:
webhook - URL:
$MATTERMOST_WEBHOOK_URL - Headers:
[{"key":"Content-Type","value":"application/json"}]
- Type:
- Set the webhook body from the example below.
- Save and run a trigger test.
Example webhook body
{
"text": "{{#is_triggered}}:rotating_light: Alert Triggered{{/is_triggered}}{{#is_resolved}}:white_check_mark: Alert Resolved{{/is_resolved}}\n\n**{{alert_name}}**\nStatus: {{alert_status}}\nSeverity: {{alert_severity}}\nType: {{alert_for}}\nValue: {{alert_value}}\n\n{{alert_message}}\n\n[{{alert_cta_text}}]({{alert_cta_url}})"
}
Required variables
| Variable | Required | Description |
|---|---|---|
MATTERMOST_WEBHOOK_URL |
Yes | Incoming webhook URL from Mattermost |
Verification
After saving the trigger:
- Use the trigger test button in Kener.
- Confirm a message appears in the target Mattermost channel.
- Verify both trigger and resolve flows render as expected.
Troubleshooting
- HTTP 400/403 from Mattermost: Re-check webhook URL and channel permissions.
- No message in channel: Confirm the webhook is active and mapped to the expected channel/team.
- Variables not rendering: Ensure you used Mustache variables like
{{alert_name}}and not escaped placeholders. - Secrets exposed in UI: Use
$MATTERMOST_WEBHOOK_URLin URL/body/headers and define it in environment variables.