How-to Guide for Slack notifications

Introduction

Slack notifier (airflow.providers.slack.notifications.slack.SlackNotifier) allows users to send messages to a slack channel using the various on_*_callbacks at both the DAG level and Task level

You can also use a notifier with sla_miss_callback.

Note

When notifiers are used with sla_miss_callback the context will contain only values passed to the callback, refer sla_miss_callback.

Example Code:

from datetime import datetime
from airflow import DAG
from airflow.operators.bash import BashOperator
from airflow.providers.slack.notifications.slack import send_slack_notification

with DAG(
    start_date=datetime(2023, 1, 1),
    on_success_callback=[
        send_slack_notification(
            text="The DAG {{ dag.dag_id }} succeeded",
            channel="#general",
            username="Airflow",
        )
    ],
):
    BashOperator(
        task_id="mytask",
        on_failure_callback=[
            send_slack_notification(
                text="The task {{ ti.task_id }} failed",
                channel="#general",
                username="Airflow",
            )
        ],
        bash_command="fail",
    )

Was this entry helpful?