10.1 When a Multi-Agent Architecture Is Appropriate

Key Takeaways

  • In Multi-Agent Orchestration, an orchestrator agent handles the conversation and delegates to connected subagents, which are separate Agentforce agents in the same org.
  • Handoff mode (the default) lets the connected subagent respond directly with lower latency, while supervisor mode has the orchestrator synthesize responses and can call multiple agents per turn.
  • Salesforce describes multi-agent orchestration as appropriate when a single agent's instructions span many domains, routing keeps breaking, or separate business-unit agents must work together.
  • Supported combinations are Service-to-Service, Employee-to-Employee, and Employee orchestrator with Service connected subagents, with one level of delegation.
  • Orchestrator agents have a 120-second timeout and connected subagents a 30-second timeout, and cross-org or external non-Agentforce agents aren't supported by this feature.
Last updated: September 2026

10.1 When a Multi-Agent Architecture Is Appropriate

Quick Answer: Use a multi-agent architecture when one agent isn't enough. Signs include instructions that span many domains, routing that keeps breaking, or separately owned agents that must collaborate while customers use one front door. In Salesforce's Multi-Agent Orchestration for Agentforce, an orchestrator agent routes and delegates to connected subagents, which are complete, separate agents in the same org. Choose handoff mode when a specialist should talk to the user directly, and supervisor mode when the orchestrator must combine results from several agents.

Signs You've Outgrown a Single Agent

Salesforce describes scenarios that point to multiple agents:

  • A great customer service agent now needs a new domain, such as field service.
  • Several business units already run agents that now need to talk to each other.
  • An instructions block covers many domains, and routing keeps breaking.

Without orchestration, users on a single chat channel must pick among a growing list of agents and repeat themselves when switching. Engineers must untangle complex routing when handoffs fail. Orchestration gives users a single front door with shared context.

When a single agent is still the better choice

SituationBetter design
A few related jobs in one domain, owned by one teamOne agent with several subagents
The agent only needs data or operations from an external systemActions (flow, Apex, API) or MCP tools (section 10.2)
An external app needs to talk to one agentAgent API
Latency is critical and the scope is simpleSingle agent. Multi-agent latency is intrinsically higher

Orchestrator Agents and Connected Subagents

RoleWhat it is
Orchestrator agentHandles the initial conversation, then routes and delegates tasks. It can route to any mix of its own subagents and connected subagents
Connected subagentAn entirely separate agent in the org that the orchestrator uses like a subagent. It has its own expertise, identity, and subagents, and can be built from the Employee or Service agent template
Standard subagent (for contrast)A localized job inside one agent's definition, containing instructions and actions
Reference agentThe agent a connected subagent is based on. Settings such as its description can be overridden in Canvas

Handoff Mode vs. Supervisor Mode

Handoff mode (default)Supervisor mode
Who responds to the userThe connected subagent responds directly. The orchestrator sees the response but doesn't synthesize itThe orchestrator synthesizes the connected subagent's response and replies
RoutingTransition: @utils.transition to @connected_subagent.X. HyperClassifier preferred (required for handoff to work correctly)Tool call: @connected_subagent.X in reasoning actions, routed by the connected subagent's description
LatencyLowerHigher, because of an extra LLM call to synthesize
Multiple agents per turnNo, one handoff per turnYes
Post-response chainingafter_response block on the connected subagent (transition, if/then, set)Not applicable; the orchestrator stays in control
Variable mappinginputs: block, plus set in after_responseinputs: block on the connected subagent
Best forSpecialists that run end-to-end conversations, such as a billing or HR agentJobs where results from multiple agents must be combined before replying

Agent Script for Connected Subagents

When you connect an agent as a subagent, the builder adds a connected_subagent block. Context moves between agents only through the inputs mapping:

connected_subagent CRM_Agent:
    label: "CRM_Agent"
    description: "Use this tool for any request about CRM information"
    loading_text: "Fetching CRM information..."
    inputs:
        EndUserLanguage: string = @variables.EndUserLanguage
        currentRecordId: string = @variables.currentRecordId

start_agent agent_router:
    model_config:
        model: "model://sfdc_ai__DefaultEinsteinHyperClassifier"
    reasoning:
        actions:
            go_to_crm: @utils.transition to @connected_subagent.CRM_Agent

Handoff-mode chaining with after_response:

after_response:
    if @variables.email_needed:
        transition to @connected_subagent.EmailAgent

Patterns include always chain, conditional chain, multi-branch, set the state then chain, and pipeline. Anything written after a transition to is silently skipped, so set variables before the transition. Missing inputs mapping is the usual dataflow error, because context doesn't flow automatically.

Escalation in Multi-Agent Solutions

A connected subagent's delegate_escalation switch decides whose escalation flow runs:

ScenarioWhat happens
User asks for a human at the top level, or the orchestrator hits a global escalation ruleThe orchestrator's escalation flow runs
User asks for a human deep inside a specialist, or the specialist hits its own policy, and delegate_escalation: TrueThe connected subagent's escalation flow runs
The connected subagent has no escalation routing or subagentThe request is surfaced to the orchestrator's routing (cascading handoff)
All queues are offline, or the escalation flow fails or isn't definedAn AI fallback message is generated

Authentication and Supported Combinations

OrchestratorConnected subagentRuns as
Service agentService agentThe orchestrator's session user, not the subagent's own agent user. Guest users are supported
Employee agentEmployee agentThe logged-in user (who must be logged in first)
Employee agentService agentThe Service agent's own agent user
Service agentEmployee agentNot supported in this release

Considerations and Limits

  • Same org only. Orchestration isn't supported across multiple Salesforce orgs or with external non-Agentforce agents.
  • One level of delegation from orchestrator to connected subagents.
  • Timeouts: orchestrator 120 seconds (including delegation and synthesis); connected subagents 30 seconds.
  • No enforced limit on connected subagents. Salesforce's testing found no latency impact with one orchestrator and 8 connected subagents, each with 8 subagents.
  • Agentforce Voice isn't a supported configuration for this release.
  • Variable mapping is one-directional, from orchestrator to connected subagents.
  • Connect only active agents. New agent versions must be activated to be available, and a connected subagent can't be deactivated.
  • Legacy-builder agents must be upgraded to the new builder first.
  • File-based agents (for example SDR or Analytics) aren't supported in this release.

Design and Testing Tips

  1. Pick the pattern first: handoff or supervisor.
  2. Make connected subagents distinct. Overlapping descriptions cause inconsistent routing, and descriptions work like function signatures with explicit scope.
  3. Design for reuse across business domains such as Sales, HR, and Finance.
  4. Minimize latency: prefer handoff mode and streaming (both defaults), use the HyperClassifier for routing, and avoid redundant groundedness checks.
  5. Test each agent in isolation, then run end-to-end integration tests. Testing Center's Agent Handoff Evaluation column shows whether the expected handoff occurred.
Loading diagram...
Handoff vs. supervisor mode
Test Your Knowledge

A company's single support agent now covers billing, returns, technical support, and field service, and its routing has become unreliable. Each area is owned by a different team. Which architecture is most appropriate?

A
B
C
D
Test Your Knowledge

An orchestrator must gather order details from one connected subagent and warranty eligibility from another, then give the customer one combined answer. Which routing mode fits?

A
B
C
D
Test Your Knowledge

Which agent combination does Salesforce document as not supported for Multi-Agent Orchestration in this release?

A
B
C
D
Test Your Knowledge

In handoff mode, a developer writes transition to @connected_subagent.EmailAgent and then set @variables.step = "email" in an after_response block. The variable is never set. Why?

A
B
C
D