Team with Followup Suggestions

Generate followup prompt suggestions from a team's completed response.

Set followups=True on a Team to generate followup prompt suggestions when the main response has content. Followup generation makes a second model call and works with all team modes.

Create a Python file

team_followup_suggestions.py
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.team import Team, TeamMode

researcher = Agent(
    name="Researcher",
    role="Research topics thoroughly",
    model=OpenAIResponses(id="gpt-5.4-mini"),
)

team = Team(
    name="Research Team",
    model=OpenAIResponses(id="gpt-5.4-mini"),
    mode=TeamMode.coordinate,
    members=[researcher],
    followups=True,
    num_followups=3,
)

response = team.run("What are the latest advances in fusion energy?")

print(response.content)
print("\nFollowup suggestions:")
for i, suggestion in enumerate(response.followups or [], 1):
    print(f"  {i}. {suggestion}")

Set up your virtual environment

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

Install dependencies

uv pip install -U agno openai

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run Team

python team_followup_suggestions.py

Options

ParameterTypeDefaultDescription
followupsboolFalseEnable followup suggestion generation
num_followupsint3Number of suggestions to generate (minimum 1)
followup_modelModel | NoneNoneModel used for followups. When unset, the team's model is used.

Pass a model instance to followup_model, such as OpenAIResponses(id="gpt-4o-mini"). The current implementation accepts a model-name string in its constructor annotation but does not resolve it before generation.

If the followup model call fails, the team response still completes and response.followups can be None.

Streaming

Followup suggestions are available via events when streaming.

team_followup_streaming.py
import asyncio

from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.team import Team, TeamMode, TeamRunEvent

researcher = Agent(
    name="Researcher",
    role="Research topics thoroughly",
    model=OpenAIResponses(id="gpt-5.4-mini"),
)

team = Team(
    name="Research Team",
    model=OpenAIResponses(id="gpt-5.4-mini"),
    mode=TeamMode.coordinate,
    members=[researcher],
    followups=True,
    num_followups=3,
)


async def main():
    async for event in team.arun(
        "What are the latest advances in fusion energy?",
        stream=True,
        stream_events=True,
    ):
        if event.event == TeamRunEvent.run_content and event.content:
            print(event.content, end="", flush=True)

        if event.event == TeamRunEvent.followups_completed:
            print("\n\nFollowup suggestions:")
            for i, suggestion in enumerate(event.followups or [], 1):
                print(f"  {i}. {suggestion}")


asyncio.run(main())

Developer Resources