If the Sub Agents section does not appear in the Agent Builder, contact your Customer Success Manager (CSM) to confirm availability for your workspace.
How Delegation Works
A coordinator is an ordinary Custom Agent with one addition: a list of sub-agents that sits alongside its tools. This list is the coordinator’s roster. Everything else stays the same, including the create, configure, test, publish, edit, pause, and delete lifecycle described in Custom Agents. Delegation follows these rules:- Delegation extends one level: A coordinator delegates to the agents on its roster, and each sub-agent completes its assigned task directly. A sub-agent cannot delegate onward to sub-agents of its own.
- A single task covers the entire workflow: Running a coordinator opens one task. MoEngage runs the delegated work inside that task and records it as one task on the agent’s Tasks tab.
- The running user’s permissions apply: A sub-agent carries the tools its own creator assigned to it, but MoEngage authorizes each MoEngage data or campaign action against the permissions of the user who starts the task. A sub-agent that holds a write tool the running user does not hold cannot complete that action, so delegation never widens what a run reaches.
- Sub-agents run concurrently: The coordinator does not wait for one sub-agent to finish before it starts the next.
Eligible Sub-Agents
You can add any Live agent that you can see: a public agent, including one your teammates built, or one of your own private agents. The Sub Agents picker lists only these agents, and you can add each one to a roster once. A roster holds up to 20 sub-agents. The picker leaves out the following agents:Assign Sub-Agents
To attach sub-agents to an agent:- Open the agent in the Agent Builder. For a new agent, refer to Create a Custom Agent. For an existing published agent, go to Manage > Edit on the agent’s detail page; for a Draft, click its card on the Custom Agents dashboard to open the builder.
- In the Configuration tab, locate the Sub-agents section.
- Search for an agent by name and select it.
- To check an agent before you add it, open its Agent Info view. Agent Info opens in a new browser tab and shows who created the agent, when they created it, and who last updated it.
- Tell the coordinator how to use its sub-agents. In the instructions, name the sub-agent responsible for each part of the task, and state how the coordinator combines their results. A coordinator delegates only what its instructions describe. For guidance, refer to Configure your Agent’s Instructions.
- Start a Test agent run to confirm that each delegation behaves as expected, and then click Publish.
Adding an agent to a roster gives your coordinator the use of that agent, not control over it. To change a sub-agent, open it directly from the Custom agents dashboard. Only its creator can edit its configuration, change its visibility, or delete it.
Visibility Rules
MoEngage blocks you from adding another user’s private agent to a roster, so a coordinator never delegates to an agent you cannot see. Your own private Live agents remain eligible. Review a roster before you make a coordinator public, so that you know which of your agents the coordinator reaches. For more on visibility, refer to Set Visibility.Update a Roster
Each time you save a coordinator, MoEngage records the published version of every sub-agent on its roster. The coordinator keeps using those recorded versions, so a teammate who republishes a sub-agent does not change how your live coordinator behaves. To use a sub-agent’s latest version, open the coordinator in the builder, save it, and click Publish. To take an agent off a roster, open the coordinator in the builder and remove the agent from the Sub Agents section.MoEngage blocks the deletion of an agent for as long as it sits on any coordinator’s roster, and names the coordinators that use it. Remove the agent from every roster that lists it, and then delete it. Refer to Delete an Agent.
Run a Coordinator
Start a coordinator using the same methods as any other agent: from the hub composer, from the agent’s detail page, or through Test agent in the builder. For details on starting, monitoring, and resuming a task, refer to Run and Manage Agent Tasks. A delegated run behaves as follows:- The transcript shows the delegated work as it happens, with each sub-agent’s messages indented under the coordinator’s steps, so you can see which sub-agent handles which part of the task.
- Sub-agents share the coordinator’s task, its attached files, and its credentials.
- A file that a sub-agent produces appears in the coordinator’s session outputs, alongside the files the coordinator produces itself. Refer to Session Outputs Panel.
- The agent’s Tasks tab records the run as one task, with a single transcript covering the coordinator and every sub-agent it calls.
FAQs
Can a sub-agent have sub-agents of its own?
Can a sub-agent have sub-agents of its own?
No. Delegation extends one level. A coordinator delegates to its sub-agents, and each sub-agent completes its task directly. When you build a roster, the picker leaves out any agent that already has sub-agents.
Whose permissions does a sub-agent use?
Whose permissions does a sub-agent use?
The permissions of the user who starts the task. A sub-agent keeps the tools its own creator assigned to it, so a roster can list an agent that holds tools the coordinator itself does not. That list does not grant access: MoEngage checks each MoEngage data or campaign action against the running user’s permissions, so a delegated write fails if that user cannot perform it themselves. For details, refer to Agent Permissions and Security.
I updated an agent that other coordinators use. Do those coordinators adopt my changes automatically?
I updated an agent that other coordinators use. Do those coordinators adopt my changes automatically?
No. Each coordinator uses the version of the sub-agent recorded at its last save. For a coordinator to use your update, its creator opens it in the builder, saves it, and clicks Publish.
Can I add a teammate's private agent to my agent's roster?
Can I add a teammate's private agent to my agent's roster?
No. A roster accepts a teammate’s agent only when that agent is public and Live. Your own private Live agents remain eligible. If your workflow needs what a teammate’s private agent does, ask its creator to make the agent public.
Does MoEngage log a delegated run differently from a standard run?
Does MoEngage log a delegated run differently from a standard run?
No. The delegation runs inside the coordinator’s single task, and MoEngage logs it as one task on the coordinator’s Tasks tab with one transcript covering the coordinator and every sub-agent it calls.