docs/v3/api-ref/python/prefect-blocks-notifications.mdx
prefect.blocks.notificationsAbstractAppriseNotificationBlock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L25" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>An abstract class for sending notifications using Apprise.
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
logger <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/abstract.py#L89" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>logger(self) -> LoggerOrAdapter
Returns a logger based on whether the NotificationBlock is called from within a flow or task run context. If a run context is present, the logger property returns a run logger. Else, it returns a default logger labeled with the class's name.
Returns:
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/abstract.py#L105" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
Send a notification.
Args:
body: The body of the notification.subject: The subject of the notification.raise_on_failure <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/abstract.py#L117" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>raise_on_failure(self) -> Generator[None, None, None]
Context manager that, while active, causes the block to raise errors if it encounters a failure sending notifications.
AppriseNotificationBlock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L85" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A base class for sending notifications using Apprise, through webhook URLs.
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L104" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L120" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
SlackWebhook <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L138" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via a provided Slack webhook.
Supports both standard Slack webhooks (hooks.slack.com) and Slack GovCloud webhooks (hooks.slack-gov.com).
Examples:
Load a saved Slack webhook and send a message:
from prefect.blocks.notifications import SlackWebhook
slack_webhook_block = SlackWebhook.load("BLOCK_NAME")
slack_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L104" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L178" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
Initialize the Slack webhook client.
This method handles both standard Slack webhooks and Slack GovCloud webhooks. Apprise's built-in Slack plugin only supports hooks.slack.com, so we need to manually construct the NotifySlack instance for slack-gov.com URLs to ensure notifications are sent to the correct host.
See: https://github.com/caronc/apprise/issues/XXXX (upstream issue)
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L120" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
MicrosoftTeamsWebhook <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L238" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via a provided Microsoft Teams webhook.
Examples:
Load a saved Teams webhook and send a message:
from prefect.blocks.notifications import MicrosoftTeamsWebhook
teams_webhook_block = MicrosoftTeamsWebhook.load("BLOCK_NAME")
teams_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L104" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L279" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
see https://github.com/caronc/apprise/pull/1172
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L120" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
PagerDutyWebHook <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L296" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via a provided PagerDuty webhook. See Apprise notify_pagerduty docs for more info on formatting the URL.
Examples:
Load a saved PagerDuty webhook and send a message:
from prefect.blocks.notifications import PagerDutyWebHook
pagerduty_webhook_block = PagerDutyWebHook.load("BLOCK_NAME")
pagerduty_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L413" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
Apprise will combine subject and body by default, so we need to move the body into the custom_details field. custom_details is part of the webhook url, so we need to update the url and restart the client.
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L387" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L434" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
Apprise will combine subject and body by default, so we need to move the body into the custom_details field. custom_details is part of the webhook url, so we need to update the url and restart the client.
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
TwilioSMS <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L455" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via Twilio SMS. Find more on sending Twilio SMS messages in the docs.
Examples:
Load a saved TwilioSMS block and send a message:
from prefect.blocks.notifications import TwilioSMS
twilio_webhook_block = TwilioSMS.load("BLOCK_NAME")
twilio_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L506" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
OpsgenieWebhook <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L527" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via a provided Opsgenie webhook. See Apprise notify_opsgenie docs for more info on formatting the URL.
Examples:
Load a saved Opsgenie webhook and send a message:
from prefect.blocks.notifications import OpsgenieWebhook
opsgenie_webhook_block = OpsgenieWebhook.load("BLOCK_NAME")
opsgenie_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L615" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
MattermostWebhook <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L651" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via a provided Mattermost webhook. See Apprise notify_Mattermost docs # noqa
Examples:
Load a saved Mattermost webhook and send a message:
from prefect.blocks.notifications import MattermostWebhook
mattermost_webhook_block = MattermostWebhook.load("BLOCK_NAME")
mattermost_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L719" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
DiscordWebhook <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L753" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via a provided Discord webhook. See Apprise notify_Discord docs # noqa
Examples:
Load a saved Discord webhook and send a message:
from prefect.blocks.notifications import DiscordWebhook
discord_webhook_block = DiscordWebhook.load("BLOCK_NAME")
discord_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L833" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
CustomWebhookNotificationBlock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L857" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via any custom webhook.
All nested string param contains {{key}} will be substituted with value from context/secrets.
Context values include: subject, body and name.
Examples:
Load a saved custom webhook and send a message:
from prefect.blocks.notifications import CustomWebhookNotificationBlock
custom_webhook_block = CustomWebhookNotificationBlock.load("BLOCK_NAME")
custom_webhook_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L990" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L972" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
logger <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/abstract.py#L89" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>logger(self) -> LoggerOrAdapter
Returns a logger based on whether the NotificationBlock is called from within a flow or task run context. If a run context is present, the logger property returns a run logger. Else, it returns a default logger labeled with the class's name.
Returns:
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L1010" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/abstract.py#L105" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
Send a notification.
Args:
body: The body of the notification.subject: The subject of the notification.raise_on_failure <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/abstract.py#L117" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>raise_on_failure(self) -> Generator[None, None, None]
Context manager that, while active, causes the block to raise errors if it encounters a failure sending notifications.
SendgridEmail <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L1028" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Enables sending notifications via any sendgrid account. See Apprise Notify_sendgrid docs
Examples:
Load a saved Sendgrid and send a email message:
from prefect.blocks.notifications import SendgridEmail
sendgrid_block = SendgridEmail.load("BLOCK_NAME")
sendgrid_block.notify("Hello from Prefect!")
Methods:
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L1105" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
anotify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>anotify(self, body: str, subject: str | None = None) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L1073" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
block_initialization <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L52" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>block_initialization(self) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L1114" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None
notify <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/blocks/notifications.py#L70" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>notify(self, body: str, subject: str | None = None) -> None