> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Langflow Integration

> Use PraisonAI agents in Langflow visual workflows

# Langflow Integration

[Langflow](https://langflow.org) is a visual authoring platform for AI agents and workflows. PraisonAI provides native Langflow components for building agent workflows visually.

## Installation

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
pip install "praisonai[flow]"
```

## Environment support

| Item | Status |
| - | - |
| Python 3.11 / 3.12 / 3.13 | Supported (Py 3.13 fixed via [PraisonAI#5103](https://github.com/MervinPraison/PraisonAI/pull/5103)) |
| First-boot on Windows | \~5 minutes — Langflow builds its migrations/cache; second start \< 60s |
| First-boot on macOS / Linux | Typically \< 2 minutes |

<Warning>
  `praisonai[flow]` and `praisonai[claw]` cannot be installed in the same environment. `[flow]` pins `a2a-sdk[http-server]>=1.0.0` (Langflow requirement); `[claw]` transitively pins `a2a-sdk<1.0.0` (Google A2UI SDK requirement). Use two separate virtualenvs.
</Warning>

<Tip>
  If `praisonai flow` appears to hang after `Starting Core Services...` on Windows, wait — first-boot commonly takes 5 minutes while Langflow runs Alembic migrations and warms the component cache. Look for `Uvicorn running on http://127.0.0.1:7860` in the log tail.
</Tip>

## Launch

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Launches Langflow on http://localhost:7860 with PraisonAI components in the sidebar
praisonai flow
```

See [Flow CLI](/docs/cli/flow) and [Visual Workflow Builder](/docs/ui/flow) for subcommands and component options.

## Components

PraisonAI provides three components for Langflow:

### PraisonAI Agent

Creates a single PraisonAI agent with full tool, memory, and knowledge support.

**Key Inputs:**

| Input | Description |
| - | - |
| **Name** | Agent identifier |
| **Instructions** | System prompt for the agent |
| **Model** | LLM model (e.g., `openai/gpt-4o-mini`, `anthropic/claude-3-5-sonnet-20241022`) |
| **Tools** | Connected Langflow tools |
| **Memory** | Enable context retention |
| **Knowledge** | Files/URLs for RAG |
| **Handoffs** | Other agents for collaboration |
| **Guardrails** | Output validation |

**Outputs:**

* **Response** - Agent response as Message
* **Agent** - Agent instance for multi-agent workflows

### PraisonAI Agents

Orchestrates multiple agents working together.

**Process Types:**

| Process | Description |
| - | - |
| **Sequential** | Agents execute in order |
| **Hierarchical** | Manager agent coordinates workers |
| **Workflow** | Custom agent routing with decision points |

**Key Inputs:**

* **Agents** - List of PraisonAI Agent components
* **Tasks** - List of PraisonAI Task components
* **Process** - Orchestration mode
* **Variables** - Global substitution variables
* **Guardrails** - Team-level validation

### PraisonAI Task

Defines a task for multi-agent workflows with structured output support.

**Key Inputs:**

| Input | Description |
| - | - |
| **Description** | What the task should accomplish |
| **Expected Output** | Desired output format |
| **Output JSON** | JSON schema for structured output |
| **Task Type** | `task`, `decision`, or `loop` |
| **Condition** | Branching conditions for workflow |
| **Guardrail** | Task-specific validation |

## Quick Start

### Single Agent

1. Drag **PraisonAI Agent** onto the canvas
2. Set instructions: "You are a helpful assistant"
3. Connect **Chat Input** to the Agent's Input
4. Connect Agent's Response to **Chat Output**
5. Run the flow!

### Multi-Agent Team

```
ChatInput → PraisonAI Agents → ChatOutput
              ↑
    ┌─────────┼─────────┐
    │         │         │
Researcher  Analyst   Writer
  Agent      Agent     Agent
```

1. Create 3 **PraisonAI Agent** components with different roles
2. Create a **PraisonAI Agents** component
3. Connect all agents to the Agents component
4. Set process to "sequential"
5. Connect input/output

## Model Format

PraisonAI uses `provider/model-name` format:

| Provider | Examples |
| - | - |
| OpenAI | `openai/gpt-4o-mini`, `openai/gpt-4o`, `openai/o1-mini` |
| Anthropic | `anthropic/claude-3-5-sonnet-20241022`, `anthropic/claude-3-opus-20240229` |
| Google | `google/gemini-1.5-pro`, `google/gemini-2.0-flash` |
| DeepSeek | `deepseek/deepseek-chat`, `deepseek/deepseek-reasoner` |
| Groq | `groq/llama-3.3-70b-versatile` |
| Ollama | `ollama/llama3.2`, `ollama/mistral` |

## Memory Options

| Option | Description |
| - | - |
| **Simple** | Toggle memory on/off |
| **Provider** | `rag` or `mem0` |
| **Config** | Full MemoryConfig dictionary (advanced) |

## Structured Output

Define JSON schemas for structured responses:

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "title": "string",
  "score": "int",
  "summary": "string",
  "approved": "bool"
}
```

The agent will return data matching this schema.

## Workflow Branching

Use **decision** tasks for conditional flows:

1. Set **Task Type** to `decision`
2. Define **Condition**:

```json theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{
  "approved": ["process_task"],
  "rejected": ["review_task"]
}
```

3. The agent's decision determines which task runs next

## Agent Collaboration

Use **Handoffs** for agent-to-agent collaboration:

1. Create a second agent (e.g., "Expert Agent")
2. Connect it to the first agent's **Handoffs** input
3. The primary agent can now hand off conversations

## Related

* [Agent Concepts](/docs/concepts/agents)
* [Multi-Agent Orchestration](/docs/concepts/agents)
* [Memory Configuration](/docs/concepts/memory)
* [Knowledge/RAG](/docs/concepts/knowledge)
* [Handoffs](/docs/concepts/handoffs)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.