Notification types
Every notification type Sazabi can send, its scope, and which channels can deliver it.
A notification announces an event to a recipient who did not request it directly. Each notification has a type (the kind of event), a scope (the organization or project its recipients are drawn from), and a set of channels it can be delivered on. This page lists the types and how they route.
For how to configure delivery, see Route notifications.
Scope determines routability
- Organization-scoped types deliver only to personal channels — each recipient's own in-app feed, email, SMS, or Slack DM, gated by that user's preferences.
- Project-scoped types deliver to personal channels. Seven of them can also be routed to shared destinations — Slack channels, Microsoft Teams channels, webhooks, and incident providers — with the project's delivery rules: Issue triggered, Issue resolved, Issue ignored, Issue rejected, Issue updated, Issue still open, and Automation run failed. Issue still open goes to Slack channels, Microsoft Teams channels, and webhooks only.
Organization-scoped types, and every other project-scoped type, reach personal channels only.
Channels
Personal channels (per-user, gated by each user's preferences):
- In-app
- SMS
- Slack DM
Shared destinations (per-project, gated by a delivery rule that names both the destination and the event):
- Slack channel
- Microsoft Teams channel
- Webhook
- Incident providers: incident.io, PagerDuty, Rootly
Notification types
Issues (project-scoped)
| Type | Announces |
|---|---|
| Issue triggered | A new issue opened. |
| Issue resolved | An issue was resolved. |
| Issue ignored | An issue was ignored. |
| Issue rejected | An issue was rejected after review. |
| Issue updated | An open issue changed: its severity went up, it came back after it was resolved, or it now affects another component. |
| Issue still open | An issue is still open, 1, 2, 3, 7, 14, 21 and 28 days after it opened, then once a month. |
Issue notifications can be filtered by component and severity in a delivery rule. A rule matches Issue updated on the issue's severity and component after the change.
Issue updated is sent at most once per issue a day, unless the severity rises above the one the last update announced. A muted issue sends none. In a Slack or Microsoft Teams channel it is a reply under the issue's original alert, and the alert itself is refreshed; a channel that never received the alert gets nothing. Webhooks receive the issue, with the change as notification.message. Incident providers receive the issue's alert again: an open incident absorbs it, and an issue that came back alerts again. Like a trigger, it follows the provider's severity rules.
Issue still open reminds a team that an issue is still open: 1, 2, 3, 7, 14, 21 and 28 days after it opened, then 2, 3, 4… months after, for as long as it stays open. Resolving or ignoring the issue stops the reminders, and reopening it starts them again from the first. A muted issue sends none, and unmuting it continues the schedule rather than restarting it. A reminder that comes late (after an outage) is sent once, for the latest step that passed. In a Slack channel it is a reply under the issue's alert that is also sent to the channel, and in a Microsoft Teams channel a reply under the issue's card; a channel that never received the alert gets the reminder as a message of its own. Webhooks receive the issue with an ongoing object naming the reminder. Incident providers never receive it: the incident the issue's trigger opened is still open there.
Automations (project-scoped)
| Type | Announces |
|---|---|
| Automation completed | A scheduled automation finished. |
| Automation run failed | An automation run failed. |
Project resources (project-scoped)
| Type | Announces |
|---|---|
| Sandbox connected | A sandbox was connected to the project. |
| Sandbox disconnected | A sandbox was disconnected from the project. |
| Log source connected | A log source was connected. |
| Log source disconnected | A log source was disconnected. |
| GitHub connected | GitHub was connected to the project. |
| GitHub disconnected | GitHub was disconnected from the project. |
| Code repository connected | A code repository was connected. |
| Code repository disconnected | A code repository was disconnected. |
| Public key deactivated | A public key for the project was deactivated. |
Organization (organization-scoped)
| Type | Announces |
|---|---|
| Project created | A project was created in the organization. |
| Project deleted | A project was deleted. |
| Member invited | A member was invited to the organization. |
| Member removed | A member was removed. |
| MCP connector added | An MCP connector was added. |
| MCP connector removed | An MCP connector was removed. |
| Secret key created | A secret key was created. |
| Secret key deleted | A secret key was deleted. |
Integrations (organization-scoped)
| Type | Announces |
|---|---|
| Integration connected | An integration was connected. |
| Integration disconnected | An integration was disconnected. |
Billing (organization-scoped, admins only)
Billing types reach organization owners and admins only.
| Type | Announces |
|---|---|
| Billing upgrade applied | A plan upgrade took effect. |
| Billing downgrade scheduled | A plan downgrade was scheduled for the end of the cycle. |
| Billing downgrade applied | A scheduled plan downgrade took effect. |
| Billing credits low | The credit balance dropped below the low-balance threshold. |
| Billing credits depleted | The credit balance ran out. |
| Billing auto top-up changed | Automatic top-up settings were changed. |
| Billing auto top-up failed | An automatic top-up charge failed. |
| Billing invoice paid | An invoice was paid. |
| Billing invoice payment failed | An invoice payment failed. |
| Billing cancellation scheduled | A subscription cancellation was scheduled. |
| Billing subscription canceled | The subscription was canceled. |
| Billing payment method expiring | The default payment method is about to expire. |
| Billing payment method changed | The default payment method was changed. |
| Billing outstanding balance charged | An outstanding balance was collected. |
| Billing outstanding balance charge failed | An outstanding balance charge failed. |
Security (organization-scoped, admins only)
| Type | Announces |
|---|---|
| Security alert | A security event needing attention, delivered to owners and admins. |
Defaults and preferences
Every type has a default posture on each personal channel. Some default off (quieter lifecycle events), some default off on email only, and the rest default on. Each user overrides these under Settings > Notifications. Shared destinations never default on — a shared channel receives an event only when a project delivery rule names both that destination and the event.