Skip to main content
Slack is a notification channel — Sentrail sends messages to your Slack workspace when events occur. It is not a gated integration (Sentrail does not proxy Slack API calls).

Setup

Go to Settings → Notifications and paste your Slack incoming webhook URL into the Slack Webhook URL field. To create an incoming webhook:
  1. Go to api.slack.com/apps and create a new app
  2. Enable Incoming Webhooks
  3. Add a webhook to your workspace and choose a channel
  4. Copy the webhook URL (format: https://hooks.slack.com/services/T.../B.../...)
The URL is stored in app_settings.slack_webhook_url for the workspace.

Notification events

Configure which events trigger Slack messages in Settings → Notifications:
Event keyWhen it fires
approvalRequiredAn agent action requires human approval
approvalDecidedA reviewer approves or denies a pending request
killSwitchThe global kill switch is enabled or disabled
rogueActionAn action is blocked by policy (rogue detection)
Each event can be independently enabled or disabled per channel (email, Slack, in-app).

Example notification preferences

{
  "approvalRequired": { "email": true, "slack": true, "inApp": true },
  "approvalDecided": { "email": true, "slack": false, "inApp": true },
  "killSwitch": { "email": true, "slack": true, "inApp": true },
  "rogueAction": { "email": true, "slack": true, "inApp": true }
}
These are stored in app_settings.notification_preferences as JSON.

Notification delivery

Notifications are queued as rows in the notifications table with channel = 'slack' and status = 'pending'. The send-notification edge function processes the queue and delivers to Slack via the incoming webhook URL. Failed deliveries are retried according to retry_count and retry_at columns.
In-app notification delivery (channel = 'in_app') is stored in the database and displayed in the Sentrail dashboard. It does not push to external services.