Skip to content

Notification Channels

TypeDescription
slackSend to a Slack channel
emailSend to an email address
POST /notification-configs
{
"name": "Platform Alerts",
"channel_type": "slack",
"value": "#platform-alerts",
"slack_connection_id": "slack-conn-uuid"
}

For email:

POST /notification-configs
{
"name": "DevOps Email",
"channel_type": "email",
"value": "devops@example.com"
}
FieldTypeRequiredDescription
namestringYesMust be unique per org
channel_typestringYesslack or email
valuestringYesSlack channel name or email address
slack_connection_idUUIDYes for slackReference to a connected Slack workspace

The actual value (email address or Slack channel) is stored in a secure vault. The database stores only a masked hint:

  • Email: j***@example.com
  • Slack: channel name is visible (not masked)
POST /notification-configs/{id}/test

Sends a sample notification with placeholder data to verify the channel works.

  • For Slack: requires a linked Slack connection with a valid bot token
  • For Email: requires the server-side Resend API key to be configured
POST /notification-configs/{id}/secret
{
"value": "new-channel@example.com"
}

Updates both the vault secret and the masked hint in the database.

POST /notification-configs/{id}/promote

Removes the user attachment from the notification config, making it org-wide. After promotion, any org member can manage targets on this config.

  • POST /notification-configs — Create a notification channel
  • GET /notification-configs — List channels
  • POST /notification-configs/{id}/test — Send a test notification
  • POST /notification-configs/{id}/secret — Rotate the secret value
  • POST /notification-configs/{id}/promote — Promote to org-owned