> ## 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

### Node Functions

Execute operations within a single conversation state without switching nodes. Return `(FlowResult, None)`.

### Edge Functions

Create transitions between conversation states, optionally processing data first. Return `(FlowResult, NodeConfig)`.

### Direct Functions

Functions passed directly to NodeConfig with automatic metadata extraction from signatures and docstrings. See [`flows_direct_function`](/api-reference/pipecat-flows/types#flows_direct_function-decorator) and [`FlowsDirectFunction`](/api-reference/pipecat-flows/types#flowsdirectfunction).

## 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.

## 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
