# FlowDrop Documentation

**Workflow Orchestration for Drupal**

FlowDrop is the workflow orchestration module for Drupal. It gives you everything you need to **create, manage, run, and track** flows — and more capabilities are added as the orchestration story grows. Visual, code-free, and fully integrated with the entities, users, and content you already have.

Where simple event-driven automation hides data flow behind keywords/configs, FlowDrop makes every connection explicit: typed ports, visible edges, traceable executions. The graph *is* the specification, the execution engine, and the audit trail in one.

![FlowDrop visual workflow editor](screenshots/workflow-with-triggers.png)

---

## Choose Your Path

### For Sitebuilders

Build workflows visually without writing code.

- **[Installation](getting-started/installation.md)** — Install FlowDrop on your Drupal site
- **[Quick Start](getting-started/quick-start.md)** — Create and run your first workflow in 5 minutes
- **[Your First Workflow](getting-started/first-workflow.md)** — Guided tutorial building a real workflow
- **[FlowDrop Vocabulary](getting-started/concepts.md)** — Workflows, nodes, edges, ports, and the rest of the terminology
- **[Node Reference](guide/nodes/index.md)** — Detailed documentation for all built-in nodes
- **[Execution Modes](guide/execution-modes.md)** — Synchronous, async, and stateful orchestration
- **[Setting Up Triggers](guide/triggers.md)** — Automate workflows with event-driven triggers
- **[Human-in-the-Loop](guide/human-in-the-loop.md)** — Pause workflows for user input and approvals
- **[Monitoring Workflows](guide/monitoring-workflows.md)** — Track execution and debug failures
- **[Troubleshooting](guide/troubleshooting.md)** — Common issues and solutions

### For Developers

Extend FlowDrop with custom node processors, triggers, and orchestrators.

- **[Developer Quick Start](development/quick-reference/getting-started.md)** — Set up a development environment
- **[Create a Node Processor](development/quick-reference/define-node.md)** — Build custom nodes with PHP
- **[Node Processor Plugin System](development/flowdrop-node-processor.md)** — Deep dive into the plugin system
- **[Create a Custom Trigger](development/custom-triggers.md)** — Define new event types to fire workflows
- **[Create a Custom Orchestrator](development/custom-orchestrators.md)** — Build custom workflow execution strategies
- **[Testing Node Processors](development/testing-node-processors.md)** — Write PHPUnit tests for custom nodes
- **[Architecture](reference/architecture/flowdrop-erd.md)** — Entity relationships and system design

### For Site Builders

Deploy and maintain FlowDrop in production.

- **[Configuration Management](getting-started/configuration-management.md)** — Export and deploy workflows with `drush cex/cim`
- **[Upgrading FlowDrop](getting-started/upgrading.md)** — How to update between versions
- **[Production Deployment](guide/production-deployment.md)** — Queue workers, performance, and operational guidance

---

## What FlowDrop Does

FlowDrop covers the full lifecycle of workflow orchestration:

### Create & Edit

A drag-and-drop visual editor with typed ports, color-coded data types, and visible edges. 25+ built-in nodes for data processing, control flow, entity operations, HTTP, and AI. Branching gateways, loops, and nested workflows built in.

### Manage

Workflows are standard Drupal **configuration entities** — exportable to YAML, versionable in git, and deployable across dev/stage/prod with `drush cex/cim`. Node Types let site builders configure pre-set node variants without writing code.

### Run

Three execution modes for any workload — **Synchronous** (in-request), **Asynchronous** (queue-based background), and **StateGraph** (checkpointed, resumable). Event-driven **triggers** start flows automatically on entity changes, user events, or cron. **Human-in-the-loop** nodes pause execution for confirmations, choices, or free-text input.

### Track

Every run produces a **pipeline** record with one **job** per node — what ran, what data went in, what came out, how long it took, what failed. Real-time monitoring and per-node inspection in the admin UI.

---

## API Stability

FlowDrop 1.x is the stable release line. The public API is frozen — see the [Backward Compatibility Policy](reference/api/bc-policy.md) for stability guarantees and the [API Reference](reference/api/index.md) for the full public API surface. Check the [Changelog](https://git.drupalcode.org/project/flowdrop/-/blob/1.x/CHANGELOG.md) for recent changes.
