How It Works
Choose an event type
Pick which event should trigger the notification (e.g., task execution failed).
Provide an Apprise URL
Each notification service has a unique URL format that contains your credentials or webhook
token.
Optionally filter and customize
Narrow which events match using filters, and customize the message with a Jinja2 template.
Quick Setup
Quick Setup lets you create multiple notification configs at once — one per event type — all sharing the same Apprise URL. This is the fastest way to get comprehensive alerting for a single destination like a Slack channel or Discord webhook.Enter a name and Apprise URL
Provide a name prefix (e.g., “Slack Alerts”) and your Apprise URL. Each notification config will
be named “{prefix} - {Event Name}” (e.g., “Slack Alerts - Execution Failed”).
Select event types
Check the event types you want notifications for. Use the group checkboxes to select entire
categories, or Select All for full coverage.
Quick Setup via API
You can also bulk-create notifications programmatically using the Bulk Create endpoint:Apprise URLs
Every notification service is configured through a single URL string. Apprise supports 100+ services — see the full list on the Apprise docs.Popular Services
Event Types
DataRaven supports 18 event types organized into five categories:- Execution Events
- Task Events
- Secret Events
- Location Events
- API Key Events
Events fired during task execution lifecycle.
| Event Type | Fires When |
|---|---|
task_execution_started | An execution begins |
task_execution_completed | An execution finishes successfully |
task_execution_failed | An execution encounters an error |
task_execution_cancelled | An execution is cancelled |
Event Filters
Event filters let you narrow which events trigger the notification. Filters are a JSON object where all conditions must match (AND logic). Leave empty ({}) to match all events of the selected
type.
Filter Rules
- Exact match —
{"trigger": "scheduled"}matches only scheduled triggers - Any-of match —
{"status": ["failed", "completed"]}matches if the value is any item in the array - Boolean match —
{"is_dry_run": false}matches only real executions - Multiple conditions —
{"trigger": "scheduled", "is_dry_run": false}requires both to match
Examples by Event Type
Message Templates
Notifications use Jinja2 templates to format the message body. Each event type exposes different variables. If you don’t provide a custom template, DataRaven uses a sensible default.Available Variables
- Execution Events
- Task Events
- Secret Events
- Location Events
- API Key Events
| Variable | Description |
|---|---|
task_name | Name of the task |
execution_number | Sequential execution number |
status | Current execution status |
duration_seconds | Execution duration (completed events) |
error_message | Error details (failed events) |
Default Templates
Here are the built-in templates DataRaven uses when you don’t specify a custom one:Testing Notifications
Before relying on a notification in production, use the Send Test button in the admin UI. This sends a sample notification using your configured Apprise URL and message template so you can verify delivery without waiting for a real event.Test notifications use placeholder data for template variables (e.g.,
task_name = “Test Task”).
The actual notification will contain real event data.Security
- Apprise URLs are encrypted and stored in AWS SSM Parameter Store
- API responses include only a vault reference ID (
apprise_vault_secret_id), never the URL itself - URLs are only decrypted internally when sending a notification
Tier Limits
| Plan | Notification Configs |
|---|---|
| Free | 1 |
| Pro | 25 |
Common Patterns
Alert on all failures
Event type:
task_execution_failed
Filters: {}
Result: Get notified whenever any task fails.Slack on scheduled completions
Event type:
task_execution_completed
Filters: {"trigger": "scheduled"}
Result: Notify Slack when scheduled tasks finish (ignore manual runs).PagerDuty for critical failures
Event type:
task_execution_failed
Filters: {"is_dry_run": false}
Result: Page on-call when real (non-dry-run) executions fail.Audit secret changes
Event type:
secret_created, secret_updated, secret_deleted
Filters: {}
Result: Track all secret lifecycle events for compliance.Monitor API key activity
Event type:
api_key_created, api_key_rotated, api_key_revoked, api_key_deleted
Filters: {}
Result: Track all API key lifecycle events for security auditing.