Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

flowdrop_node_session

1 sites No security coverage
View on drupal.org

Provides entity context support for FlowDrop playground sessions, allowing workflows to be initialized with a Drupal entity (node, term, etc.) as context.

Features

  • Entity-Context Sessions: Create playground sessions pre-loaded with entity data
  • Revision Support: Optionally load specific entity revisions
  • URL-based Playground: Launch playground with entity context via URL parameters

Installation

drush en flowdrop_node_session -y
drush cr

Usage

1. Add EntityContext Node to Workflow

In the FlowDrop editor, add an EntityContext node. It outputs:

  • entity: Full serialized entity (fields, metadata)
  • entity_type, entity_id, bundle, revision_id
  • is_default_revision: Boolean

2. Launch Playground with Entity Context

Visit the URL with query parameters:

/admin/flowdrop/workflows/{workflow_id}/playground/entity?entity_type=node&entity_id=1

Optional parameters: bundle, revision_id, session_name

3. API Endpoint

POST /api/flowdrop-node-session/workflows/{workflow_id}/sessions
Content-Type: application/json

{
  "entity_type": "node",
  "entity_id": "1",
  "revision_id": "5",  // optional
  "bundle": "article", // optional
  "name": "Session Name" // optional
}

Creating URLs Programmatically

Route: flowdrop_node_session.playground.entity

use Drupal\Core\Url;

// Basic URL
$url = Url::fromRoute('flowdrop_node_session.playground.entity', [
  'workflow_id' => 'my_workflow',
], [
  'query' => [
    'entity_type' => 'node',
    'entity_id' => '123',
  ],
]);

// With revision
$url = Url::fromRoute('flowdrop_node_session.playground.entity', [
  'workflow_id' => 'my_workflow',
], [
  'query' => [
    'entity_type' => 'node',
    'entity_id' => '123',
    'revision_id' => '456',
    'bundle' => 'article',
    'session_name' => 'My Session',
  ],
]);

// Get URL string
$urlString = $url->toString();

// In Twig
{{ url('flowdrop_node_session.playground.entity', {
  'workflow_id': 'my_workflow'
}, {
  'query': {
    'entity_type': 'node',
    'entity_id': node.id
  }
}) }}

Route Parameters

Parameter Type Description workflow_id route Workflow machine name entity_type query Entity type ID (required) entity_id query Entity ID (required) revision_id query Revision ID (optional) bundle query Bundle for validation (optional) session_name query Custom session name (optional)

Services

// Get the service
$nodeSessionService = \Drupal::service('flowdrop_node_session.service');

// Create session with entity context
$session = $nodeSessionService->createSessionWithEntityContext(
  $workflow,
  'node',
  '123',
  'article',  // bundle (optional)
  '456'       // revision_id (optional)
);

// Check if session has entity context
$hasContext = $nodeSessionService->hasEntityContext($session);

// Get entity context from session
$context = $nodeSessionService->getEntityContext($session);

This module was born during the Drupal AI Hackathon - Plat to Impact 2026, organized by the European Commission.

Activity

Total releases
3
First release
Feb 2026
Latest release
2 months ago
Release cadence
3 days
Stability
0% stable

Release Timeline

Releases

Version Type Release date
1.0.0-alpha2 Pre-release Feb 13, 2026
1.0.0-alpha1 Pre-release Feb 9, 2026
1.x-dev Dev Feb 7, 2026