Workflow Builder

Super Agent node

An agent whose tools are your project's published workflows. It decomposes a request, delegates to the right capabilities, and answers from their results

Purpose

The Super Agent node is an agent that plans and delegates. Instead of being handed a fixed list of tools by the builder, it discovers the published workflows in its own project and treats each one as a callable capability. Given a request, it decomposes the work, calls the capabilities it needs in the right order, and writes the final answer from what came back.

This is the difference between a workflow that does one thing well and a front door that routes across everything the project already automates. If your project has a leave-balance lookup, an expense-policy answerer, and a ticket-creation workflow, a Super Agent in front of them can take "I'm travelling next month, how much leave do I have and what's the per-diem?" and handle both halves without you ever authoring the branch.

The Super Agent's tool belt is governance-bounded by construction. It can only call workflows that were explicitly published, in its own project, minus anything you switched off on the node. It cannot invent a tool, reach into another project, or call an unpublished draft.

The Super Agent node is a preview capability. It appears in the Studio node palette only when your deployment has it enabled (NEXT_PUBLIC_ENABLE_ORCHESTRATOR). If you don't see Super Agent in the palette, ask your platform administrator to turn it on for your environment.

When to use it

NodeUse it for
Super AgentOne entry point over many published workflows, where the request decides which run and in what order
AgentLLM reasoning within one step, using MCP tools and knowledge bases you attach
Sub use caseCalling one specific child workflow at an authored point in the graph
ConditionDeterministic routing you can express as rules

If you can draw the routing on the canvas, draw it. A Condition node is cheaper, faster, and fully predictable. Reach for a Super Agent when the set of possible requests is open-ended and the routing is genuinely a judgement call.

How it works

Capabilities are discovered

When the node runs, MagOneAI lists every published use case in the project, excludes the workflow the Super Agent itself lives in, and removes anything you turned off on the node. Each survivor becomes one tool the model can call.

The prompt is assembled

Your instructions become the system prompt. The platform appends the delegation protocol, the signed-in user's identity, any remembered entries for that user, chat attachments, and the recall nudge, so every Super Agent gets the same baseline discipline without you writing it.

The model plans and calls

The agent loop runs: the model reads the request, calls one or more capabilities (several at once when they're independent), reads the results, and decides what to do next. Every call and result stays inside the loop's conversation.

Each capability runs as a real execution

A capability call isn't a function call. It starts a child workflow execution of that use case's published version, with its own execution row, audit log, and variable store. Its output comes back to the model as the tool result.

The Super Agent answers

When the model produces a content reply instead of another tool call, the loop ends. The reply is the node's output. If long-term memory is on, a post-run pass records what should be remembered about this user.

Capabilities

How a workflow becomes a capability

Every published use case in the project is turned into one tool:

  • Tool name: derived from the workflow's slug, prefixed uc_ (for example uc_leave-balance), capped at 60 characters and de-duplicated with a numeric suffix if two slugs collide.
  • Description: the workflow's own description, truncated at 1,024 characters. If it has none, the platform falls back to Run the '<name>' workflow.
  • Parameters: the Start node's input schema from the pinned published snapshot, exactly as a direct caller would send it.

Your workflow descriptions become the routing signal. A Super Agent picks capabilities by reading them, so a vague description ("handles requests") is the single most common cause of bad routing. Say what the workflow takes in, what it returns, and when it should be used.

File and image inputs

A Start field typed file or image is exposed to the model as a string file_id, not as a file upload. The description tells the model to pass a file_id it already holds and never to invent one. When the call is made, the id is validated against the child's real schema with a project-scoped check, and the child resolves the file exactly as it would for a direct submission.

If a document is attached to the conversation, the Super Agent is told its file_id so it can hand the reference onward instead of retyping the content into the capability's arguments. Retyping silently loses content that neither side can detect afterwards.

Which workflows are excluded

A workflow in the project will not appear as a capability if any of these apply:

ReasonWhat it means
not publishedThe use case has no published version. Drafts are never callable.
disabled for this super agentYou switched it off in the node's Capabilities section.
contains unsupported node type: human_taskThe workflow pauses for a human, which a capability call cannot wait on.
contains unsupported node type: orchestratorSuper Agents cannot call other Super Agents.
over capability capThe project exceeded the 50-capability ceiling for one node.
capabilities disabled (max_capability_calls=0)Capabilities are switched off entirely on this node; nothing is exposed.

Every one of these is recorded on the execution, with its reason. See What the debugger shows.

Turning capabilities off

The Capabilities section of the properties panel lists every workflow in the project. Published ones carry a callable badge; click it to switch that workflow off for this Super Agent. Unpublished ones show not published and can't be toggled.

This is a deny list scoped to the node, which has two useful consequences:

  • Two Super Agents in the same project can each expose a different subset.
  • A newly published workflow is callable immediately, with no reconfiguration. If you don't want that, switch it off explicitly.

Save the workflow to apply a capability change, then publish it for the change to affect live runs.

What happens on a capability call

Each call is validated and recorded before anything executes:

Depth and cycle guard

The call is rejected if it would exceed the maximum nesting depth (5 levels) or re-enter a use case already in the current chain. The model receives the violation as a tool error and re-plans.

Availability re-check

The target must still exist, still be active, still be in the same project, and still be published. A workflow unpublished mid-run stops being callable immediately (governance wins over convenience), and the model is told Capability was unpublished.

Argument validation

The model's arguments are validated server-side against the pinned snapshot's real Start schema, using the same machinery as the public execute API, including project-scoped file_id checks. A validation failure returns an error to the model rather than raising, so the run continues and the model corrects itself.

Child execution and audit row

A child execution row and a per-call audit log entry are created in one transaction, stamped with the Super Agent node that owns them.

The child workflow runs

The child use case executes its published snapshot end to end, with its own timeout. Its output returns to the model as the tool message.

Capability calls never crash the Super Agent. Every failure path, whether an unavailable capability, invalid arguments, an infrastructure error, or a timeout, comes back as an error string in the tool result, so the model can retry differently or explain what it couldn't do.

Budgets

Two limits bound what one run can spend:

  • max_capability_calls (default 10) is a run-wide counter across the whole loop. When it's exceeded, the next call returns Capability call limit reached (N). Answer with available information. and the model is expected to conclude. Setting it to 0 disables capabilities entirely: nothing is exposed to the model at all, and the node becomes a plain instructions-driven agent.
  • capability_timeout_minutes (default 15) is the ceiling on a single child workflow.

The delegation protocol

Beyond your instructions, the platform appends a fixed set of delegation rules to every Super Agent's prompt. You don't write these, and you can't turn them off. They exist so builders don't have to rediscover them:

  • One goal per call. Keep enumeration (listing candidates) separate from interpretation (choosing and reading one).
  • Each call is self-contained. The capability cannot see the conversation or the agent's other calls, so every detail it needs must be in the arguments.
  • Pass ids forward. When a result includes an id, the exact id goes into follow-up calls instead of a re-description.
  • A "not found" is one data point, not a conclusion. The agent must retry with a genuinely different angle (a different field, a wider range, an alternate spelling) before reporting failure.
  • Results accumulate, they don't replace. If a retry returns less than an earlier call did, the agent answers from the earlier result and says which one it used.
  • Never pretend. If no capability fits part of the request, the agent says so and names the capability that would be needed.

Write your instructions as the role and domain ("You help employees with HR questions; always confirm the employee's location before quoting policy"), not as routing mechanics. The routing discipline is already there.

Long-term memory

When Memory is on (the default), the Super Agent remembers things about the signed-in user, scoped to this specific node in this project. It is written only by a post-run pass. The agent never writes memory mid-task.

What is remembered

TypeWhat it holds
preferenceHow the user likes answers shaped: tone, format, language, level of detail
correctionA correction the user made, in the user's own words
factA piece of company data the run actually verified through a capability
episodeA code-written record of which capabilities a run invoked. The model can never create, edit, or delete these.

Guardrails

Memory on a Super Agent is deliberately conservative, because the failure mode is severe: a remembered "fact" read as authoritative data means the agent answers directory and policy questions from a stale note instead of calling the capability.

  • Memory is advisory, never evidence. It is fenced in the prompt and explicitly labelled non-authoritative. The agent is instructed to use it for tone, format and preference only, never to answer a factual question from it, and to re-verify with the capability and trust the capability's answer if a note contains a fact it is about to assert.
  • Facts require verification. If a run made no successful capability call, it verified nothing, and the store pass is blocked from writing a fact at all. Preferences and corrections come from the user's own words, so they're always allowed.
  • Facts age out of the prompt. A fact older than 30 days stops being injected. The row stays for audit; only the prompt is bounded.
  • Episodes are an audit trail, not answers. Each line records that a capability ran, never that its answer is still known. The results are not retained anywhere. A run that called nothing is recorded but withheld from future prompts, because "this question was answered with no retrieval" reads as precedent and compounds.
  • Caps. Up to 100 entries and 10 episodes per user per node, each entry up to 1,000 characters.

Everything is inspectable in an execution's Debugger → Memory tab.

Attachments and structured data

A Super Agent handles chat attachments the same way an Agent node does:

  • Documents are extracted and fenced into the system prompt as attached content.
  • Spreadsheets and CSVs register a __query_<dataset> SQL tool backed by DuckDB. The agent is instructed to answer any counting, summing, averaging, grouping, ranking, or lookup question by running SQL and using only the returned rows, never by estimating from prose.
  • When a tabular file is attached and you've left max_iterations at its default, the budget is floored at 25 iterations, because a schema peek, a query, a refine and an answer all compete with capability calls.

The Super Agent also gets the __query_blackboard recall tool when the deployment has harness retrieval enabled, so it can pull back the full body of an earlier capability result. See Execution artifacts and the Debugger.

Context compression

The agent loop summarizes its own history when that history grows past a character threshold. For a Super Agent this matters more than for a normal agent, because compression replaces the message list with a short summary rather than trimming it, so capability results gathered before it runs are gone, and the evidence the answer was built from goes with them.

The Advanced → Context compression threshold field controls this:

ValueBehaviour
Empty (Auto, the default)Derived from the model's own context window, minus the system prompt, the opening user message, and headroom reserved for the reply. Never derived below 20,000 characters.
0Compression disabled entirely.
A numberThat exact character budget.

Leave this on Auto unless you have a specific reason. A hand-set low value on a large-context model throws away capability evidence the model still needs; the auto-derived value sizes the budget to the model you actually configured.

Inputs and outputs

Input. The previous step's output flows in automatically, typically the Start node's fields. Explicit input mapping is not yet available on this node.

Output. One text field, response. Downstream nodes reference it as:

<node-id>.response

The panel shows the exact reference for your node.

Configuration reference

FieldDefaultRangePurpose
namen/an/aDisplay label on the canvas. Falls back to "Super Agent".
instructionsn/arequiredThe system prompt: role, domain, and how to help.
llm_config_idworkflow defaultn/aModel override. Falls back to the workflow's LLM config, then the org default.
max_iterations201–50Maximum LLM loop iterations per execution.
timeout_minutes601–1440Wall-clock ceiling for the whole loop.
max_capability_calls100–50Run-wide cap on capability invocations. 0 disables capabilities.
capability_timeout_minutes151–180Timeout for one capability child workflow.
memory_enabledtruen/aLong-term memory per signed-in user.
disabled_capability_ids[]n/aUse case ids switched off for this node. Empty means every published workflow is callable.
context_compression_thresholdauto≥ 0Character budget before history is summarized. 0 disables.

Workflow JSON

{
  "id": "support-super-agent",
  "type": "orchestrator",
  "config": {
    "name": "Support Super Agent",
    "instructions": "You help employees with IT and HR questions. Confirm the employee's office location before quoting any location-specific policy.",
    "llm_config_id": null,
    "max_iterations": 20,
    "timeout_minutes": 60,
    "max_capability_calls": 10,
    "capability_timeout_minutes": 15,
    "memory_enabled": true,
    "disabled_capability_ids": [],
    "context_compression_threshold": null
  }
}

The node's configuration is its persona. Unlike an Agent node, a Super Agent has no separate agent entity to attach: no persona record, no attached knowledge bases, no MCP tool picker. Its instructions and its discovered capabilities are the whole definition.

Timeouts and nesting

  • The loop's timeout is clamped to the parent workflow's own ceiling minus five minutes of headroom, so a configured value larger than the deployment's workflow timeout produces a clean Super Agent timeout rather than an opaque parent failure.
  • Capability children are cancelled if the Super Agent is cancelled.
  • Nesting is capped at 5 levels across the whole chain, and a use case already in the chain cannot be re-entered.

What the debugger shows

The Super Agent is deliberately not a black box. Its step's input snapshot records:

  • capabilities_visible: every tool the model could see this run, with the workflow name and id behind each.
  • capabilities_skipped: every other workflow in the project and why it was excluded, using the reasons in the table above.
  • memory_entries_injected and episodes_injected: how much remembered context was in the prompt.

Each capability call also produces its own child execution and audit row, so you can open the child run and see exactly what it received and returned. If the deployment captures artifacts, each capability result is also written to the Blackboard as a sub_agent_result, queryable alongside the agent's own tool results.

Best practices

Write descriptions for the router

A capability's description is how it gets chosen. State the inputs, the outputs, and the situations it's for.

Publish before you rely on it

Only published workflows are callable, and only the published snapshot runs. A draft edit changes nothing until you publish.

Keep capabilities single-purpose

One goal per workflow routes far better than one workflow with a mode switch. The delegation protocol assumes it.

Prune the belt

Switch off workflows the Super Agent has no business calling. A smaller, sharper belt beats 50 near-duplicates.

Limitations

  • No human tasks inside a capability. A workflow containing a Human Task node can't be a capability, because a capability call runs to completion rather than pausing for input.
  • No Super Agent calling a Super Agent. Orchestrator nodes are excluded from discovery.
  • Same project only. Discovery never crosses project boundaries.
  • No explicit input mapping yet. The node consumes the previous step's output automatically.
  • 50 capabilities per node. Beyond that, workflows are skipped with over capability cap.

Next steps

MagOneAI© 2026 Magure, Inc.

On this page