Share Member Interactions

Let team members see each other's interactions during the same run with share_member_interactions.

Share member interactions from the current run with other members by setting share_member_interactions=True.

This allows members to see what other members have done during the same run, enabling better coordination and avoiding duplicate work.

How it Works

When share_member_interactions=True, interaction details are appended to tasks sent to members:

<member_interaction_context>
See below interactions with other team members.
Member: User Profile Agent
Task: Get the user's profile information
Response: {"name": "John Doe", "email": "john.doe@example.com", ...}

Member: Technical Support Agent
Task: Answer technical support questions
Response: Here's how to change your billing address...

</member_interaction_context>

This allows the Billing Agent to see that the User Profile Agent has already retrieved the user's information, avoiding duplicate tool calls.

When to Use

Use share_member_interactions=True when:

  • Multiple members might need the same information
  • You want to avoid duplicate API calls or tool executions
  • Members need to coordinate their actions during a single run
  • One member's work builds on another's within the same request

Code

share_member_interactions.py
from uuid import uuid4

from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIResponses
from agno.team.team import Team


def get_user_profile() -> dict:
    """Get the user profile."""
    return {
        "name": "John Doe",
        "email": "john.doe@example.com",
        "phone": "1234567890",
        "billing_address": "123 Main St, Anytown, USA",
        "login_type": "email",
        "mfa_enabled": True,
    }


user_profile_agent = Agent(
    name="User Profile Agent",
    role="You are a user profile agent that can retrieve information about the user and the user's account.",
    model=OpenAIResponses(id="gpt-5.2"),
    tools=[get_user_profile],
)

technical_support_agent = Agent(
    name="Technical Support Agent",
    role="You are a technical support agent that can answer questions about the technical support.",
    model=OpenAIResponses(id="gpt-5.2"),
)

billing_agent = Agent(
    name="Billing Agent",
    role="You are a billing agent that can answer questions about the billing.",
    model=OpenAIResponses(id="gpt-5.2"),
)


support_team = Team(
    name="Technical Support Team",
    model=OpenAIResponses(id="gpt-5-mini"),
    members=[user_profile_agent, technical_support_agent, billing_agent],
    instructions=[
        "You are a technical support team for a Facebook account that can answer questions about the technical support and billing for Facebook.",
        "Get the user's profile information first if the question is about the user's profile or account.",
    ],
    db=SqliteDb(
        db_file="tmp/technical_support_team.db"
    ),  # Add a database to store the conversation history.
    share_member_interactions=True,  # Send member interactions DURING the current run to the other members.
    show_members_responses=True,
)


session_id = f"conversation_{uuid4()}"

## Ask question about technical support
support_team.print_response(
    "What is my billing address and how do I change it?",
    stream=True,
    session_id=session_id,
)

support_team.print_response(
    "Do I have multi-factor enabled? How do I disable it?",
    stream=True,
    session_id=session_id,
)

Usage

Create a Python file

Create share_member_interactions.py with the code above.

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai sqlalchemy

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run Team

python share_member_interactions.py