> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Team Callable Members

> Pass a function as `members` to a Team.

Pass a function as `members` to a Team. The team composition is decided at run time based on session\_state.

```python team_callable_members.py theme={null}
"""
Team Callable Members
=====================
Pass a function as `members` to a Team. The team composition
is decided at run time based on session_state.
"""

from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.team import Team

# ---------------------------------------------------------------------------
# Create the Team Members
# ---------------------------------------------------------------------------

writer = Agent(
    name="Writer",
    role="Content writer",
    model=OpenAIResponses(id="gpt-5-mini"),
    instructions=["Write clear, concise content."],
)

researcher = Agent(
    name="Researcher",
    role="Research analyst",
    model=OpenAIResponses(id="gpt-5-mini"),
    instructions=["Research topics and summarize findings."],
)


def pick_members(session_state: dict):
    """Include the researcher only when needed."""
    needs_research = session_state.get("needs_research", False)
    print(f"--> needs_research={needs_research}")

    if needs_research:
        return [researcher, writer]
    return [writer]


# ---------------------------------------------------------------------------
# Create the Team
# ---------------------------------------------------------------------------

team = Team(
    name="Content Team",
    model=OpenAIResponses(id="gpt-5-mini"),
    members=pick_members,
    cache_callables=False,
    instructions=["Coordinate the team to complete the task."],
)


# ---------------------------------------------------------------------------
# Run the Team
# ---------------------------------------------------------------------------

if __name__ == "__main__":
    print("=== Writer only ===")
    team.print_response(
        "Write a haiku about Python",
        session_state={"needs_research": False},
        stream=True,
    )

    print("\n=== Researcher + Writer ===")
    team.print_response(
        "Research the history of Python and write a short summary",
        session_state={"needs_research": True},
        stream=True,
    )
```

## Run the Example

<Snippet file="create-venv-step.mdx" />

**1. Install dependencies**

```bash theme={null}
uv pip install -U agno openai
```

**2. Export your OpenAI API key**

```bash Mac/Linux theme={null}
export OPENAI_API_KEY="your_openai_api_key_here"
```

```bash Windows theme={null}
$Env:OPENAI_API_KEY="your_openai_api_key_here"
```

**3. Run the example**

Save the code above as `team_callable_members.py`, then run:

```bash theme={null}
python team_callable_members.py
```

Full source: [cookbook/02\_agents/04\_tools/03\_team\_callable\_members.py](https://github.com/agno-agi/agno/blob/v3.0.4/cookbook/02_agents/04_tools/03_team_callable_members.py)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.