Summary

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.

Business Value

  • Enables modular workflow design by allowing reusable sub-workflows
  • Supports complex orchestration patterns like fan-out/fan-in
  • Reduces workflow complexity by breaking large workflows into smaller, maintainable pieces
  • Provides flexibility in execution timing based on use case requirements

Execution Modes

  • Job (Synchronous): Execute the child workflow and wait for completion before continuing. Best for sequential processing where results are needed immediately.
  • Async: Execute the child workflow and return a session ID immediately. Use Workflow Results Retriever to get results later. Best for parallel execution patterns.
  • Fire & Forget: Queue the workflow for background execution with no result tracking. Best for spawning independent tasks that don't affect the parent workflow.

Parameters

  • workflow_id: Select the workflow to execute (dropdown of available workflows)
  • input_data: Object data to pass to the child workflow (connectable input port)
  • execution_mode: Choose between job, job_async, or job_fire_forget
  • timeout: Maximum wait time in seconds (job mode only)
  • poll_interval_ms: How often to check for completion (job mode only)

Outputs

  • success: Boolean indicating execution/start success
  • status: Execution status (completed, running, pending, failed, timeout)
  • session_id: Session ID for async result retrieval
  • outputs: Workflow outputs when completed
  • execution_time_ms: Total execution time

Safety Features

  • Circular workflow reference detection prevents infinite loops
  • Maximum execution depth (5 levels) prevents runaway recursion
  • Parent context propagation tracks the execution chain

Comments

joevagyok created an issue. See original summary.

joevagyok’s picture

gxleano’s picture

I have contributed (not only by code, but discussion, presentation, testing or anything related).

d34dman’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.