# Installation

## Requirements

- **PHP** 8.2 or higher
- **Drupal** 11.2 or higher
- **Composer** for dependency management

## Install via Composer

```bash
composer require drupal/flowdrop
```

## Enable Core Modules

Enable the essential modules to get FlowDrop running:

```bash
drush en flowdrop flowdrop_workflow flowdrop_node_processor flowdrop_runtime
drush cr
```

| Module | What it provides |
|--------|-----------------|
| `flowdrop` | Core plugin system and base classes |
| `flowdrop_workflow` | Workflow entity for storing workflow definitions |
| `flowdrop_node_processor` | 25+ built-in node processors (data processing, control flow, etc.) |
| `flowdrop_runtime` | Execution engine with synchronous and asynchronous orchestrators |

!!! note
    Several supporting modules (`flowdrop_node_type`, `flowdrop_node_category`, `flowdrop_orchestration`, `flowdrop_pipeline`, `flowdrop_job`, `flowdrop_session`, `flowdrop_ui_components`) are installed automatically as dependencies.

## Enable Optional Modules

Enable additional modules based on the features you need:

| Module | What it provides | Install command |
|--------|-----------------|-----------------|
| `flowdrop_trigger` | Event-driven workflow triggering (entity/user/cron events) | `drush en flowdrop_trigger` |
| `flowdrop_interrupt` | Human-in-the-Loop (pause, confirm, input nodes) | `drush en flowdrop_interrupt` |
| `flowdrop_playground` | Interactive testing with chat-based interface | `drush en flowdrop_playground` |
| `flowdrop_workflow_executor` | Nested workflow execution (sync/async) | `drush en flowdrop_workflow_executor` |
| `flowdrop_stategraph` | State graph orchestrator with checkpointing | `drush en flowdrop_stategraph` |

## AI Integration (Optional)

To use AI-powered nodes (like ChatModel), install the AI module and a provider:

1. Install the [AI module](https://www.drupal.org/project/ai):
   ```bash
   composer require drupal/ai
   drush en ai
   ```

2. Install the [FlowDrop AI Provider](https://www.drupal.org/project/flowdrop_ai_provider):
   ```bash
   composer require drupal/flowdrop_ai_provider
   drush en flowdrop_ai_provider
   ```

3. Configure an AI provider (e.g., OpenAI, Mistral) at **Administration > Configuration > AI**.

## Verify Installation

Navigate to **Administration > FlowDrop** (`/admin/flowdrop`) to confirm the dashboard loads.

![FlowDrop dashboard after installation](../screenshots/flowdrop-dashboard.png)

## Next Steps

Ready to build your first workflow? Head to the [Quick Start](quick-start.md) guide.
