Teams
Overview
A team defines a workflow of agents that execute tasks based on a defined order, passing outputs along the chain. Teams also maintain session context to support multi-step conversations.
Types of team
Teams can be divided into two types:
-
Teams with a fixed workflow: By default, teams conduct processing in a fixed, sequential workflow between the agents.
-
Teams with a supervisor agent: Platform version 5.2 introduced a supervisory mode to teams. In this scenario, a team can have one agent which acts as a supervisor to the other agents in the team and dynamically decides on the order of workflow between them.
Teams with a fixed workflow
In a team with a fixed workflow, each agent has a specific role and its own tools, contributing to the overall workflow.
Setting up a team with a fixed workflow
JSON Team definition
The JSON Team definition below creates a single-agent team.
{
_name: "Get Assets Team",
_namespaces:["{{nsfilter}}"],
_agents: [
{
_userType: "asset_info_agent"
}
],
_flow: [
{
from: "__start__",
to: "asset_info_agent"
},
//insert additional flow steps here
{
from: "asset_info_agent",
to: "__end__"
}
]
}
Description of team definition properties
| Property | Type | Required | Description |
|---|---|---|---|
_name | String | Required | Enter a name for the team. |
_description | String | No | Enter a description for the team. |
_agents | Array of Object | Required | Identify the agents you want to include in the team. |
_flow | Array of Object | Required | Define the execution sequence by specifying transitions with "from" and "to" fields. You require at least two flow objects, one to start the flow and one to end it, using the "__start__" and "__end__" keywords. |
from | Array of Object | Required | To start a flow, set to "__start__", otherwise reference the preceding agent in the flow. |
to | Array of Object | Required | To end a flow, set to "__end__", otherwise reference the subsequent agent in the flow. |
Teams with a supervisor agent
In teams which use supervisory mode, a manager or supervisory agent can be added to each team. The other agents in the team function as sub-agents to the supervisory agent who now controls how the team processes the task.
Instead of a team following a fixed series of steps, the supervisory agent reads the prompt and decides in the moment which sub-agent (specialist) is best suited to handling the next task and assigns the work to that sub-agent. A fallback agent can be named to take over if the process routing gets stuck.
Key concepts in supervisory mode
| Concept | What it means |
|---|---|
| Team | A group of agents configured to work together. |
| Supervisor agent | An agent that decides who works next, instead of doing the task itself. |
| Sub-agents | The specific workers to which a supervisor is allowed to delegate tasks. Can be regarded as specialists. |
| Routing decision | The supervisor's pick of "who runs next". |
| Chain order | When there are multiple supervisors in the team, this setting determines which is the entry point for each supervisor and which supervisor comes next. |
| Fallback agent | An agent that functions as a "safety net" and is used when the routing of the process can't settle on an answer. |
| Guardrails | Built-in limits that prevent the team from looping forever. |
How a request in supervisory mode works
In supervisory mode, when a user makes a request from the team, the process is as follows:
-
The user asks a question through a conversation.
-
The supervisor agent reads it and picks the most appropriate sub-agent (specialist).
-
That specialist concludes its sub-tasks and hands control back to the supervisor agent.
-
The supervisor checks what has been completed and either picks the next specialist to perform more processing or decides that the answer is complete.
-
Once everything is processed, the team concludes, and the user receives the final answer.
Settings for supervisory mode
Set up supervisory mode by setting the values for certain optional fields in each team member definition. See the list of fields below.
| Field | Description | Required |
|---|---|---|
_userType | Determines which role this agent has in the team. | Required for all teams |
_subAgents | The list of sub-agents to which the supervisory agent can delegate work. Adding this list turns the agent into a supervisor agent and puts the team into supervisory mode. | Optional |
_order | The supervisor's place in the chain. The lowest number is the entry point. | Optional |
_onfailure | Determines the fall-back agent to use if process routing gets stuck. | Optional |
Note: For supervisory mode, the old fixed-path field (
_flow)is simply left empty and supervisory mode ignores it.
Examples of setting up teams in supervisory mode
This section describes two examples of setting up teams in supervisory mode.
Example 1: Supervisory mode team with one supervisor
In this example, a single manager (supervisor agent) routes each question to the correct agent from a list of four specialist sub-agents.
In plain English, you could describe the instructions for this team as: "Set up one desk manager. Depending on the question, it sends the work to the files expert, the data-model expert, the telemetry expert, or the access expert — and only finishes once every part of the question has been handled."
JSON Team definition for supervisory mode team with one supervisor
Refer to the JSON listing below.
{
"_name": "Platform Data Desk Team",
"_namespaces": ["{{nsfilter}}"],
"_agents": [
{
"_userType": "platform_data_supervisor",
"_order": 1,
"_subAgents": [
{ "_userType": "file_specialist" },
{ "_userType": "model_specialist" },
{ "_userType": "telemetry_specialist" },
{ "_userType": "access_specialist" }
]
}
],
"_flow": []
}
Example 2: Supervisory mode team with two supervisors
In this example, there are two managers (supervisor agents) working together in the team. First, the Content Supervisor (order 1) handles files and data-model questions, then it hands off to the Operations Supervisor (order 2) for telemetry and access questions.
In plain English, you could describe the instructions for this team as: "Set up two managers. The first owns the files and data-model experts and answers those parts first; it then passes the conversation to the second manager, who owns the telemetry and access experts and finishes the rest."
JSON Team definition for supervisory mode team with two supervisors
Refer to the JSON listing below.
{
"_name": "Platform Co-Supervisor Team",
"_namespaces": ["{{nsfilter}}"],
"_agents": [
{
"_userType": "content_supervisor",
"_order": 1,
"_subAgents": [
{ "_userType": "file_specialist" },
{ "_userType": "model_specialist" }
]
},
{
"_userType": "operations_supervisor",
"_order": 2,
"_subAgents": [
{ "_userType": "telemetry_specialist" },
{ "_userType": "access_specialist" }
]
}
],
"_flow": []
}
Other useful workflow examples
| Workflow | What it does | Example |
|---|---|---|
| Router/triage | One manager sends each question to the right single specialist. | "Is this a billing or a technical question?" |
| Planner -> executor | One agent plans the steps, another carries them out. | "Decide what to look up, then look it up." |
| Co-supervisors | A first manager handles everyday questions and hands deep cases to a second manager. | "Front desk answers FAQs; investigation lead runs root-cause analysis." |