Purpose
The Agent node executes an AI agent as a workflow step. The agent receives input from previous nodes, performs LLM reasoning with its configured persona and instructions, optionally calls tools or retrieves from knowledge bases, and produces structured output. Agent nodes are the intelligence layer of your workflows. They interpret context, make decisions, analyze data, and perform complex reasoning tasks that would be difficult or impossible with traditional code.How it works
When execution reaches an Agent node:- Input resolution — Data from previous nodes or the trigger is resolved and mapped to the agent’s input
- Knowledge retrieval — If knowledge bases are attached, context is retrieved (auto mode: single-shot injection; agentic mode: search tool available throughout execution)
- Memory retrieval — If Mem0 memory is enabled, relevant memories are retrieved and added to context
- Prompt construction — The system prompt is built from the agent’s persona, instructions, retrieved KB context, tool hints, and KB hints
- DSPy structured execution — The agent runs through DSPy with either
TypedPredict(direct) orChainOfThought(reasoning) to produce validated structured output - Tool loop — If the agent has tools, it enters a tool-calling loop where it can iteratively call MCP tools and KB search (agentic mode), up to
max_iterationsormax_token_budget - Output validation — Output is validated against the configured output schema
- Variable storage — The validated output is stored in the variable store for downstream nodes
Each Agent node is a single agent execution. For multi-agent patterns, chain multiple Agent nodes or use Parallel nodes to run agents simultaneously.
Configuration
Configure an Agent node to execute the right agent with the right context and behavior.Select an agent
Choose which agent from your project will execute in this node. The agent’s configuration determines:- Model — Which LLM to use (GPT-4, Claude, Gemini, etc.) via LLM Config
- Persona — The agent’s name, role, and detailed instructions
- Available tools — MCP tools the agent can call during its reasoning loop
- Knowledge bases — Vector stores the agent can query for context (auto or agentic mode)
- Capabilities — Tool execution, KB search mode, HyDE, memory, iteration limits, and token budgets
- Output schema — Structured output validation via DSPy
Agent capabilities
Each agent has configurable capabilities that control its behavior:Structured output with DSPy
Agent nodes use DSPy for structured, validated output generation. You can configure:- Output schema — JSON Schema that defines the expected output fields and types
- Module type —
TypedPredict(direct generation) orChainOfThought(step-by-step reasoning before output)
System tools
Beyond MCP tools, an agent can be granted a selectable set of built-in system tools viaenabled_system_tools — a list of tool names. An explicit list (including an empty list, meaning “none”) is authoritative; when it is left unset, the agent falls back to the legacy all-or-nothing switch.
The individually selectable system tools are:
The file tools (
read, write, edit, glob, grep) operate on file artifacts in the project, so an agent can discover, search, read, and produce files as part of its reasoning. Because grep and read work over pre-extracted text, an agent can locate specific content in a large PDF or spreadsheet without loading the whole document into its prompt.
request_human_input is not part of this list. It has its own toggle (allow_human_input) described below.Ask a human mid-run
Whenallow_human_input is enabled, the agent gets a request_human_input tool it can call mid-loop to pause and ask a specific person for clarification or missing information. The loop suspends until the assigned person responds, then the answer is fed back into the conversation (fenced and redacted as untrusted input) and the agent continues.
This is clarification-only — it does not branch on approve/reject. For approval gating with routing, use a standalone Human task node.
Two settings are required when allow_human_input is on:
human_task_assignee_id— the user who receives the request. The agent cannot choose an assignee; it is fixed per agent.human_task_timeout_minutes— how long to wait before the loop fails. There is no indefinite wait: the value is bounded by the workflow’s own lifespan, so a wait longer than the parent workflow can outlive is rejected.
Blackboard recall
Whencan_query_blackboard is enabled, the agent gets a __query_blackboard tool that recalls the full result of something it already did earlier in the same run — a prior search, page fetch, or query — instead of repeating the tool call. It searches only the current execution’s artifacts, never another run’s. See Memory and variable store for how run artifacts are stored.
Input mapping
Map data from the variable store to the agent’s input. The agent receives this data as context for its reasoning. Common input mappings:- Trigger data —
{{input.document_url}} - Previous agent output —
{{previous_agent.analysis}} - Tool results —
{{api_call.response}} - Static values — Hardcoded strings or numbers for consistent context
Output mapping
Define how the agent’s output is stored in the variable store. You can:- Store the entire response under a custom variable name
- Extract specific fields from structured output
- Transform the output before storing
Automatic retries
MagOneAI runs agent activities on Temporal, which retries a failed activity automatically. The default is up to 3 attempts, a platform-level setting rather than a per-node option. Retries cover transient failures such as LLM rate limits, timeouts, and temporary service errors, so an agent execution recovers from a hiccup without failing the whole workflow. A call that exceeds the request timeout fails and is subject to the same retry behavior.Request timeout
In the agent node’s Advanced settings you can set a per-LLM-call timeout — the maximum time a single model request may take before it fails. This bounds an individual call within the agent’s reasoning loop, not the agent’s total run time.- Field —
request_timeout_seconds - Range — 1 to 600 seconds
- Default — uses the LLM config’s defaults (typically 120s for text calls and 300s for vision calls) when left blank
Model selection and overrides
By default an Agent node uses the agent’s own model (its LLM Config), and the workflow’s default LLM config fills in when the node specifies none. You can override both the model and its sampling parameters at the node level. Pin a model at this node:llm_config_id— the LLM config this node should use, overriding the workflow default.force_llm_config— when true andllm_config_idis set, this node’s model is pinned so that a per-message chat model pick cannot override it. Use it to keep a node (for example a confidentiality gate, or a per-role agent) on a specific self-hosted model regardless of the user’s selection.
temperatureandtop_p— sampling controls for this activity.max_tokens— cap on output tokens for this activity.thinking_enabled/thinking_effort— turn on extended thinking and set its depth (low,medium, orhigh). This is translated to provider-specific reasoning budgets (for example a reasoning effort for OpenAI o-series, a thinking block for Anthropic,thinkingConfigfor Gemini).prompt_cache_ttl— prompt-cache lifetime for this node’s LLM calls: unset means the default (a 5-minute cache, on),1hextends it to one hour (higher one-time write cost), andoffdisables explicit caching. It applies to API providers (Anthropic honors the duration); self-hosted models cache automatically.
These node-level overrides are for a single Agent node. The same parameters can also be set as defaults on the agent itself; the node values take precedence where both are present.
How context flows
Understanding how data flows into and out of Agent nodes is crucial for building effective workflows.Input flow
- Previous activities store their outputs in the variable store
- You define input mapping to select which variables the agent receives
- The agent receives mapped data as context
- The agent processes the context with its persona and instructions
Output flow
- The agent completes reasoning and produces output
- Output mapping transforms or extracts specific fields
- Mapped output is stored in the variable store
- Downstream nodes can access the stored data
Context accumulation
As workflows execute, context accumulates in the variable store. Downstream agents can access outputs from all previous nodes:Example: Document processing workflow
Let’s build a complete document processing workflow using Agent nodes.Scenario
Process incoming contracts: extract text, analyze compliance, assess risk, and generate a summary report.Workflow structure
1
Document extraction agent
Receives the document URL from the trigger. Uses vision model to extract text and metadata.Input:Output:
2
Compliance analysis agent
Analyzes the extracted text for compliance with company policies. Has access to compliance knowledge base.Input:Output:
3
Financial analysis agent
Extracts and analyzes financial terms, amounts, and obligations.Input:Output:
4
Summary report agent
Synthesizes all previous analyses into an executive summary.Input:Output:
Result
Each agent builds on the previous agent’s work, creating a comprehensive document analysis pipeline. The variable store accumulates context, and the final report agent synthesizes everything into actionable insights.Agent types
MagOneAI automatically classifies agents based on their configuration:Tool-calling loop
When an agent has tools available, it enters an iterative tool-calling loop:1
Initial reasoning
The agent receives the prompt with persona, instructions, input, and any KB context. It decides whether to call a tool or generate a final answer.
2
Tool execution
If the agent decides to call a tool, the tool is executed via the MCP protocol. In agentic RAG mode, the
__kb_search tool is also available for iterative knowledge base queries.3
Result integration
Tool results are added to the conversation. The agent reasons about the results and decides whether to call another tool or generate a final answer.
4
Loop termination
The loop ends when:
- The agent generates a final answer (no more tool calls)
max_iterationsis reachedmax_token_budgetis exceeded
The tool loop enables agents to perform multi-step reasoning: search a knowledge base, call an external API based on the results, then synthesize everything into a structured answer.
Best practices
Keep agent scope focused
Keep agent scope focused
Design each agent to do one thing well. Instead of a single “analyze everything” agent, use multiple focused agents: compliance checker, financial analyzer, risk assessor, etc.Focused agents are easier to test, debug, and reuse across workflows.
Use descriptive variable names
Use descriptive variable names
When mapping outputs, use clear, descriptive names that indicate the source and content.Good:
compliance_agent.risk_assessment
Poor: result1Future you (and your teammates) will thank you.Validate agent outputs
Validate agent outputs
Use Condition nodes after Agent nodes to validate outputs meet your criteria. Route to error handling or human review if validation fails.This prevents invalid data from propagating through your workflow.
Provide rich context
Provide rich context
The more context you provide to agents, the better their reasoning. Map all relevant data from previous nodes, even if it seems redundant.Agents perform best when they have complete information.
Set appropriate timeouts
Set appropriate timeouts
Balance between allowing enough time for thorough reasoning and preventing stuck executions. Monitor actual execution times and adjust.Most agent executions complete in 30-90 seconds, but complex tasks with many tool calls may need more time.
Next steps
Tool node
Execute tools directly without agent reasoning
Parallel execution
Run multiple agents simultaneously
Condition node
Route based on agent output
Memory system
Understand how context flows between agents