This project is not covered by Drupal’s security advisory policy.

FlowDrop Node Session provides entity context support for FlowDrop playground sessions, allowing workflows to be initialised with a Drupal entity (node, term, etc.) as context.

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

Key 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);
Supporting organizations:

Project information

Releases

1.0.0-alpha2 released 13 February 2026
Works with Drupal: ^11.2

Fix installation error

Install:

Development version: 1.x-dev updated 13 Feb 2026 at 12:16 UTC