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

# Pipecat Flows Overview

> Reference docs for Pipecat's conversation flow system

<Tip>
  New to Pipecat Flows? Check out the
  [introduction](/pipecat-flows/introduction) and
  [guides](/pipecat-flows/guides/quickstart) first.
</Tip>

Pipecat Flows is an add-on framework for Pipecat that allows you to build structured conversations in your AI applications. It enables you to define conversation paths while handling the complexities of state management and LLM interactions.

<CardGroup cols={3}>
  <Card title="API Reference" icon="code" href="https://reference-flows.pipecat.ai">
    Complete API documentation and method details
  </Card>

  <Card title="GitHub Repository" icon="github" href="https://github.com/pipecat-ai/pipecat-flows">
    Source code, examples, and issue tracking
  </Card>

  <Card title="Hello World Example" icon="play" href="https://github.com/pipecat-ai/pipecat-flows/blob/main/examples/quickstart/hello_world.py">
    Working example with basic conversation flow
  </Card>
</CardGroup>

## Installation

### Pipecat Flows

To use Pipecat Flows, install the required dependency:

```bash theme={null}
uv add pipecat-ai-flows
```

### Pipecat Dependencies

For fresh installations, you'll need to install Pipecat with dependencies for your Transport, STT, LLM, and TTS providers.

For example, to use Daily, OpenAI, Deepgram, Cartesia, and Silero:

```bash theme={null}
uv add "pipecat-ai[daily,openai,deepgram,cartesia,silero]"
```

## Reference Pages

<CardGroup cols={3}>
  <Card title="FlowManager" icon="gear" href="/api-reference/pipecat-flows/flow-manager">
    Core orchestration class: constructor, properties, and methods
  </Card>

  <Card title="Types" icon="cube" href="/api-reference/pipecat-flows/types">
    NodeConfig, FlowsFunctionSchema, ActionConfig, context strategies, and type
    aliases
  </Card>

  <Card title="Exceptions" icon="triangle-exclamation" href="/api-reference/pipecat-flows/exceptions">
    Error handling hierarchy for flow management
  </Card>
</CardGroup>

## Function Types

A node's functions either do work within the current node or transition to another node:

* **Node functions** do work within the current conversation state without switching nodes. They return `(result, None)`.
* **Edge functions** transition to another conversation state, optionally doing work first. They return `(result, next_node)`.

Define either kind as a direct function, or — for advanced usage — with a [`FlowsFunctionSchema`](/api-reference/pipecat-flows/types#flowsfunctionschema). See the [Functions guide](/pipecat-flows/guides/functions).

## LLM Provider Support

Pipecat Flows works with any LLM service that supports function calling. Pipecat handles provider-specific format conversion internally.

| Provider          | Installation                     |
| ----------------- | -------------------------------- |
| OpenAI            | `uv add "pipecat-ai[openai]"`    |
| OpenAI-compatible | Provider-specific (see below)    |
| Anthropic         | `uv add "pipecat-ai[anthropic]"` |
| Google Gemini     | `uv add "pipecat-ai[google]"`    |
| AWS Bedrock       | `uv add "pipecat-ai[aws]"`       |

Any service that extends Pipecat's `LLMService` base class is supported. This includes OpenAI-compatible services like Groq, Together, Cerebras, DeepSeek, and others.

### Realtime (S2S) LLMs

Realtime speech-to-speech services such as Gemini Live and OpenAI Realtime are not currently supported due to missing API functionality.

## Additional Notes

* **State Management**: Use `flow_manager.state` dictionary for persistent conversation data
* **Automatic Function Call Registration and Validation**: All functions are automatically registered and validated at run-time
* **Provider Compatibility**: Pipecat handles provider-specific format conversion internally
