Plenty of production jobs still end with a person. The graph ingests, transforms and validates on its own, and then somebody opens a results table in the morning, reads the error counts and decides whether the publish step should run. Databricks made Genie Code tasks in Lakeflow Jobs generally available on 21 October 2026, so that judgement step can now be a task in the graph. A Genie Code task runs a natural-language prompt autonomously, reads the outputs of upstream tasks in the same job, calls tools as it goes, and leaves a link to the Genie Code conversation with its response. The decision a team now faces is which seat in the graph to give it, and we'd give it a narrow one.
Auto-approval is always on #
In an interactive chat, Genie Code can stop and ask before each tool call. In a job there's nobody to ask.
Databricks' page for the task says auto-approval is always on for job tasks and can't be disabled, and that an AI classifier checks each action against the prompt and blocks risky operations outside its scope. The same page is blunt about what that classifier is: "a productivity feature, not a security boundary." The task also inherits the Genie Code settings and any custom Model Context Protocol (MCP) connections already configured, so the agent has the same tools and data sources an interactive session would have.
We'd read that as a statement about blast radius. Whatever the configured Genie Code can reach, the job can reach unattended, and the prompt is the only thing describing the intended scope. So before scheduling one, we'd list the MCP connections it inherits, because a Slack or Jira connection becomes something a 3am run can post to, and we'd keep the prompt in the job definition under review with the rest of the code. Our orchestration chapter has production jobs run as a service principal, and the docs describe these as your settings and your connections, so which identity's Genie Code configuration a scheduled run picks up is the first thing we'd confirm in a test workspace.
Let it judge, and let plain tasks act #
The detail that makes the task worth using is its output. A downstream task can read the final response of a successful run as {{tasks.<task_name>.output.response}}, in a task parameter or an If/else condition, according to the task documentation. That's how we'd wire it. The deterministic tasks do the work, the Genie Code task reads their outputs and answers one question, and an If/else on its answer decides whether an ordinary publish task runs. We'd ask in the prompt for a single word such as PUBLISH or HOLD as the final message, with the reasoning above it, partly because a condition compares cleanly against one word and partly because the run output shows only the first part of a very long message while the conversation keeps the full text.
Every write to a production table stays in a task that's code, reviewable and safe to re-run with a repair run. The agent's work is an opinion with a paper trail, since each run leaves a continuable conversation an engineer can open to see what it looked at. The documentation's own examples fit this shape, from flagging anomalies in incoming data to summarising overnight results, and the anomaly case is the one we'd try first, next to the freshness and volume checks in observability.
Prompts take job parameters, and typos pass silently #
A prompt can reference a job parameter as {{name}}, and Databricks replaces it with the parameter's value when the task runs, including a dynamic value from an upstream task. A placeholder with no matching parameter is left unchanged. A misspelt {{regoin}} reaches the agent as literal text, and an autonomous agent will answer anyway, so we'd check every placeholder against the job's parameter list in review.
A job task or a scheduled task #
Genie Code already had scheduled tasks, so there are now two ways to run it unattended. A scheduled task runs as a chat in one person's chat list, can't be shared with other users, and uses the permissions of whoever created it. A job task runs inside a Lakeflow job, where retries and notifications can be configured on the task. We'd leave a personal morning summary as a scheduled task and move anything a team relies on into a job.