Skip to main content
New to Pipecat Flows? Check out the introduction and guides first.
Pipecat Flows is Pipecat’s framework for building structured conversations. It builds on the pipeline to let you define conversation paths while handling the complexities of state management and LLM interactions.

API Reference

Complete API documentation and method details

GitHub Repository

Source code, examples, and issue tracking

Hello World Example

Working example with basic conversation flow

Installation

Pipecat Flows is included with Pipecat. For fresh installations, install Pipecat with dependencies for your Transport, STT, LLM, and TTS providers. For example, to use Daily, OpenAI, Deepgram, Cartesia, and Silero:

Reference Pages

FlowConfig

The declarative flow document: fields, loaders, and validation rules

Flow

A config joined to your handlers: constructor, properties, and the call-time contract

FlowManager

Core orchestration class: constructor, properties, and methods

Types

NodeConfig, FlowsFunctionSchema, ActionConfig, context strategies, and type aliases

Exceptions

Error handling hierarchy for flow management

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. See the Functions guide.

LLM Provider Support

Pipecat Flows works with any LLM service that supports function calling. Pipecat handles provider-specific format conversion internally. 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