This project is not covered by Drupal’s security advisory policy.
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_idis_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.
Supporting organizations:
Initial development
Initial development
Project information
- Project categories: Administration tools, Artificial Intelligence (AI), Content editing experience
- Ecosystem: FlowDrop Agents, AI (Artificial Intelligence)
- Created by joevagyok on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
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


