An LLM on its own can read a question and write an answer. What makes a Fusion agentic app dependable is everything around it: the context the app hands over, the workflow that routes the request, the business objects that fetch real Fusion data, and the rules that had to pass before any of it shipped. Every stage below is a real artifact type, traced out of Oracle’s own sample corpus.
Drag the diagram sideways — the rules and findings layers sit to the right.
Six stages between a click and an answer. The names in code are the
actual artifact types and relations you can search in the graph explorer.
An agentic app is a .app artifact whose panels are laid out by a page pattern.
When the user clicks, the app packs the situation into context keys —
$app.$OraAction, $app.$OraPanelName, $app.$OraMessageHint,
$app.$OraUserContext — so the workflow starts knowing which panel asked and
what was clicked. Some apps go further and call a dedicated context workflow first.
This is the part that surprises people. The app exposes_agent straight to a
workflow, and each panel is rendered_by one. Of the 113 workflows in the
corpus, 31 sit at the agent-team layer acting as supervisors and 82 at the agent layer. There is no
separate agent runtime to reason about — the workflow is the agent.
Reasoning happens in LLM nodes — 282 of them — each bound to a model
configuration via uses_model. Their job is deliberately narrow: classify the request,
extract fields, pick a branch, phrase a summary. They do not call anything. That keeps the
unpredictable part small and the auditable part large.
The bulk of every workflow is ordinary machinery: 458 CODE nodes, 295
BO_FUNCTION, 132 CONDITION, 102 SWITCH, plus
PARALLEL, LOOP, SET_FIELDS and sub-workflows. They chain
with flows_to, merge with converges_to, fail over with
on_error_to, and pass results with reads_output_of.
A BO_FUNCTION node calls_bo_function on a business object, and that
function calls_rest against a real Fusion REST resource. 75 business objects, 193
functions, 109 endpoints. Nine tool types cover the rest: business object, document retrieval
(RAG), external REST, MCP, deep link, email, calculator, user query and multi-file processor.
RETURN and END hand the shaped result back, and the panel
rendered_by that workflow paints it — in place, inside the app, next to the data
it describes. What the user did then becomes the app context for the next turn.
Accounting Exceptions — an agent-team workflow of 35 nodes behind one panel in the Cost Accounting Period Close workspace. Abridged to the spine; the branches are real but omitted.
$OraAction, $OraMessageHint, $OraAppContextgetTransactionsforErrorCategory() on Accounting Exceptions Lookup → /api/boss/extraction/extractrendered_by this workflow.Generic agent harnesses put a policy gate in the request path, deciding at runtime whether a
proposed action is allowed. Fusion’s equivalent sits earlier: 1,676 authoring rules that
governs node types and CLI commands, checked by aistudio validate
before an artifact is ever deployed. A rule like “for app-backed workflows, route on
$context.$app.$OraAction” constrains the author, so the runtime does
not have to.
282 LLM nodes against 1,686 workflow nodes in total — about one in six. The rest is routing, data access and shaping. That ratio is the design: the reliability comes from how little is left to the model, and how much of the path around it is a graph you can read, diff and validate.