Skip to main content
Dependencies are a way to inject variables into your Team context. The dependencies parameter accepts a dictionary containing functions or static variables that are automatically resolved before the team runs.
You can use dependencies to inject memories, dynamic few-shot examples, “retrieved” documents, etc.
dependencies.py
from datetime import datetime

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


def get_user_profile() -> dict:
    """Get user profile information that can be referenced in responses."""
    profile = {
        "name": "John Doe",
        "preferences": {
            "communication_style": "professional",
            "topics_of_interest": ["AI/ML", "Software Engineering", "Finance"],
            "experience_level": "senior",
        },
        "location": "San Francisco, CA",
        "role": "Senior Software Engineer",
    }

    return profile


def get_current_context() -> dict:
    """Get current contextual information like time, weather, etc."""
    return {
        "current_time": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
        "timezone": "PST",
        "day_of_week": datetime.now().strftime("%A"),
    }


profile_agent = Agent(
    name="ProfileAnalyst",
    model=OpenAIResponses(id="gpt-5.2"),
    instructions="You analyze user profiles and provide personalized recommendations.",
)

context_agent = Agent(
    name="ContextAnalyst",
    model=OpenAIResponses(id="gpt-5.2"),
    instructions="You analyze current context and timing to provide relevant insights.",
)

team = Team(
    name="PersonalizationTeam",
    model=OpenAIResponses(id="gpt-5.2"),
    members=[profile_agent, context_agent],
    dependencies={
        "user_profile": get_user_profile,
        "current_context": get_current_context,
    },
    instructions=[
        "You are a personalization team that provides personalized recommendations based on the user's profile and context.",
        "Here is the user profile: {user_profile}",
        "Here is the current context: {current_context}",
    ],
    debug_mode=True,
    markdown=True,
)

team.print_response(
    "Please provide me with a personalized summary of today's priorities based on my profile and interests.",
)
Dependencies are automatically resolved when the team is run.
You can set dependencies on Team initialization, or pass it to the run(), arun(), print_response() and aprint_response() methods. Use add_dependencies_to_context=True to automatically add all dependencies to the user message instead of referencing them in instructions.

Learn more

Dependencies Overview

Learn the fundamentals of dependency injection

Reference Dependencies

Reference dependencies in instructions

Access Dependencies in Tool

Use RunContext to access dependencies in tools

Team Schema

View the complete Team API reference