| name | databricks-webhooks-events |
| description | Configure Databricks job notifications, webhooks, and event handling.
Use when setting up Slack/Teams notifications, configuring alerts,
or integrating Databricks events with external systems.
Trigger with phrases like "databricks webhook", "databricks notifications",
"databricks alerts", "job failure notification", "databricks slack".
|
| allowed-tools | Read, Write, Edit, Bash(databricks:*) |
| version | 1.0.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| compatible-with | claude-code, codex, openclaw |
| tags | ["saas","databricks","webhooks"] |
Databricks Webhooks & Events
Overview
Configure notifications and event-driven workflows for Databricks jobs. Covers notification destinations (Slack, Teams, PagerDuty, email, generic webhooks), job lifecycle events, SQL alerts with automated triggers, and system table queries for event auditing.
Prerequisites
- Databricks workspace admin access (for notification destinations)
- Webhook endpoint URL (Slack incoming webhook, Teams connector, etc.)
- Job permissions for notification configuration
Instructions
Step 1: Create Notification Destinations
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.settings import (
CreateNotificationDestinationRequest,
SlackConfig, EmailConfig, GenericWebhookConfig,
)
w = WorkspaceClient()
slack = w.notification_destinations.create(
display_name="Engineering Slack",
config=SlackConfig(url="https://hooks.slack.com/services/T00/B00/xxxx"),
)
email = w.notification_destinations.create(
display_name="Oncall Email",
config=EmailConfig(addresses=["oncall@company.com", "data-team@company.com"]),
)
pagerduty = w.notification_destinations.create(
display_name="PagerDuty",
config=GenericWebhookConfig(
url="https://events.pagerduty.com/integration/YOUR_KEY/enqueue",
),
)
print(f"Slack: {slack.id}, Email: {email.id}, PD: {pagerduty.id}")
Step 2: Attach Notifications to Jobs
from databricks.sdk.service.jobs import (
JobEmailNotifications, WebhookNotifications, Webhook,
)
w.jobs.update(
job_id=123,
new_settings={
: JobEmailNotifications(
on_start=[],
on_success=[],
on_failure=[, ],
no_alert_for_skipped_runs=,
),
: WebhookNotifications(
on_start=[Webhook(=slack.)],
on_success=[Webhook(=slack.)],
on_failure=[Webhook(=slack.), Webhook(=pagerduty.)],
),
},
)