Trigger a new execution from UI while adding all necessary inputs and store.
Motivation Accessibility – Enable users to trigger graph executions without writing code or using API tools.Rapid testing – Allow developers to quickly test graph configurations and changes directly from the dashboard.Operational convenience – Enable operations teams to manually trigger workflows for troubleshooting, ad-hoc runs, or emergency operations.Input validation – Provide real-time validation and guidance for required inputs and store values before triggering.Visibility – Make it easy to see what inputs and store values are needed for each graph.Current State What Exists Component Location Purpose Graph Templates Dashboard "Graph" tab View and edit graph templates Runs Table Dashboard "Runs" tab View execution history Graph Template Detail Modal Dashboard View graph template configuration Trigger API State Manager Programmatic graph triggering via API/SDK
Current Limitations No UI option to trigger graph executions Users must use Python SDK or API directly to trigger graphs No visibility into what inputs/store values are required before triggering No validation feedback in UI before triggering Cannot easily test graph changes without leaving the dashboard Proposed Solution Trigger Graph Dialog/Modal Add a "Trigger Graph" feature that allows users to:
Select a graph template to execute Provide inputs for the root node Provide store values (required and optional) Set optional start delay Validate inputs before triggering See immediate feedback on success/failure Key Features Graph selection – Choose from available graph templates in the namespaceInput form – Dynamic form based on root node's input schemaStore configuration – Form for required and optional store valuesValidation – Real-time validation of inputs and store valuesDefault values – Pre-fill store defaults from graph configurationStart delay – Optional delay before execution startsSuccess feedback – Show run ID and link to execution viewUser Experience Access Points From Graph Template Detail Modal :
"Trigger" button in the graph template detail view Opens trigger dialog pre-populated with selected graph From Graph Templates List :
"Trigger" action button for each graph template Opens trigger dialog with selected graph From Runs Table :
"Trigger New Run" button at top of runs table Opens trigger dialog to select graph and trigger Trigger Dialog Flow Graph Selection (if not pre-selected):
Dropdown/select showing available graph templates Filter by namespace Show graph validation status (only valid graphs can be triggered) Root Node Inputs Section :
Dynamic form fields based on root node's input schema Show field names and types Mark required fields Help text showing example values or descriptions Support for store references: ${{ store.key }} (read-only, shows resolved value) Store Values Section :
Required keys : Clearly marked, must be providedOptional keys : Shown with default values (if configured)Default values : Pre-filled from graph's store_config.default_valuesAdd custom keys : Allow adding additional store keys beyond required/optionalValidation : Real-time check that all required keys are providedStart Delay (Optional) :
Input field for delay in milliseconds Helper showing human-readable equivalent (e.g., "5000ms = 5 seconds") Default: 0 (immediate execution) Validation & Trigger :
"Trigger" button (disabled until valid) Real-time validation feedback Error messages for missing/invalid inputs Loading state during trigger request Success message with run ID and link to execution Visual Design Modal/Dialog : Centered modal with clear sectionsForm sections : Collapsible sections for Inputs, Store, and Advanced (delay)Required indicators : Red asterisks or "Required" badgesValidation feedback : Inline error messages, field highlightingSuccess state : Green checkmark, run ID prominently displayedError state : Red error message with detailsUse Cases Use Case 1: Quick Test of Graph Changes Scenario : Developer just updated a graph template and wants to test it immediately.
User action :
Navigate to Graph Templates Open the updated graph template Click "Trigger" button Review root node inputs (see what's needed) Fill in required store values (or use defaults) Click "Trigger" See success message with run ID Click link to view execution in real-time Expected outcome : Graph execution starts, user can immediately see it in the runs table and monitor progress.
Use Case 2: Manual Workflow Execution Scenario : Operations team needs to manually trigger a data processing workflow with specific parameters.
User action :
Navigate to Runs table Click "Trigger New Run" button Select graph from dropdown Fill in root node inputs (e.g., user_id: "12345", batch_size: "100") Configure store values:
Required: cursor: "0", batch_id: "batch_001" Optional: retry_count: "3" (uses default if not provided) Set start delay to 10 seconds (10000ms) Review all inputs Click "Trigger" See confirmation with run ID Expected outcome : Workflow starts after 10-second delay with specified inputs and store values.
Use Case 3: Testing with Different Store Values Scenario : Developer wants to test how a graph behaves with different store configurations.
User action :
Open graph template Click "Trigger" See pre-filled default store values Modify store values (e.g., change cursor from "0" to "100") Add custom store key test_mode: "true" Trigger execution Repeat with different values to compare behavior Expected outcome : Multiple test runs with different store configurations, easy to compare results.
Use Case 4: Triggering Graph with Store-Referenced Inputs Scenario : Root node inputs reference store values (e.g., "cursor": "${{ store.cursor }}").
User action :
Open graph template Click "Trigger" See root node input field showing cursor: "${{ store.cursor }}" Input field is read-only or shows resolved value Fill in store section with cursor: "50" See input field update to show resolved value "50" Trigger execution Expected outcome : Store values are properly resolved into root node inputs before execution.
Acceptance Criteria Graph Selection Root Node Inputs Store Configuration Start Delay Triggering & Feedback UI/UX Non-Goals Bulk triggering – Single graph execution per trigger (bulk can be future enhancement)Scheduled triggering – One-time execution only (scheduling via cron triggers is separate)Input templates/presets – Manual input entry only (templates can be future enhancement)Import/export inputs – Manual entry only (import/export can be future enhancement)Trigger history – No saved trigger configurations (can be future enhancement)Open Questions Input schema discovery : How do we get the root node's input schema? From registered node metadata?Store key discovery : How do we show which store keys are used by nodes? Parse input templates?Input validation : Should we validate input types (string, number) or accept strings only (current API behavior)?Default input values : Should graphs support default input values for root node, or only store defaults?Trigger from run details : Should users be able to "re-trigger" a graph with same inputs from a previous run?Input examples : Should we show example values or previous successful input combinations?Store value types : Currently store values are strings only - should UI enforce this or allow other types with conversion?Additional Notes This feature focuses on user-facing functionality and UI/UX, not implementation details Implementation should leverage existing trigger API endpoint Consider integration with feature-plan feat: Add UI based workflow builder #636 (UI workflow builder) - trigger could be accessible from builder Consider integration with feature-plan feat: delete graph and pending execution #608 (delete/cancel) - triggered runs should be cancellable Future enhancements could include: input templates, trigger history, bulk triggering, scheduled one-time triggers
Trigger a new execution from UI while adding all necessary inputs and store.
Motivation
Current State
What Exists
Current Limitations
Proposed Solution
Trigger Graph Dialog/Modal
Add a "Trigger Graph" feature that allows users to:
Key Features
User Experience
Access Points
From Graph Template Detail Modal:
From Graph Templates List:
From Runs Table:
Trigger Dialog Flow
Graph Selection (if not pre-selected):
Root Node Inputs Section:
${{ store.key }}(read-only, shows resolved value)Store Values Section:
store_config.default_valuesStart Delay (Optional):
Validation & Trigger:
Visual Design
Use Cases
Use Case 1: Quick Test of Graph Changes
Scenario: Developer just updated a graph template and wants to test it immediately.
User action:
Expected outcome: Graph execution starts, user can immediately see it in the runs table and monitor progress.
Use Case 2: Manual Workflow Execution
Scenario: Operations team needs to manually trigger a data processing workflow with specific parameters.
User action:
user_id: "12345",batch_size: "100")cursor: "0",batch_id: "batch_001"retry_count: "3"(uses default if not provided)Expected outcome: Workflow starts after 10-second delay with specified inputs and store values.
Use Case 3: Testing with Different Store Values
Scenario: Developer wants to test how a graph behaves with different store configurations.
User action:
cursorfrom "0" to "100")test_mode: "true"Expected outcome: Multiple test runs with different store configurations, easy to compare results.
Use Case 4: Triggering Graph with Store-Referenced Inputs
Scenario: Root node inputs reference store values (e.g.,
"cursor": "${{ store.cursor }}").User action:
cursor: "${{ store.cursor }}"cursor: "50"Expected outcome: Store values are properly resolved into root node inputs before execution.
Acceptance Criteria
Graph Selection
Root Node Inputs
Store Configuration
Start Delay
Triggering & Feedback
UI/UX
Non-Goals
Open Questions
Additional Notes