Skip to main content
Start simple: a model, team members, and instructions. Add functionality as needed.

Minimal Example

research_team.py

Team Modes

Teams default to coordinate mode (leader delegates and synthesizes). Set mode to change how the leader collaborates with members.
Tasks mode runs an iterative task loop. Use max_iterations to cap how many cycles the leader can run.

Team Members

Each member should have a name and role. The team leader uses these to decide who handles what.
For better tracing, also set an id:
When both id and name are set on a member, team delegation uses id as the member identifier.
Members must be native Agno Agent or Team instances. External-framework adapters (ClaudeAgent, LangGraphAgent, DSPyAgent) can be served by AgentOS as standalone agents but cannot be a member agent of an Agno Team or an agent of a Workflow Step yet. See Multi-Framework Support.

Nested Teams

Teams can contain other teams. The top-level leader delegates to sub-team leaders, who delegate to their members.

Model Inheritance

Team members inherit the model from their parent team if not explicitly set.

Callable Factories

Pass a function instead of a static list for members, tools, or knowledge. The function is called at the start of each run, so the composition can vary per user or session.
team_callable_members.py
The same pattern works for tools and knowledge. Agents also support callable factories for tools and knowledge.

Injected Parameters

Name your factory function parameters to receive context automatically: Use any combination. A zero-argument factory also works.

add_tool and set_tools

add_tool() raises RuntimeError when tools is a callable factory. Use set_tools() to replace the factory entirely:

Callable Caching Settings

Factory results are cached by default. The cache key is resolved in this order: custom key function > user_id > session_id. If none are available, caching is skipped and the factory runs every time. Set cache_callables=False when session_state changes between runs and the factory should re-evaluate each time. Clear cached results programmatically:
Use aclear_callable_cache() in async code.

Team Features

Teams support the same features as agents: See the guides below to add these features.

Next Steps

Developer Resources