> ## Documentation Index
> Fetch the complete documentation index at: https://daily-ms-ws-body-url-encode.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipecat Flows API Overview

> Reference documentation for Pipecat Flows: FlowManager, node configuration, actions, and the flows type system.

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

Pipecat Flows structures a conversation as a graph of nodes on top of a Pipecat pipeline. These pages document its public API.

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

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

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

## Reference Pages

<CardGroup cols={3}>
  <Card title="FlowConfig" icon="file-code" href="/api-reference/pipecat-flows/flow-config">
    The declarative flow document: fields, loaders, and validation rules
  </Card>

  <Card title="Flow" icon="link" href="/api-reference/pipecat-flows/flow">
    A config joined to your handlers: constructor, properties, and the call-time
    contract
  </Card>

  <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.
* **Edge functions** transition to another conversation state, optionally doing work first.

Which kind a function is depends on the form of the flow:

* In a **flow config**, the entry decides. An entry with `transition_to` is an edge function; one without it is a node function. The handler returns `(result, TRANSITION_IN_YAML)` either way. An entry marked `transition_only` is an edge function with no code at all: the config supplies its description and destination.
* In a **flow built in Python**, the handler decides, by returning `(result, next_node)` for an edge function or `(result, None)` for a node function.

Define the Python behind 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/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

Speech-to-speech services such as Gemini Live and OpenAI Realtime are not supported: Flows moves between nodes by rewriting the LLM's context and tools mid-session, and those APIs don't expose that.
