> ## Documentation Index
> Fetch the complete documentation index at: https://docs.praison.ai/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.

<Note>
  **Status**: [PR #11294](https://github.com/langflow-ai/langflow/pull/11294) submitted to Langflow repository. Once merged, PraisonAI components will be available natively in Langflow.
</Note>

## Installation

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Install Langflow with PraisonAI support
pip install langflow praisonaiagents
```

## 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)
