Databricks jobs health dashboard for your whole workspace
See every Databricks job in one table with failures, slowdowns, and stale schedules flagged, then rerun, cancel, or pause without leaving the page.
Build me an app my data engineering team opens every morning to see the health of every Databricks job in one place. The Databricks UI is good for diagnosing a single job but gives you nothing for a workspace-wide view: how many jobs are scheduled, which ones crashed recently, which ones have not run in a while, and where execution times are gradually creeping up.
The main tab is a table of every job in the workspace. Load the jobs with List Jobs, following next_page_token until every page is in, and pull recent history with List Job Runs. For each job show the job name, the last run status and when it finished, the current failure streak (consecutive failed runs counting back from the most recent), the latest run duration versus the average of recent successful runs with the gap called out when the latest run is meaningfully slower, and a stale flag when the job has not run within the configured number of days.
Databricks retains run history for 60 days, so cap the history window at 60 days and default to something smaller, around the last 14 days, for the streak and average calculations. All Databricks timestamps are Unix epoch milliseconds, so convert them for display and never show the raw number.
Give the table filters for failed only, currently running, and stale, plus a search box on job name. Let me set the stale threshold in days from a settings control, and persist it so the whole team shares the same definition of stale.
Clicking a job opens a detail panel. Show its recent runs using Get Job Run for per-run state, timing, and task breakdown, and pull the error text for failed runs with Get Job Run Output so I can read what actually broke without leaving the app. Use Get Job for the job's settings, including whether its schedule is currently paused.
From that panel give me buttons to re-run only the failed tasks with Repair Job Run, trigger a fresh run with Run Job Now, cancel a hung run with Cancel Job Run (and Cancel All Job Runs when several runs of the same job are stuck), and pause a noisy schedule with Update Job by setting the schedule's pause status. Every one of these is destructive, so each must open a confirmation dialog naming the job and the specific run before it fires.
Job and run state changes are asynchronous. Run Job Now and Repair Job Run return a run id and nothing else, so the handler should return that run id and the UI should refetch run state to show what actually happened rather than claiming success. Do the same after cancelling or pausing: re-read the state instead of assuming the call worked.
From the detail panel I also want to push the failure summary to Slack with Send a Message, choosing the destination channel from a picker populated by List Channels. The message should carry the job name, run id, failure streak, when it failed, and a trimmed excerpt of the error output. And I want to file a Linear ticket with Create Issue, picking the team from List Teams, with a title naming the job and a description carrying the job name, run id, a link back to the run, and the error output.
Add a second tab listing Delta Live Tables pipelines from List Pipelines with the same status-at-a-glance treatment: pipeline name, current state, latest update state, and a stale flag using the same threshold. Read-only is fine on this tab; the point is spotting a broken pipeline at a glance.
Density matters because this is a morning triage screen. Fit as many rows on screen as stays legible, show status as a colored badge, and make failing or stale rows easy to pick out in a quick scan. Sort so problems come first: failed, then stale, then everything else.
What does this prompt do?
- One table of every job in your workspace showing its last run status, how many times it has failed in a row, and whether it is running slower than its recent average.
- A stale flag for jobs that have not run in the number of days you choose, plus one-click filters for failed, currently running, and stale jobs.
- Click any job to read its recent run history and the actual error text, then rerun only the parts that failed, start a fresh run, stop a stuck run, or pause a noisy schedule.
- Push a failure summary to a Slack channel or open a Linear ticket with the job name and error details already filled in.
- A second tab does the same at-a-glance health check for your Delta Live Tables pipelines.
What do I need to use this?
- A Databricks workspace, and permission to view and run its jobs
- A Slack workspace, if you want to post failure summaries to a channel
- A Linear account, if you want to file tickets straight from the dashboard
How can I customize it?
- Change how many days without a run marks a job as stale
- Choose which Slack channel failure summaries go to and which Linear team receives the tickets
- Adjust how far back the run history goes when working out failure streaks and average run times
FAQs
Does this replace the Databricks jobs screen?
How far back does the run history go?
Can it actually fix a failed job, or does it only show me the problem?
Will it show my Delta Live Tables pipelines too?
Do I need both Slack and Linear?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop checking Databricks jobs one at a time.
Open one dashboard every morning and see which jobs failed, which are slowing down, and which stopped running.