Skip to main content
DataRaven uses Apprise under the hood to deliver notifications to virtually any service you already use. Configure a notification once, and DataRaven will alert you whenever the events you care about occur.

How It Works

1

Choose an event type

Pick which event should trigger the notification (e.g., task execution failed).
2

Provide an Apprise URL

Each notification service has a unique URL format that contains your credentials or webhook token.
3

Optionally filter and customize

Narrow which events match using filters, and customize the message with a Jinja2 template.
4

Test and enable

Use the Send Test button to verify delivery, then enable the notification.

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.
1

Navigate to Quick Setup

Go to Notifications and click Quick Setup.
2

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”).
3

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.
4

Create

Click Create to bulk-create all selected configs in a single request. Each config gets a sensible default message template that you can customize later.
After Quick Setup, each notification config is fully independent — you can edit individual configs to add event filters, change templates, or disable specific ones without affecting the others.

Quick Setup via API

You can also bulk-create notifications programmatically using the Bulk Create endpoint:
This creates one notification config per event type. The response includes all created configs with their IDs, vault references, and default templates.

Apprise URLs

Every notification service is configured through a single URL string. Apprise supports 100+ services — see the full list on the Apprise docs.
Refer to the Apprise wiki for the exact URL format and required tokens for your service.

Event Types

DataRaven supports 18 event types organized into five categories:
Events fired during task execution lifecycle.

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

Default Templates

Here are the built-in templates DataRaven uses when you don’t specify a custom one:
You can customize templates with any valid Jinja2 syntax — conditionals, default values, formatting, etc.

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 contain sensitive credentials — webhook tokens, API keys, passwords. DataRaven never stores these in plain text or returns them in API responses.
  • 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

Need more? Upgrade your plan from the billing page.

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.
You can create multiple notification configs for the same event type with different filters and destinations — for example, send failures to both Slack and PagerDuty.