Skip to main content

Teams

  • optional

A Template Package can include teams to be created or updated in the AI service for the selected project during deployment. Each team is listed in the manifest.teams array. The manifest entry names the JSON definition file; the file holds _agents and _flow (and may duplicate or override fields also set in the manifest).

Definition files must live in the teams folder inside the ZIP archive. Each file value in manifest.teams must match the path of that file relative to teams/ as stored in the ZIP.

For each entry, the manifest row is merged with the JSON file as { ...fileTeam, ...teamDef }, so manifest values override the file when both define the same property.

Each manifest row must include:

  • name — team name (maps to _name); used to detect an existing team in the project
  • file — JSON filename (or path) under teams/

Each team definition file must contain a single JSON object (not an array). After merging, the team must include:

  • _agents — a non-empty array of objects; each object must have a non-empty string _userType identifying an agent. These values should match the userType of agents in the project (for example agents created earlier in the same deployment from manifest.agents).
  • _flow — a non-empty array of objects; each object must have string properties to and from describing the conversation flow (including typical endpoints such as __start and `end` as used by your environment).

ifExists#

If a team with the same name already exists:

  • default (or omitted/empty): keep the existing team unchanged and skip this manifest entry.
  • update — the existing team is updated with the merged _agents and _flow (and _name).
  • recreate — the existing team is deleted, then created again from the definition.

Values are compared case-insensitively.

Any value other than default, update, or recreate fails validation.

Deploy behavior#

  • File uploads and file-linked knowledge bases run first, then agents, then teams.
  • teams[].file is read from the ZIP teams/ folder and merged with the manifest row before deploy actions.
  • _agents[]._userType values are validated as strings in template validation; compatibility with existing agents is enforced by service operations during team create/update.
  • If ifExists has an invalid value, the entry fails validation.

Complete example#

This example combines file-linked knowledge bases, agents, and teams in one package.

// manifest.json (excerpt — a full template may list more files, agents, or teams){   "Template Name": "Success KB Agent Team",   "Template Version": "1.0.0",   "files": [      {         "_name": "property-mapping.md",         "_path": "",         "_tags": [],         "knowledgebase": {            "name": "property-mapping-md",            "userType": "property_mapping_md",            "ifExists": "default"         }      },      {         "_name": "agent-bg-source.txt",         "_path": "",         "_tags": [],         "knowledgebase": {            "name": "agent-bg-md",            "userType": "agent_bg_md",            "ifExists": "recreate"         }      }   ],   "agents": [      {         "name": "My Test Agent 1",         "userType": "test_agent_1",         "file": "test-agent-1.json"      },      {         "name": "My Test Agent 2",         "userType": "test_agent_2",         "file": "test-agent-2.json"      }   ],   "teams": [      {         "name": "Test Team One",         "file": "test-team-one.json",         "ifExists": "default"      }   ]}
// Package ZIP layoutSuccess KB Agent Team.zip /|-- fileUploads /|   |-- property-mapping.md|   |-- agent-bg-source.txt|-- agents /|   |-- test-agent-1.json|   |-- test-agent-2.json|-- teams /|   |-- test-team-one.json|-- manifest.json
// agents/test-agent-1.json{   "background": "You help the user navigate model data.",   "config": {      "model": "gpt-4o",      "provider": "openai"   }}
// agents/test-agent-2.json{   "background": "You refine and summarize the previous agent output.",   "config": {      "model": "gpt-4o",      "provider": "openai"   }}
// teams/test-team-one.json{   "_agents": [      { "_userType": "test_agent_1" },      { "_userType": "test_agent_2" }   ],   "_flow": [      { "to": "test_agent_1", "from": "__start__" },      { "to": "test_agent_2", "from": "test_agent_1" },      { "to": "__end__", "from": "test_agent_2" }   ]}