Add Workflow Executor node processor for triggering child workflows
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3571265. --> Reported by: [joevagyok](https://www.drupal.org/user/2876343) >>> <h3>Summary</h3> <p>Add a Workflow Executor node processor that enables executing another FlowDrop workflow from within a workflow. This supports multiple execution modes for different use cases: synchronous execution with result waiting, asynchronous execution with deferred result retrieval, and fire-and-forget for background processing.</p> <h3>Business Value</h3> <ul> <li>Enables modular workflow design by allowing reusable sub-workflows</li> <li>Supports complex orchestration patterns like fan-out/fan-in</li> <li>Reduces workflow complexity by breaking large workflows into smaller, maintainable pieces</li> <li>Provides flexibility in execution timing based on use case requirements</li> </ul> <h3>Execution Modes</h3> <ul> <li><strong>Job (Synchronous):</strong> Execute the child workflow and wait for completion before continuing. Best for sequential processing where results are needed immediately.</li> <li><strong>Async:</strong> Execute the child workflow and return a session ID immediately. Use Workflow Results Retriever to get results later. Best for parallel execution patterns.</li> <li><strong>Fire &amp; Forget:</strong> Queue the workflow for background execution with no result tracking. Best for spawning independent tasks that don't affect the parent workflow.</li> </ul> <h3>Parameters</h3> <ul> <li><code>workflow_id</code>: Select the workflow to execute (dropdown of available workflows)</li> <li><code>input_data</code>: Object data to pass to the child workflow (connectable input port)</li> <li><code>execution_mode</code>: Choose between job, job_async, or job_fire_forget</li> <li><code>timeout</code>: Maximum wait time in seconds (job mode only)</li> <li><code>poll_interval_ms</code>: How often to check for completion (job mode only)</li> </ul> <h3>Outputs</h3> <ul> <li><code>success</code>: Boolean indicating execution/start success</li> <li><code>status</code>: Execution status (completed, running, pending, failed, timeout)</li> <li><code>session_id</code>: Session ID for async result retrieval</li> <li><code>outputs</code>: Workflow outputs when completed</li> <li><code>execution_time_ms</code>: Total execution time</li> </ul> <h3>Safety Features</h3> <ul> <li>Circular workflow reference detection prevents infinite loops</li> <li>Maximum execution depth (5 levels) prevents runaway recursion</li> <li>Parent context propagation tracks the execution chain</li> </ul>
issue