Docs

Agents

Agent components use an LLM to reason and act. They range from general-purpose autonomous agents to specialised routing and delivery agents.


Agent

A general-purpose autonomous agent that uses an LLM with tools and knowledge bases to reason and act over multiple steps.

Use in a flow

  1. Add an Agent node to the canvas.
  2. Select Model Provider and Model ID.
  3. Write Agent Instructions (system prompt).
  4. Optionally connect Tools, select a Knowledge Base, and wire Input from Input or upstream components.
  5. Connect Selected Output to Output or the next step.
Input ──► Agent ◄── Tools / MCP Client
Knowledge Base (dropdown) ──► Agent
Agent (Selected Output) ──► Output

The agent can call connected tools, retrieve knowledge base context, use memory, and run guardrails before returning a response.

Parameters — Model and instructions

ParameterDefaultHiddenDescription
Model Provider—NoLLM provider for the agent.
Model ID—NoModel to use. Refresh to load available models.
Region Name—NoRegion where the selected model is available.
Agent Instructions—NoSystem prompt that guides agent behavior.
Input—NoUser message or task for the agent to process.

Parameters — Tools and knowledge

ParameterDefaultHiddenDescription
Tools—NoConnected tool components the agent can call.
Knowledge Base—NoOptional knowledge base for retrieval-augmented responses. Refresh to load options.
Fallback Knowledge Base—YesKB used when the user lacks access to the primary KB.
Assume Policy—NoAccess policy limiting which resources this agent can use.

Parameters — Memory and behavior

ParameterDefaultHiddenDescription
STM Retrieval Limit10YesRecent conversation turns from short-term memory.
LTM Retrieval Limit10YesRecords from long-term memory via semantic search.
User Level LTMfalseYesScope long-term memory per user instead of shared agent namespace.
Current DatefalseYesAdd a tool that returns the current date.
Max Iterations15YesMaximum reasoning steps before the agent stops.
Handle Parse ErrorstrueYesRecover from input parsing errors.
VerbosetrueYesDetailed agent logging during execution.

Parameters — Delivery and personalization

ParameterDefaultHiddenDescription
Enable File DeliverablesfalseNoLet the agent register files for delivery to channels.
Enable Channel DeliveryfalseNoInform the agent that a downstream Channel Agent handles outbound delivery.
Post-HITL Instructions—YesCustom instructions after Human In The Loop approval.
Enable PersonalizationfalseNoInject user personalization preferences into the prompt.

Parameters — Structured output

ParameterDefaultHiddenDescription
Enable Structured OutputfalseNoReturn JSON matching a defined schema.
Output Schema—NoTable of field names, types, and descriptions. Appears when structured output is enabled.
Output FieldresponseNoWhich field to expose on Selected Output when structured output is enabled.
Schema NameOutputModelYesName for the output schema model.
Format Instructions—YesInstructions for formatting structured output.

Parameters — Guardrails

ParameterDefaultHiddenDescription
Enable Input GuardrailfalseNoValidate input before agent execution.
Input Guardrails—YesGuardrails to apply on input. Appears when enabled.
Enable Output GuardrailfalseNoValidate agent output after execution.
Output Guardrails—YesGuardrails to apply on output. Appears when enabled.

Outputs

OutputDescription
Selected OutputAgent response message, or a specific structured output field.
Language ModelThe built language model instance (for wiring to other components).

Limitations

  • Model required — A model must be selected before the agent can run.
  • Tool mode — When used as a tool by another agent, the deprecated Agent Description applies.
  • Knowledge base — Retrieval uses the selected KB’s embedding model and search settings internally.

Intent Classification Agent (Beta)

Classifies the user’s intent and returns a structured output with the classified category.

Use in a flow

  1. Add an Intent Classification Agent (Beta) node to the canvas.
  2. Select Model Provider and Model ID.
  3. Define Agent Instructions and an Output Schema (for example, an intent string field).
  4. Connect Input from Input or an upstream message.
  5. Connect Structured Output downstream (for example, a conditional router or Agent).
Input ──► Intent Classification Agent ──► Router / Agent

Parameters

ParameterDefaultHiddenDescription
Model Provider—NoLLM provider for classification.
Model ID—NoModel to use.
Region Name—NoRegion where the model is available.
Agent Instructionshelpful classifier promptNoSystem prompt guiding intent classification.
Input—NoUser query to classify.
Output Schemaintent fieldNoFields to return (name, description, type).
Output Fieldstructured_outputNostructured_output for full JSON, or a specific schema field name.
Enable StreamingfalseNoRun classification in streaming mode.
Schema Name—YesName for the output schema model.
Model Kwargs—YesExtra keyword arguments for the model.

Outputs

OutputDescription
Structured OutputClassified intent as a message. Returns full JSON or a single field value based on Output Field.

Limitations

  • Beta — Behavior may change.
  • Schema required — Output Schema must define at least one field.
  • Structured output — Uses native structured output when the model supports it; otherwise falls back to prompt-based parsing.

Human In The Loop (Beta)

Pauses the flow and sends an approval request to configured delivery targets. The flow resumes once approved or rejected.

Use in a flow

  1. Add a Human In The Loop (Beta) node after an upstream Agent (or any component that produces a bot response).
  2. Wire User Query and Bot Response from upstream steps.
  3. Configure Approval Delivery Targets (channel, recipient, event type).
  4. Connect Response downstream.
Input ──► Agent ──► Human In The Loop ──► Channel Agent / Output

On first run, the component sends an approval card to the configured channels and pauses execution. When a human approves or rejects, the flow resumes with the action result.

Parameters

ParameterDefaultHiddenDescription
User Query—NoOriginal user message for approval context.
Bot Response—NoGenerated answer included in the approval request. Required.
Approval TitleAction RequiredNoTitle on the approval card.
Approval Descriptiondefault textNoDescription explaining what needs approval.
Approval Delivery Targets—NoWhere to send approval requests (channel, event type, recipient). One row. Refresh to load routes.
Send Reply to Original ChanneltrueNoSend confirmation back to the incoming channel after dispatching the approval.
Attach Incoming FilesfalseNoAttach session-uploaded files to the approval card.
Post-Approval Instructions—NoCustom instructions injected into the main agent after approval.
Timeout (seconds)86400NoTimeout value in seconds. Under advanced settings.
Auto-reject on TimeoutfalseNoUnder advanced settings.
Context Data (JSON){}NoExtra context shown on the approval card. Under advanced settings.
Assume Policy—NoAccess policy for channel and resource access.

Outputs

OutputDescription
ResponseOn pause: JSON with awaiting_approval status. On resume: approval or rejection message.

Limitations

  • Beta — Behavior may change.
  • Delivery target required — One complete row in Approval Delivery Targets (channel, event type, recipient). Approval requests are delivered to Microsoft Teams.
  • Playground and NeoGPT — Approval requests are not raised in these channels; the flow continues without review.
  • Flow pause — Execution stops until a human responds.
  • Event type — Approval targets use the hitl_approval event type automatically.

Channel Agent (Beta)

An agent wired to a communication channel. Handles inbound messages and routes outbound replies to configured delivery targets.

Use in a flow

  1. Add a Channel Agent (Beta) node after an upstream Agent that generates the message content.
  2. Wire User Query and Bot Response.
  3. Configure Outbound Routes or Delivery Targets.
  4. Connect Response downstream.
Input ──► Agent ──► Channel Agent ──► Output

The Channel Agent resolves the correct channel and recipient from the user query and delivers the bot response. Fully configured delivery targets are sent automatically; partial rows are resolved by the LLM at runtime.

Parameters

ParameterDefaultHiddenDescription
User Query—NoOriginal user query — used to determine channel, recipient, and event type.
Bot Response—NoContent from an upstream agent to deliver. Required.
Model Provider—NoLLM provider for routing decisions.
Model ID—NoModel used to resolve delivery targets.
Agent InstructionsautoNoBase system prompt. auto generates routing instructions from configured routes.
Additional Instructions—NoExtra routing or delivery overrides appended to the prompt.
Outbound Routes—NoChannels this agent can deliver to. Refresh to load routes.
Delivery Targets—NoTable of outbound targets (channel, event type, recipient, invocation). Empty fields are resolved by the LLM.
Send Reply to Original ChanneltrueNoSend confirmation back to the incoming channel after delivery.
Max Iterations10YesMaximum agent reasoning steps.
Handle Parsing ErrorstrueYesRecover from tool parsing errors.
VerbosefalseYesDetailed agent logging.
Model Kwargs—YesExtra keyword arguments for the model.

Outputs

OutputDescription
ResponseDelivery result message from the channel agent.

Limitations

  • Beta — Behavior may change.
  • Routes required — At least one Outbound Route or Delivery Target must be configured.
  • Bot response required — Upstream content must be wired to Bot Response.
  • Automatic targets — Targets marked automatic must have channel, event type, and recipient fully configured.

Flow Agent

Calls another Agentic Flow as a sub-flow and returns its output into the current flow.

Use in a flow

  1. Add a Flow Agent node to the canvas.
  2. Select Workspace and Flow Agent (refresh to load options).
  3. Wire Input from an upstream message or component.
  4. Optionally set Tweaks to override sub-flow parameters.
  5. Connect Response or Full Response downstream.
Input ──► Flow Agent ──► Output / Agent
Agent ──► Flow Agent (as a tool)

Parameters

ParameterDefaultHiddenDescription
Input—NoInput message or data for the sub-flow.
Workspace—NoWorkspace containing the target flow. Refresh to load.
Flow Agent—NoAgentic flow to execute. Refresh after selecting a workspace.
Conversation history—NoOptional conversation history passed to the sub-flow.
Session ID—NoSession ID for conversation continuity.
Output Component—NoSpecific output component to retrieve from the sub-flow.
Tweaks—NoKey-value parameter overrides for the sub-flow. Auto-populated from the selected flow.
Enable Retry—YesRetry failed API requests.
Max Retries—YesMaximum retry attempts.
Save Output as Variable—YesStore output as a named flow variable.
Variable Name—NoName for the flow state variable.

Outputs

OutputDescription
ResponseMain text output from the sub-flow execution.
Full ResponseComplete API response including metadata and all output data.

Limitations

  • Workspace and flow required — Both must be selected before execution.
  • Authorization — Runs using the flow’s authorization context; sub-flow must be accessible to the caller.
  • Session continuity — Pass Session ID to maintain conversation context across parent and child flows.
  • Tweaks — Values support {{variable}} placeholders resolved from flow context.

Voice Agent Call

Triggers a Voice Agent call and returns the call response.

Use in a flow

  1. Add a Voice Agent Call node to the canvas.
  2. Select Workspace and Voice Agent (refresh to load options).
  3. Fill in Call Parameters (auto-populated when a voice agent is selected).
  4. Connect Call Response or Status downstream.
Flow trigger ──► Voice Agent Call ──► Output / Agent

Parameters

ParameterDefaultHiddenDescription
Workspace—NoWorkspace containing the voice agent. Refresh to load.
Voice Agent—NoVoice agent to trigger. Refresh after selecting a workspace.
Call Parameters—NoParameter table auto-populated from the selected voice agent. Fill in values for each parameter.
Enable Retry—YesRetry failed API requests.
Max Retries—YesMaximum retry attempts.
Save Output as Variable—YesStore output as a named flow variable.
Variable Name—NoName for the flow state variable.

Outputs

OutputDescription
Call ResponseAPI response from the voice call (result, status code, raw data).
StatusHTTP status code from the last call attempt.

Limitations

  • Workspace and voice agent required — Both must be selected before triggering a call.
  • Call parameters — Required parameters depend on the selected voice agent configuration.
  • Authorization — Requires valid authorization to call the voice backend service.

Skills

Resolves workspace skills and outputs them for an Agent to use. See Skills for creating and managing skills.

Use in a flow

  1. Add a Skills node and select one or more active skills.
  2. Set each skill to Allow or Ask in Skill Approvals.
  3. Connect Skills to the Skills input of an Agent.
Skills ──► Agent ──► Output

The agent receives a short list of the selected skills and reads a skill’s SKILL.md only when a request matches it.

Parameters

ParameterDefaultHiddenDescription
Workspace ID—YesWorkspace used to fetch available skills. Filled automatically.
Skill ProviderAGENTCORENoRuntime provider for downloading and hosting skills.
Skills—NoSkills to load into the agent sandbox. Refresh to load the workspace’s active skills.
Sandbox StatusNot checkedNoRefresh to test connectivity to the sandbox runtime.
Skill ApprovalsAllowNoOne row per selected skill. Set a row to Ask to pause for approval before the agent uses that skill. Rows follow the Skills selection and cannot be added or deleted.

Outputs

OutputDescription
SkillsThe selected skills, for the Agent’s Skills input.

Limitations

  • Approval destination — A skill set to Ask sends its approval request to the delivery target of a Human In The Loop node in the flow.
  • Multiple nodes — Several Skills nodes can be connected to one Agent.

Break Agent

Immediately terminates the current flow execution with an optional break reason and instruction.

Use in a flow

  1. Add a Break Agent node where you want to pause execution after processing.
  2. Configure it like a standard Agent (model, instructions, tools, input).
  3. Optionally set Break Instruction and Break Reason.
  4. Connect Selected Output to Output so the response is delivered before the pause.
Input ──► Agent steps ──► Break Agent ──► Output

The agent processes the input, streams the response downstream, then pauses the flow. On resume, it runs as a normal agent without breaking again.

Parameters

Break Agent includes all Agent parameters plus the following:

ParameterDefaultHiddenDescription
Break Instructionexecution state summary promptNoInstruction injected when breaking. The agent summarizes execution state.
Should BreaktrueYesWhen false, behaves like a normal Agent without pausing.
Break Reasonagent_breakYesReason logged for the break (for debugging).

Outputs

OutputDescription
Selected OutputAgent response message before the break is set.

Limitations

  • Pause after response — The response is sent to downstream components before execution pauses.
  • Resume behavior — On resume (is_resume in flow context), the agent does not break again.
  • Execution ID — Flow can be resumed later using the execution ID stored in flow context.
  • Should Break off — Set Should Break to false to use as a standard Agent without pausing.