Skip to content

Modules

FlowDrop is composed of focused, loosely-coupled Drupal modules. Each module handles a distinct responsibility — from defining workflow structures to executing them, managing interactive sessions, and integrating with external platforms.

This section provides per-module documentation covering configuration, practical tips, and developer API reference.

Which Modules Do I Need?

Use this table to decide which optional modules to enable based on what you want to do. The core modules (flowdrop, flowdrop_workflow, flowdrop_node_processor, flowdrop_runtime) are always required.

I want to... Enable these modules Install command
Run workflows on entity create/update/delete flowdrop_trigger drush en flowdrop_trigger
Run workflows on a cron schedule flowdrop_trigger drush en flowdrop_trigger
Pause workflows for user confirmation or input flowdrop_interrupt, flowdrop_stategraph drush en flowdrop_interrupt flowdrop_stategraph
Build workflows with loops flowdrop_stategraph drush en flowdrop_stategraph
Test workflows interactively (chat UI) flowdrop_playground drush en flowdrop_playground
Call one workflow from another flowdrop_workflow_executor drush en flowdrop_workflow_executor
Expose workflows to external platforms flowdrop_orchestration_connector drush en flowdrop_orchestration_connector
Use AI-powered nodes ai, flowdrop_ai_provider See Installation

Tip

Dependencies are handled automatically — enabling flowdrop_playground will also enable flowdrop_stategraph and its dependencies.

Module Overview

Module Description Status
flowdrop Core module providing the NodeProcessor plugin system, entity serializer, and admin dashboard Stable
flowdrop_node_category Config entity for organizing workflow nodes into categories Stable
flowdrop_node_type Configurable node type definitions with plugin integration Stable
flowdrop_node_processor Node processor implementations, data mapping, and JSON schema validation Stable
flowdrop_workflow Workflow entity management and visual editor integration Stable
flowdrop_job Content entity for individual workflow node execution records Stable
flowdrop_pipeline Execution pipeline orchestration and job generation Stable
flowdrop_orchestration Orchestrator plugin system and contracts Stable
flowdrop_runtime Execution engine with sync/async modes, real-time monitoring, and snapshots Stable
flowdrop_stategraph Stateful graph execution with checkpointing, reducers, and loops Stable
flowdrop_session Session and message management for interactive workflow execution Stable
flowdrop_interrupt Human-in-loop interrupt system for workflow pauses and user input Stable
flowdrop_playground Interactive chat-based playground for testing workflows Stable
flowdrop_trigger Event-driven workflow triggering (entity CRUD, user events, cron) Stable
flowdrop_orchestration_connector Exposes workflows to external automation platforms Stable
flowdrop_workflow_executor Execute workflows from within other workflows Stable
flowdrop_ui_components Reusable Single Directory Components for the FlowDrop admin UI Stable

Dependency Graph

The arrows indicate dependency direction: A --> B means "B depends on A". Only direct dependencies are shown.

graph TD

    %% Base modules (no flowdrop dependencies)
    FD_UI_COMP[flowdrop_ui_components]
    FD_JOB[flowdrop_job]

    %% Main module
    FD_UI_COMP --> FD[flowdrop]

    %% Core modules
    FD --> FD_ORCH[flowdrop_orchestration]
    FD --> FD_NODE_CAT[flowdrop_node_category]
    FD_NODE_CAT --> FD_NODE_TYPE[flowdrop_node_type]

    %% Entity modules
    FD_NODE_TYPE --> FD_WORKFLOW[flowdrop_workflow]

    %% Pipeline module
    FD_JOB --> FD_PIPELINE[flowdrop_pipeline]
    FD_NODE_TYPE --> FD_PIPELINE
    FD_WORKFLOW --> FD_PIPELINE

    %% Execution foundation
    FD_ORCH --> FD_SESSION[flowdrop_session]
    FD_PIPELINE --> FD_SESSION
    FD_ORCH --> FD_RUNTIME[flowdrop_runtime]
    FD_PIPELINE --> FD_RUNTIME

    %% Execution layer
    FD_SESSION --> FD_INTERRUPT[flowdrop_interrupt]
    FD_RUNTIME --> FD_INTERRUPT

    %% Feature modules
    FD_ORCH --> FD_TRIGGER[flowdrop_trigger]
    FD_RUNTIME --> FD_TRIGGER

    FD_ORCH --> FD_STATEGRAPH[flowdrop_stategraph]
    FD_RUNTIME --> FD_STATEGRAPH

    FD_STATEGRAPH --> FD_PLAYGROUND[flowdrop_playground]

    FD_SESSION --> FD_WF_EXEC[flowdrop_workflow_executor]

    %% Integration modules
    FD_ORCH --> FD_ORCH_CONN[flowdrop_orchestration_connector]
    FD_TRIGGER --> FD_ORCH_CONN

    %% Styling
    classDef baseModule fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
    classDef coreModule fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    classDef uiModule fill:#e8f577,stroke:#1b5e20,stroke-width:2px
    classDef executionModule fill:#fff3e0,stroke:#e65100,stroke-width:2px
    classDef featureModule fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    classDef integrationModule fill:#efefef,stroke:#2e2e2e,stroke-width:2px
    class FD,FD_NODE_CAT,FD_WORKFLOW baseModule
    class FD_NODE_TYPE,FD_ORCH coreModule
    class FD_UI_COMP uiModule
    class FD_PIPELINE,FD_JOB,FD_RUNTIME,FD_INTERRUPT,FD_SESSION executionModule
    class FD_ORCH_CONN integrationModule
    class FD_TRIGGER,FD_STATEGRAPH,FD_PLAYGROUND,FD_WF_EXEC featureModule

Legend

Color Category Description
Green Base Foundation modules with minimal dependencies
Light blue Core Central modules defining key abstractions
Yellow-green UI User interface modules
Orange Execution Workflow execution and runtime modules
Gray Integration External platform connectors
Blue Feature Optional feature modules