The CollatedInput is the universal runtime contract between Agent Studio and the workflow engine. It fully describes a workflow’s execution environment — language models, agents, tasks, tools, and MCP servers.
class CollatedInput(BaseModel):
default_language_model_id: str
language_models: List[Input__LanguageModel]
tool_instances: List[Input__ToolInstance]
mcp_instances: List[Input__MCPInstance]
agents: List[Input__Agent]
tasks: List[Input__Task]
workflow: Input__Workflow
{
"default_language_model_id": "model-uuid",
"language_models": [
{
"model_id": "model-uuid",
"model_name": "gpt-4o",
"generation_config": {
"do_sample": true,
"temperature": 0.1,
"max_new_tokens": 4096,
"top_p": 1,
"top_k": 50,
"num_beams": 1,
"max_length": null
}
}
]
}
Field Type Description
default_language_model_idstring ID of the model to use when an agent doesn’t specify one
language_models[].model_idstring Unique identifier
language_models[].model_namestring Human-readable name
language_models[].generation_configobject LLM generation parameters
{
"tool_instances": [
{
"id": "tool-uuid",
"name": "JSON Reader",
"python_code_file_name": "tool.py",
"python_requirements_file_name": "requirements.txt",
"source_folder_path": "studio-data/workflows/my_workflow/tools/json_reader_abc123",
"tool_metadata": "{\"user_params\": [\"api_key\"], \"user_params_metadata\": {\"api_key\": {\"required\": true}}}",
"tool_image_uri": "tool_template_icons/json_reader_abc123_icon.png",
"is_venv_tool": true
}
]
}
Field Type Description
idstring Unique tool instance identifier
namestring Tool name
python_code_file_namestring Always "tool.py"
python_requirements_file_namestring Always "requirements.txt"
source_folder_pathstring Path to tool code directory within the artifact
tool_metadatastring JSON-encoded metadata including user parameter definitions
tool_image_uristring or null Relative path to icon
is_venv_toolboolean Whether the tool uses a virtual environment
{
"mcp_instances": [
{
"id": "mcp-uuid",
"name": "Filesystem Server",
"type": "NODE",
"args": ["npx", "@modelcontextprotocol/server-filesystem", "/workspace"],
"env_names": [],
"tools": ["read_file", "write_file", "list_directory"],
"mcp_image_uri": null
}
]
}
Field Type Description
idstring Unique MCP instance identifier
namestring Server name
typestring "PYTHON" or "NODE"
argsarray of strings Server startup arguments
env_namesarray of strings Required environment variable names
toolsarray of strings or null Available tool names (populated at runtime)
mcp_image_uristring or null Relative path to icon
{
"agents": [
{
"id": "agent-uuid",
"name": "Research Analyst",
"llm_provider_model_id": "model-uuid",
"crew_ai_role": "Senior Research Analyst",
"crew_ai_backstory": "You are an experienced analyst...",
"crew_ai_goal": "Produce accurate research reports",
"crew_ai_allow_delegation": true,
"crew_ai_verbose": true,
"crew_ai_cache": true,
"crew_ai_temperature": 0.7,
"crew_ai_max_iter": 10,
"tool_instance_ids": ["tool-uuid"],
"mcp_instance_ids": [],
"agent_image_uri": ""
}
]
}
Field Type Description
idstring Unique agent identifier
namestring Agent name
llm_provider_model_idstring or null Override LLM for this agent (uses default if null)
crew_ai_rolestring Agent’s role description
crew_ai_backstorystring Agent’s background context
crew_ai_goalstring Agent’s primary objective
crew_ai_allow_delegationboolean Can delegate to other agents
crew_ai_verboseboolean Detailed logging
crew_ai_cacheboolean Cache LLM responses
crew_ai_temperaturefloat or null Sampling temperature
crew_ai_max_iterinteger or null Maximum reasoning iterations
tool_instance_idsarray of strings IDs of tools this agent can use
mcp_instance_idsarray of strings IDs of MCP servers this agent can use
agent_image_uristring Relative path to icon
{
"tasks": [
{
"id": "task-uuid",
"description": "Analyze the quarterly sales data and identify trends.",
"expected_output": "A structured report with trends and recommendations.",
"assigned_agent_id": "agent-uuid"
}
]
}
Field Type Description
idstring Unique task identifier
descriptionstring Task instructions for the agent
expected_outputstring What the agent should produce
assigned_agent_idstring or null Agent assigned to this task (sequential mode)
{
"workflow": {
"id": "workflow-uuid",
"name": "Sales Analysis Workflow",
"description": "Analyzes quarterly sales data",
"crew_ai_process": "sequential",
"agent_ids": ["agent-uuid"],
"task_ids": ["task-uuid"],
"manager_agent_id": null,
"llm_provider_model_id": null,
"is_conversational": false,
"created_at": "2025-01-15T10:30:00"
}
}
Field Type Description
idstring Unique workflow identifier
namestring Workflow name
descriptionstring or null Workflow description
crew_ai_processstring "sequential" or "hierarchical"
agent_idsarray of strings Participating agent IDs
task_idsarray of strings Task IDs in execution order
manager_agent_idstring or null Manager agent for hierarchical mode
llm_provider_model_idstring or null Default LLM override for the workflow
is_conversationalboolean Multi-turn conversation support
created_atstring (ISO 8601) or null Creation timestamp