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
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/activateInstall dependencies
uv pip install -U agno openaiExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run Team
python team_followup_suggestions.pyOptions
| Parameter | Type | Default | Description |
|---|---|---|---|
followups | bool | False | Enable followup suggestion generation |
num_followups | int | 3 | Number of suggestions to generate (minimum 1) |
followup_model | Model | None | None | Model 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.
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())