Skip to main content
Pipecat Flows 1.0 removes deprecated APIs from the 0.0.x series. If you were already using the non-deprecated replacements, most of these changes won’t affect you. Before upgrading, search your codebase for the deprecated imports and patterns listed below to identify what needs to change.
Pipecat Flows 1.0 requires Python 3.11 or later and pipecat-ai >= 1.0.0. If you’re also upgrading Pipecat, see the Pipecat 1.0 migration guide first.
As of pipecat-ai 1.5.0, Pipecat Flows is part of core Pipecat, and its import path is now pipecat.flows (previously pipecat_flows). The examples below have been updated to use the new import path.

1. FlowManager Initialization

The tts parameter was removed from FlowManager.__init__(). The built-in tts_say action now uses Pipecat’s TTSSpeakFrame directly and no longer needs a reference to your TTS service.

Before (1.0)

After (1.0)

What was removed

2. Node Transitions

Three deprecated APIs for controlling node transitions were removed. All three are replaced by consolidated handlers that return a (result, next_node) tuple, or by set_node_from_config() for imperative transitions.

Before (1.0)

transition_to on FlowsFunctionSchema:
transition_callback on FlowsFunctionSchema:
set_node() on FlowManager:

After (1.0)

Consolidated handler (preferred) — return a tuple of (result, next_node):
Direct function alternative:
Imperative transition with set_node_from_config():

What was removed

3. Static Flows

The FlowConfig type and flow_config parameter were removed. Static flows defined all nodes upfront in a dictionary and transitioned by node name. Dynamic flows replaced them. You create NodeConfig objects at runtime and return them from handlers.

Before (1.0)

After (1.0)

What was removed

4. Function Definition Format

Provider-specific function definition dicts (OpenAI, Anthropic, Gemini formats) are no longer accepted in node configs. Use FlowsFunctionSchema or direct functions instead.

Before (1.0)

After (1.0)

Using FlowsFunctionSchema:
Using a direct function:

What was removed

Still-Active Deprecations

The following APIs still work in 1.0 but emit deprecation warnings. They will be removed in 2.0.
role_messages: Replace the list-of-dicts role_messages field with the role_message string field. The string is sent as the LLM’s system instruction and persists across node transitions until a new node explicitly sets it again.
RESET_WITH_SUMMARY: Instead of using the RESET_WITH_SUMMARY context strategy, push an LLMSummarizeContextFrame in a pre-action to trigger on-demand summarization during a node transition. See the context summarization guide for details.