Skip to content

FlowDrop Workflow

Config entity for storing and managing workflow definitions with visual editor integration and REST API access.

Overview

The flowdrop_workflow module provides the central workflow entity — a config entity that stores the complete workflow definition including nodes, edges, and metadata. It integrates with the FlowDrop visual editor for drag-and-drop workflow building and exposes REST API endpoints for programmatic workflow management.

Workflows are the primary unit of configuration in FlowDrop. Once defined, they can be executed by flowdrop_runtime, triggered by events via flowdrop_trigger, or tested interactively in the flowdrop_playground.

Dependencies

Configuration

Admin Pages

Path Description
/admin/flowdrop/workflows List all workflows
/admin/flowdrop/workflows/add Create a new workflow
/admin/flowdrop/workflows/{id}/edit Edit workflow metadata (name, description)
/admin/flowdrop/workflows/{id}/delete Delete a workflow
/admin/flowdrop/workflows/{id}/editor Open the visual workflow editor

Permissions

Permission Description
administer flowdrop_workflow Full CRUD access to workflow definitions

Tips and Tricks

Visual Editor

The workflow editor at /admin/flowdrop/workflows/{id}/editor provides a full drag-and-drop interface for building workflows. It loads node types from the flowdrop_node_type API and saves workflow definitions back through the workflow API.

Workflow as Config Entity

Workflows are config entities, which means they can be exported and imported using Drupal's standard configuration management (drush cex / drush cim). This makes it straightforward to deploy workflows across environments.

Workflow Execution

Workflows themselves are just definitions — they don't execute on their own. Execution is handled by:

Developer API

All PHP classes in this module are @internal and not part of the stable public API. They may change without notice in any release. See the BC Policy for details.

Entities

FlowDropWorkflow (Config Entity)

Core Properties:

Property Type Description
id string Unique workflow identifier
label string Human-readable name
description string Workflow description
status boolean Whether the workflow is enabled
nodes array Workflow node definitions with configurations
edges array Connections between nodes
metadata array Additional workflow metadata and settings

API Endpoints

Method Path Description
GET /api/flowdrop/workflows List all workflows
POST /api/flowdrop/workflows Create a workflow
GET /api/flowdrop/workflows/{id} Get a workflow definition
PUT /api/flowdrop/workflows/{id} Update a workflow
DELETE /api/flowdrop/workflows/{id} Delete a workflow
POST /api/flowdrop/workflows/{id}/execute Execute a workflow
GET /api/flowdrop/workflows/{id}/executions/{execution_id}/state Get execution state
GET /api/flowdrop/executions/active List active executions

References