Manage jobs
manage_jobsCreate, inspect, update, reset, delete, or trigger Databricks Lakeflow Jobs with confirmation safeguards for destructive actions.
Instructions
Create, inspect, change, delete and trigger Databricks Lakeflow Jobs.
create: spec = JobSettings fields (name, tasks, job_clusters, environments, schedule, trigger, continuous, parameters, email_notifications, webhook_notifications, tags, queue, max_concurrent_runs, timeout_seconds, git_source, run_as, access_control_list, ...). Each task needs task_key and one task type (notebook_task, spark_python_task, python_wheel_task, sql_task, pipeline_task, run_job_task, ...) plus compute (existing_cluster_id, job_cluster_key, new_cluster, or environment_key for serverless).
get (job_id), list (name filter, paginated).
update (job_id, spec and/or fields_to_remove): partial; top-level fields in spec replace existing ones, tasks/job_clusters are merged by key.
reset (job_id, spec): full overwrite of all settings (DESTRUCTIVE, needs confirm).
delete (job_id): DESTRUCTIVE, needs confirm.
run_now (job_id, spec: job_parameters, notebook_params, python_params, only, queue, performance_target, idempotency_token, ...): returns the run_id immediately (status 'pending'); wait=true polls (bounded). Specs setting run_as/access_control_list are additionally SECURITY_SENSITIVE (confirm required).
Safety classification: depends on input (DESTRUCTIVE, EXECUTION, READ_ONLY, SECURITY_SENSITIVE, WRITE).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | list only: exact job name filter (server-side). | |
| spec | No | Request body fields for create/update, using the Databricks REST API field names (snake_case). Unknown fields are rejected. | |
| wait | No | run_now only: poll until the run finishes (bounded). | |
| action | Yes | create: new job from spec; get: full job definition; list: jobs (optional name filter); update: partial change (spec = fields to set, fields_to_remove); reset: replace ALL settings with spec; delete: delete the job; run_now: trigger a run (spec = run parameters). | |
| job_id | No | Job id (get/update/reset/delete/run_now). | |
| confirm | No | Set to true ONLY after the user has reviewed the plan returned by a previous call with status 'confirmation_required'. Required for destructive/security-sensitive actions. | |
| dry_run | No | If true, validate and return the planned change without executing it. | |
| page_size | No | Max items to return (server caps this). | |
| page_token | No | next_page_token from a previous response. | |
| timeout_seconds | No | run_now with wait=true: max seconds to wait (capped by server). | |
| fields_to_remove | No | update only: top-level settings to remove, or 'tasks/<task_key>' / 'job_clusters/<key>'. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| page | No | ||
| plan | No | ||
| tool | Yes | ||
| action | No | ||
| safety | No | ||
| status | No | success | |
| summary | Yes | ||
| warnings | No | ||
| next_steps | No | Suggested follow-up calls. | |
| request_id | No |