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

# Agent with Followup Suggestions

> Generate actionable followup prompts after every agent response.

Set `followups=True` to automatically generate followup prompt suggestions after each response. The agent makes a second model call to produce short, action-oriented prompts based on the conversation.

<Steps>
  <Step title="Create a Python file">
    ```python followup_suggestions.py theme={null}
    from agno.agent import Agent
    from agno.models.openai import OpenAIResponses

    agent = Agent(
        model=OpenAIResponses(id="gpt-4o"),
        followups=True,
        num_followups=3,
    )

    response = agent.run("What is quantum computing?")

    print(response.content)
    print("\nFollowup suggestions:")
    for i, suggestion in enumerate(response.followups, 1):
        print(f"  {i}. {suggestion}")
    ```
  </Step>

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

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U agno openai
    ```
  </Step>

  <Step title="Export your OpenAI API key">
    <CodeGroup>
      ```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"
      ```
    </CodeGroup>
  </Step>

  <Step title="Run Agent">
    ```bash theme={null}
    python followup_suggestions.py
    ```
  </Step>
</Steps>

## Options

| 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` | Agent's model | Separate model for generating followups. Use a smaller model to reduce cost. |

## Streaming

Followup suggestions are available via events when streaming. The `FollowupsCompleted` event carries the suggestions after the main response finishes.

```python followup_suggestions_streaming.py theme={null}
import asyncio

from agno.agent import Agent, RunEvent
from agno.models.openai import OpenAIResponses

agent = Agent(
    model=OpenAIResponses(id="gpt-4o"),
    followups=True,
    num_followups=3,
)


async def main():
    async for event in agent.arun(
        "What is quantum computing?",
        stream=True,
        stream_events=True,
    ):
        if event.event == RunEvent.run_content and event.content:
            print(event.content, end="", flush=True)

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


asyncio.run(main())
```

## Using a separate model

Use `followup_model` to offload followup generation to a cheaper model.

```python theme={null}
from agno.agent import Agent
from agno.models.openai import OpenAIResponses

agent = Agent(
    model=OpenAIResponses(id="gpt-4o"),
    followups=True,
    num_followups=3,
    followup_model=OpenAIResponses(id="gpt-4o-mini"),
)
```

## Developer Resources

* [Agent reference](/reference/agents/agent)
* [RunOutput reference](/reference/agents/run-response)
