Flow
Launch the Langflow visual workflow builder with PraisonAI Agent + AgentTeam components pre-loaded
The praisonai flow command launches Langflow with PraisonAI components pre-loaded, and provides YAML ↔ Langflow JSON conversion utilities.
Requirements
| Item | Value |
|---|---|
| Python | 3.11 / 3.12 / 3.13 (3.13 fixed in PraisonAI#5103) |
| Install size | ~500MB (Langflow + a2a-sdk + fastapi stack) |
| First-boot on Windows | ~5 minutes (Langflow migrations + cache) |
| First-boot on macOS/Linux | Typically < 2 minutes |
Quick Start
- Install
bash pip install "praisonai[flow]" - Launch
bash praisonai flow - Build visually
Open
http://localhost:7860and drag Agent / Agent Team components from the PraisonAI sidebar.
How It Works
| Phase | Description |
|---|---|
| Install | pip install "praisonai[flow]" pulls Langflow and requests |
| Launch | CLI sets LANGFLOW_COMPONENTS_PATH to PraisonAI components |
| Build | Drag Agent and Agent Team nodes in the browser |
| Export | praisonai flow export <flow_id> converts back to YAML |
Subcommands
praisonai flow
Start the visual builder.
| Flag | Type | Default | Description |
|---|---|---|---|
--port, -p | int | 7860 | Port to listen on |
--host, -H | str | 127.0.0.1 | Host to bind to (use 0.0.0.0 to expose) |
--env-file | str | None | Path to a .env file Langflow should load |
--no-open | flag | False | Don’t open the browser on start |
--log-level, -l | str | error | debug, info, warning, error, critical |
--backend-only | flag | False | Run backend API only (no frontend UI) |
--components-path | str | None | Extra custom components directory (appended to PraisonAI’s) |
praisonai flow --host 0.0.0.0 --port 8080| Env var pre-set | Effect on LANGFLOW_COMPONENTS_PATH |
|---|---|
| unset | ` |
| | set to /x |
,/x | | set to /x,/y |
,/x,/y (works) | | set to /x;/y |
,/x;/y — /x;/y` is treated as a single path by Langflow (broken) |
praisonai flow import
Convert PraisonAI YAML → Langflow JSON and upload.
| Flag | Type | Default | Description |
|---|---|---|---|
yaml_path | str | — | Path to YAML workflow file (positional) |
--url | str | http://localhost:7860 | Langflow server URL |
--dry-run | flag | False | Preview JSON without uploading |
--open | flag | False | Open the imported flow in the browser |
--output, -o | str | None | Save JSON to file instead of uploading |
praisonai flow import my_workflow.yaml --openpraisonai flow export
Download a Langflow flow and convert back to YAML or JSON.
| Flag | Type | Default | Description |
|---|---|---|---|
flow_id | str | — | Flow ID to export (positional) |
--output, -o | str | <flow_name>.<ext> | Output file path |
--url | str | http://localhost:7860 | Langflow server URL |
--format | str | yaml | Output format: yaml or json |
praisonai flow export abc-123-def -o my_workflow.yamlpraisonai flow list
List flows on a running Langflow server.
| Flag | Type | Default | Description |
|---|---|---|---|
--url | str | http://localhost:7860 | Langflow server URL |
--search, -s | str | None | Search flows by name or description |
praisonai flow list --search researchpraisonai flow version
Show installed Langflow version.
praisonai flow versionCommon Patterns
# YAML → visual editor round-trip
praisonai flow # 1. start the builder
praisonai flow import my_workflow.yaml --open # 2. push YAML in
# (edit in browser, copy the flow ID from the URL)
praisonai flow export <flow_id> -o my_workflow.yaml # 3. pull edits back to YAML
# Preview the converted JSON without uploading
praisonai flow import my_workflow.yaml --dry-run
# Run on a custom port / expose to LAN
praisonai flow --host 0.0.0.0 --port 8080
# Headless / API-only deploy
praisonai flow --backend-only --no-openBest Practices
Keep YAML as source of truth
Always export back to YAML for version control after visual edits.
Use –dry-run before uploading
Preview JSON conversion with praisonai flow import workflow.yaml --dry-run before pushing to a running server.
Add custom components with –components-path
Extend the sidebar with your own Langflow components via --components-path /path/to/components.
Run –backend-only for headless deployments
Skip the UI in CI or Docker with praisonai flow --backend-only --no-open.
First boot on Windows is slow — that's expected
Langflow runs Alembic migrations and warms a component cache on first launch, which takes about 5 minutes on Windows. Watch for Uvicorn running on http://127.0.0.1:<port> in the log tail; subsequent starts are under 60s.