Summary

Implement a comprehensive Human-in-the-Loop (HIL) system that enables workflows to pause execution and request user input before continuing. This feature is essential for building interactive workflows that require human decision-making, approval gates, or data collection during execution.

Business Value

  • Enables building approval workflows where human oversight is required at critical decision points
  • Supports interactive chatbot and conversational AI use cases
  • Allows workflows to collect additional information from users mid-execution
  • Provides audit trail showing who responded to each interrupt and when

Features Implemented

  • Confirmation Node: Simple Yes/No prompts for user decisions
  • Choice Input Node: Selection from multiple options (single or multi-select)
  • Text Input Node: Free-form text collection with validation
  • Form Input Node: JSON Schema-based forms for structured data collection

Technical Implementation

  • New flowdrop_interrupt module with persistent interrupt entity storage
  • Exception-based interrupt handling working across all pipeline-based orchestrators
  • RESTful API endpoints for listing, resolving, and canceling interrupts
  • New job status "interrupted" with proper lifecycle transitions
  • Full integration with FlowDrop Playground UI

Supported Orchestrators

  • Synchronous Pipeline Orchestrator
  • Asynchronous Orchestrator
  • StateGraph Orchestrator

Comments

joevagyok created an issue. See original summary.

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.