CONTENTS OF THIS FILE
---------------------

 * Introduction
 * Requirements
 * Installation
 * Configuration
 * Optional Modules
 * AI Integration
 * Troubleshooting


INTRODUCTION
------------

FlowDrop is a visual workflow automation module for Drupal. It provides a
drag-and-drop interface for building, executing, and monitoring complex
automation workflows — including data processing pipelines, AI-powered
automation, and event-driven workflows.

Project page: https://www.drupal.org/project/flowdrop


REQUIREMENTS
------------

 * PHP 8.2 or higher
 * Drupal 11.2 or higher
 * Composer (for dependency management)


INSTALLATION
------------

1. Install via Composer:

     composer require drupal/flowdrop

2. Enable the core modules:

     drush en flowdrop flowdrop_workflow flowdrop_node_processor flowdrop_runtime
     drush cr

   The following modules are installed automatically as dependencies:
   flowdrop_node_type, flowdrop_node_category, flowdrop_orchestration,
   flowdrop_pipeline, flowdrop_job, flowdrop_session, flowdrop_ui_components.

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


CONFIGURATION
-------------

No additional configuration is required after enabling the core modules.
Workflows can be created at Administration > FlowDrop > Workflows.

For site-wide defaults and permissions, visit:
Administration > Configuration > FlowDrop


CONFIG EXPORT / IMPORT
----------------------

When you export site configuration (drush cex / config sync), FlowDrop ships
several config entity types that must travel with the rest of your
configuration. The ones that catch people out:

 * flowdrop_pipeline.flowdrop_pipeline_type.* — pipeline storage "bundles"
   (1.4.0+). Installed by flowdrop_runtime. By default you get a "default"
   (database-backed) and an "in_memory" (synchronous, ephemeral) bundle.
   Orchestrators select a bundle per execution via PipelineStorageRegistry.

   If the bundle config is missing on a target site, pipeline execution
   falls back to "default" but custom orchestrators that pin a specific
   bundle will fail to start. Always include
   flowdrop_pipeline.flowdrop_pipeline_type.* in your config sync directory.

 * flowdrop_node_type.flowdrop_node_type.* — node types shipped by core and
   optional modules.

 * flowdrop_workflow.flowdrop_workflow.* — your workflows. These are config
   entities, not content; they belong in version control alongside your
   site config.

To verify the in-memory bundle exists after install:

    drush config:get flowdrop_pipeline.flowdrop_pipeline_type.in_memory

If the lookup fails on a site that was upgraded from < 1.4.0, run pending
updates:

    drush updatedb


OPTIONAL MODULES
----------------

Enable additional modules based on your needs:

 * flowdrop_trigger
   Event-driven workflow execution on entity changes, user events, or cron.

     drush en flowdrop_trigger

 * flowdrop_interrupt
   Human-in-the-loop support: pause workflows for user confirmation or input.

     drush en flowdrop_interrupt

 * flowdrop_playground
   Interactive workflow testing with a chat-based interface.

     drush en flowdrop_playground

 * flowdrop_workflow_executor
   Execute workflows from within other workflows (sync and async).

     drush en flowdrop_workflow_executor

 * flowdrop_stategraph
   Stateful orchestration using LangGraph-style state graphs with checkpointing.

     drush en flowdrop_stategraph

 * flowdrop_orchestration_connector
   Integration with external orchestration systems.
   Requires: composer require drupal/orchestration

     drush en flowdrop_orchestration_connector


AI INTEGRATION
--------------

To use AI-powered nodes (e.g. ChatModel, text generation):

1. Install the AI module:

     composer require drupal/ai
     drush en ai

2. Install the FlowDrop AI Provider bridge:

     composer require drupal/flowdrop_ai_provider
     drush en flowdrop_ai_provider

3. Install and configure an AI provider module (e.g. drupal/ai_provider_openai
   or drupal/ai_provider_mistral) at Administration > Configuration > AI.


TROUBLESHOOTING
---------------

 * If the FlowDrop dashboard does not load, clear the cache:

     drush cr

 * If queue-based workflows do not execute, ensure your cron is running and
   the Drupal queue workers for FlowDrop are being processed:

     drush queue:run flowdrop_runtime_pipeline_execution
     drush queue:run flowdrop_runtime_job_execution

 * For installation and upgrade issues, see:
   https://www.drupal.org/project/issues/flowdrop
