notification-platform

Installation
SKILL.md

NotificationPlatform Guide

Sentry's NotificationPlatform is a provider-based system for sending notifications across Email, Slack, Discord, and MS Teams. You define data + template, register it, and the platform handles rendering and delivery per provider.

Glossary

Concept Role Location
NotificationData Protocol. Frozen dataclass carrying the payload for a single notification. Must declare a source class variable. types.py
NotificationTemplate Abstract class. Converts NotificationData into a NotificationRenderedTemplate. Registered per NotificationSource. types.py
NotificationRenderedTemplate Dataclass. Provider-agnostic output: subject, body blocks, actions, chart, footer, optional email paths. types.py
NotificationProvider Protocol. Knows how to validate a target, pick a renderer, and send the final renderable (Email, Slack, etc.). provider.py
NotificationRenderer Protocol. Converts a NotificationRenderedTemplate into a provider-specific renderable (HTML email, Slack blocks, etc.). renderer.py
NotificationTarget Protocol. Identifies the recipient: email address, channel ID, or DM user ID. Two concrete classes: GenericNotificationTarget (email) and IntegrationNotificationTarget (Slack/Discord/MSTeams). target.py
NotificationService Entry point. Orchestrates lookup, rendering, and delivery. Provides has_access(), notify_target(), notify_async(), notify_sync(). service.py

All paths below are relative to src/sentry/notifications/platform/.

Step 1: Determine Your Operation

Related skills
Installs
10
GitHub Stars
43.8K
First Seen
Mar 20, 2026