Alerting status updates in Slack
Get real-time status updates from Mage pipelines directly in your Slack channels.
Overview of steps
- Set up webhooks for Slack
- Update Mage project settings
- Customize message templates with dynamic variables (Pro only)
Set up webhooks for Slack
To send notifications to Slack, you need to configure an incoming webhook:
- Follow the official Slack webhook setup guide.
- Create a webhook URL for your desired Slack channel.
Update Mage project settings
Once you’ve set up webhooks for Slack, you should have a webhook URL that Slack provides.
Here is an example webhook (yours may vary):
Follow these steps to add that webhook URL to your project settings:
-
Open the Mage tool in your browser (e.g. http://localhost:6789/).
-
Open a pipeline and start editing it (e.g. http://localhost:6789/pipelines/example_pipeline/edit).
-
In your left sidebar in the file browser, scroll all the way down and click on a file named
metadata.yaml
. -
In the
metadata.yaml
file, add a section with the following configuration or update the existingnotification_config
section:If you omit the
alert_on
section it will default totrigger_failure
andtrigger_passed_sla
.Options:
trigger_failure
: alert when a run of a trigger failstrigger_success
: alert when a run of a trigger succeedstrigger_passed_sla
: alert when a SLA is missed.- In this context, SLA (Service Level Agreement) is an expected amount of time for the pipeline to complete.
- If the pipeline runs longer than the SLA, an alert will be sent.
-
In the
metadata.yaml
file, add the following values:Change the
webhook_url
value to be the webhook URL you created from Slack.
Customize message templates
You can customize message templates in notification_config
. Here is an example config:
You can customize the message template for success
, failure
, passed_sla
scenarios. For each message template,
you can specify either summary
or details
.
- If you specify the
summary
, the slack message will be yoursummary
+ the url of the pipeline run page - If you specify the
details
, thedetails
will be used as your slack message directly
To interpolate variables in the message template, you can use {variable_name}
syntax.
Here are the supported variables:
execution_time
pipeline_run_url
pipeline_schedule_id
pipeline_schedule_name
pipeline_schedule_description
pipeline_uuid
error
- available only for the
failure
message template
- available only for the
stacktrace
- available only for the
failure
message template
- available only for the
Note: For
pipeline_run_url
, the default host ishttp://localhost:6789
. You can specifyMAGE_PUBLIC_HOST
to be the host url you want to use in the notification messages.
🚀 Pro Only: Interpolate Mage Variables in Message Templates
Try our fully managed solution to access this advanced feature.
If you’re using Mage Pro, you can interpolate environment variables and other Mage variables directly in your Slack message templates using the familiar Jinja-like syntax:
This makes your Slack notifications more dynamic and context-aware — ideal for multi-environment deployments and advanced workflows.
What next?
Whenever a pipeline run is successfully completed or fails, a Slack message will appear in the channel you configured the webhook URL for.
Here is an example of what that message could look like: