Skip to content

Flow Control

Branching, loops, parallelism, subflows, triggers, and error handling.

24 modules

ModuleDescription
बैच प्रोसेसआइटम्स को बैच में प्रोसेस करें, जिसमें आकार को कॉन्फ़िगर किया जा सकता है
ब्रांचएक्सप्रेशन मूल्यांकन के आधार पर सशर्त ब्रांचिंग
ब्रेकपॉइंटमानवीय अनुमोदन या इनपुट के लिए वर्कफ़्लो निष्पादन रोकें
सर्किट ब्रेकरकैस्केडिंग विफलताओं को रोकने के लिए सर्किट ब्रेकर पैटर्न
कंटेनरजटिल वर्कफ़्लो को व्यवस्थित करने के लिए एम्बेडेड सबफ्लो कंटेनर
डिबाउंसतेज़ी से दोहराए गए कॉल को रोकने के लिए डिबाउंस निष्पादन
समाप्तस्पष्ट वर्कफ़्लो समाप्ति नोड
त्रुटि हैंडलरउपरी नोड्स से त्रुटियों को पकड़ता और संभालता है
त्रुटि वर्कफ़्लो ट्रिगरत्रुटि वर्कफ़्लोज़ के लिए प्रवेश बिंदु - जब कोई अन्य वर्कफ़्लो विफल होता है तो ट्रिगर होता है
प्रत्येक के लिएसूची पर पुनरावृत्ति करें और प्रत्येक आइटम के लिए चरण निष्पादित करें
फ़ोर्कसमानांतर शाखाओं में निष्पादन विभाजित करें
गोटोदूसरे चरण पर बिना शर्त छलांग
वर्कफ़्लो बुलाएंएक बाहरी वर्कफ़्लो फ़ाइल निष्पादित करें
जॉइनसमानांतर शाखाओं के पूर्ण होने की प्रतीक्षा करें
लूपआउटपुट पोर्ट राउटिंग का उपयोग करके N बार चरण दोहराएं
मर्जकई इनपुट को एक आउटपुट में मर्ज करें
समानांतरविभिन्न रणनीतियों के साथ समानांतर में कई कार्य निष्पादित करें
दर सीमाटोकन बकेट या स्लाइडिंग विंडो का उपयोग करके दर सीमा निष्पादन
पुनः प्रयास करेंविफल ऑपरेशन्स को पुनः प्रयास करें, कॉन्फ़िगर करने योग्य बैकऑफ़ के साथ
प्रारंभस्पष्ट वर्कफ़्लो प्रारंभ नोड
सबफ्लोबाहरी वर्कफ़्लो का संदर्भ लें और निष्पादित करें
स्विचमान मिलान के आधार पर बहु-मार्ग ब्रांचिंग
थ्रॉटलन्यूनतम अंतराल के साथ निष्पादन दर को थ्रॉटल करें
ट्रिगरवर्कफ़्लो प्रवेश बिंदु - मैनुअल, वेबहुक, शेड्यूल, या इवेंट

Modules

बैच प्रोसेस

flow.batch

आइटम्स को बैच में प्रोसेस करें, जिसमें आकार को कॉन्फ़िगर किया जा सकता है

Parameters:

NameTypeRequiredDefaultDescription
itemsarrayYes-Array of items to process. Can be numbers, strings, or objects.
batch_sizenumberYes10प्रति बैच आइटम्स की संख्या
delay_msnumberNo0बैचों के बीच प्रतीक्षा करने के लिए मिलीसेकंड (दर सीमित करने के लिए)
continue_on_errorbooleanNoFalseयदि एक विफल हो जाता है तो शेष बैचों को प्रोसेस करना जारी रखें
parallel_batchesnumberNo1यदि एक विफल हो जाता है तो शेष बैचों को प्रोसेस करना जारी रखें

Output:

FieldTypeDescription
__event__stringसमानांतर में प्रोसेस करने के लिए बैचों की संख्या (क्रमिक के लिए 1)
batcharrayरूटिंग के लिए इवेंट (बैच/पूरा/त्रुटि)
batch_indexnumberरूटिंग के लिए इवेंट (बैच/पूरा/त्रुटि)
total_batchesnumberवर्तमान बैच आइटम्स
total_itemsnumberवर्तमान बैच इंडेक्स (0-आधारित)
is_last_batchbooleanकुल बैचों की संख्या
progressobjectकुल आइटम्स की संख्या

Example: Example

yaml
items: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
batch_size: 10

Example: Example

yaml
items: ${input.records}
batch_size: 100
delay_ms: 1000

Example: Example

yaml
items: ${input.data}
batch_size: 50
parallel_batches: 3
continue_on_error: true

ब्रांच

flow.branch

एक्सप्रेशन मूल्यांकन के आधार पर सशर्त ब्रांचिंग

Parameters:

NameTypeRequiredDefaultDescription
conditionstringYes-Expression to evaluate (supports ==, !=, >, <, >=, <=, contains)

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (true/false/error)
outputsobjectपोर्ट द्वारा आउटपुट मान
resultbooleanब्रांच परिणाम
conditionstringशर्त मान
resolved_conditionstringशर्त मूल्यांकन परिणाम

Example: Example

yaml
condition: ${search_step.count} > 0

Example: Example

yaml
condition: ${api_call.status} == success

ब्रेकपॉइंट

flow.breakpoint

मानवीय अनुमोदन या इनपुट के लिए वर्कफ़्लो निष्पादन रोकें

Parameters:

NameTypeRequiredDefaultDescription
titlestringNoApproval RequiredTitle displayed to approvers
descriptionstringNo-Optional description text
timeout_secondsnumberNo0Maximum wait time (0 for no timeout)
required_approversarrayYes-Array of data items to process
approval_modeselect (single, all, majority, first)NosingleHow approvals are counted
custom_fieldsarrayYes-Array of data items to process
include_contextbooleanNoTrueWhether to include execution context
auto_approve_conditionstringNo-Text content to process

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (approved/rejected/timeout)
breakpoint_idstringब्रेकपॉइंट ID
statusstringस्थिति
approved_byarrayअनुमोदनकर्ता
rejected_byarrayअस्वीकृतकर्ता
custom_inputsobjectकस्टम इनपुट मान
commentsarrayसमीक्षा टिप्पणियां
resolved_atstringहल किया गया समय
wait_duration_msintegerप्रतीक्षा अवधि (ms)

Example: Example

yaml
title: Approve data export
description: Please review and approve the data export

Example: Example

yaml
title: Manager Approval Required
description: Large transaction requires manager approval
required_approvers: ["manager@example.com"]
timeout_seconds: 3600

Example: Example

yaml
title: Adjustment Required
custom_fields: [{"name": "reason", "label": "Reason", "type": "text", "required": true}, {"name": "amount", "label": "Amount", "type": "number", "required": true}]

सर्किट ब्रेकर

flow.circuit_breaker

कैस्केडिंग विफलताओं को रोकने के लिए सर्किट ब्रेकर पैटर्न

Parameters:

NameTypeRequiredDefaultDescription
failure_thresholdnumberYes5सर्किट खोलने से पहले विफलताओं की संख्या
reset_timeout_msnumberNo60000सर्किट के आधा खुला होने से पहले का समय मिलीसेकंड में
half_open_maxnumberNo1आधा खुले स्थिति में अनुमत अधिकतम अनुरोध

Output:

FieldTypeDescription
__event__stringरूटिंग के लिए इवेंट (अनुमत/अस्वीकृत/आधा खुला)
statestringसर्किट की स्थिति (बंद/खुला/आधा खुला)
failure_countnumberलगातार विफलताओं की संख्या
last_failure_time_msnumberमिलीसेकंड में अंतिम विफलता का समय
time_until_half_open_msnumberसर्किट के आधा खुला होने तक का समय मिलीसेकंड में

Example: Example

yaml
failure_threshold: 5
reset_timeout_ms: 60000

Example: Example

yaml
failure_threshold: 2
reset_timeout_ms: 10000
half_open_max: 1

Example: Example

yaml
failure_threshold: 20
reset_timeout_ms: 120000
half_open_max: 3

कंटेनर

flow.container

जटिल वर्कफ़्लो को व्यवस्थित करने के लिए एम्बेडेड सबफ्लो कंटेनर

Parameters:

NameTypeRequiredDefaultDescription
subflowobjectNo{'nodes': [], 'edges': []}Embedded workflow definition with nodes and edges
inherit_contextbooleanNoTrueWhether to inherit variables from parent workflow
isolated_variablesarrayYes-Array of data items to process
export_variablesarrayYes-Array of data items to process

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (success/error)
outputsobjectपोर्ट द्वारा आउटपुट मान
subflow_resultobjectसबफ्लो परिणाम
exported_variablesobjectनिर्यातित वेरिएबल्स
node_countintegerनोड गणना
execution_time_msnumberनिष्पादन समय (ms)

Example: Example

yaml
subflow: {"nodes": [], "edges": []}
inherit_context: true

Example: Example

yaml
subflow: {"nodes": [], "edges": []}
inherit_context: false

डिबाउंस

flow.debounce

तेज़ी से दोहराए गए कॉल को रोकने के लिए डिबाउंस निष्पादन

Parameters:

NameTypeRequiredDefaultDescription
delay_msnumberYes-अंतिम कॉल के बाद निष्पादन से पहले प्रतीक्षा समय
leadingbooleanNoFalseलीडिंग किनारे पर निष्पादित करें (पहला कॉल तुरंत ट्रिगर करता है)
trailingbooleanNoTrueट्रेलिंग किनारे पर निष्पादित करें (विलंब समाप्त होने के बाद)

Output:

FieldTypeDescription
__event__stringरूटिंग के लिए इवेंट (निष्पादित/डिबाउंस)
last_call_msnumberअंतिम कॉल का समय मिलीसेकंड में
calls_debouncednumberअंतिम निष्पादन के बाद डिबाउंस किए गए कॉल की संख्या
time_since_last_msnumberअंतिम कॉल के बाद से बीता समय मिलीसेकंड में
edgestringकौन सा किनारा निष्पादन को ट्रिगर करता है (लीडिंग/ट्रेलिंग)

Example: Example

yaml
delay_ms: 500

Example: Example

yaml
delay_ms: 1000
leading: true
trailing: false

Example: Example

yaml
delay_ms: 2000
leading: true
trailing: true

समाप्त

flow.end

स्पष्ट वर्कफ़्लो समाप्ति नोड

Parameters:

NameTypeRequiredDefaultDescription
output_mappingobjectNo{}Map internal variables to workflow output
success_messagestringNo-Text content to process

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (end)
ended_atstringसमाप्ति समय
workflow_resultobjectवर्कफ़्लो परिणाम

Example: Example

yaml

Example: Example

yaml
output_mapping: {"result": "${process.output}", "status": "success"}

त्रुटि हैंडलर

flow.error_handle

उपरी नोड्स से त्रुटियों को पकड़ता और संभालता है

Parameters:

NameTypeRequiredDefaultDescription
actionstringYeslog_and_continueत्रुटि के साथ क्या करना है
include_tracebackbooleanNoTrueआउटपुट में पूर्ण स्टैक ट्रेस शामिल करें
error_code_mappingobjectNo{}आउटपुट में पूर्ण स्टैक ट्रेस शामिल करें
fallback_valueanyNo-त्रुटि कोड्स को कस्टम क्रियाओं से मैप करें

Output:

FieldTypeDescription
__event__stringजब त्रुटि को दबा दिया जाता है तो उपयोग करने के लिए मान
outputsobjectरूटिंग के लिए इवेंट (संभाला/बढ़ाना)
error_infoobjectरूटिंग के लिए इवेंट (संभाला/बढ़ाना)
action_takenstringकौन सी कार्रवाई की गई

Example: Example

yaml
action: log_and_continue
include_traceback: true

Example: Example

yaml
action: suppress
fallback_value: {"status": "skipped", "reason": "upstream_error"}

Example: Example

yaml
action: transform
error_code_mapping: {"TIMEOUT": {"retry": true, "delay": 5000}, "NOT_FOUND": {"skip": true}}

त्रुटि वर्कफ़्लो ट्रिगर

flow.error_workflow_trigger

त्रुटि वर्कफ़्लोज़ के लिए प्रवेश बिंदु - जब कोई अन्य वर्कफ़्लो विफल होता है तो ट्रिगर होता है

Parameters:

NameTypeRequiredDefaultDescription
descriptionstringNo-Description of this error workflow

Output:

FieldTypeDescription
__event__stringइस त्रुटि वर्कफ़्लो का विवरण
error_contextobjectरूटिंग के लिए इवेंट (ट्रिगर किया गया)
triggered_atstringजब त्रुटि वर्कफ़्लो ट्रिगर किया गया था तब का ISO टाइमस्टैम्प

Example: Example

yaml
description: Send Slack notification on workflow failure

Example: Example

yaml
description: Log all workflow errors to monitoring system

प्रत्येक के लिए

flow.foreach

सूची पर पुनरावृत्ति करें और प्रत्येक आइटम के लिए चरण निष्पादित करें

Parameters:

NameTypeRequiredDefaultDescription
itemsstringYes-पुनरावृत्ति के लिए आइटम की सूची (${variable} संदर्भ का समर्थन करता है)
stepsarrayNo-प्रत्येक आइटम के लिए निष्पादित करने के चरण
item_varstringNoitemवर्तमान आइटम के लिए वेरिएबल नाम
index_varstringNoindexवर्तमान इंडेक्स के लिए वेरिएबल नाम
output_modestringNocollectपरिणाम संग्रह मोड

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (iterate/done)
__set_contextobjectसंदर्भ सेट करें
outputsobjectपोर्ट द्वारा आउटपुट मान
iterationnumberवर्तमान पुनरावृत्ति इंडेक्स
statusstringऑपरेशन स्थिति
resultsarrayएकत्रित परिणाम
countnumberकुल आइटम गणना

Example: Example

yaml
items: ${steps.csv.result.data}

Example: Example

yaml
items: ${search_results}
item_var: element
steps: [{"module": "element.text", "params": {"element_id": "${element}"}, "output": "text"}]

फ़ोर्क

flow.fork

समानांतर शाखाओं में निष्पादन विभाजित करें

Parameters:

NameTypeRequiredDefaultDescription
branch_countnumberNo2Number of parallel branches

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (fork/error)
input_dataanyइनपुट डेटा
branch_countintegerशाखा गणना

Example: Example

yaml
branch_count: 2

Example: Example

yaml
branch_count: 3

गोटो

flow.goto

दूसरे चरण पर बिना शर्त छलांग

Parameters:

NameTypeRequiredDefaultDescription
targetstringYes-Step ID to jump to
max_iterationsnumberNo100Maximum number of iterations (prevents infinite loops)

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (goto)
targetstringलक्ष्य चरण
iterationnumberपुनरावृत्ति गणना

Example: Example

yaml
target: fetch_next_page
max_iterations: 10

Example: Example

yaml
target: cleanup_step

वर्कफ़्लो बुलाएं

flow.invoke

एक बाहरी वर्कफ़्लो फ़ाइल निष्पादित करें

Parameters:

NameTypeRequiredDefaultDescription
workflow_sourcestringYes-File path to workflow YAML or inline YAML content
workflow_paramsobjectYes-Parameters to pass to the invoked workflow
timeout_secondsnumberNo300Maximum execution time in seconds
output_mappingobjectNo{}Map internal variables to workflow output

Output:

FieldTypeDescription
__event__stringबुलाए गए वर्कफ़्लो को पास करने के लिए पैरामीटर
resultanyअधिकतम निष्पादन समय सेकंड में
workflow_idstringरूटिंग के लिए घटना (सफलता/त्रुटि)
execution_time_msnumberवर्कफ़्लो निष्पादन परिणाम

Example: Example

yaml
workflow_source: workflows/validate_order.yaml
workflow_params: {"order_id": "${input.order_id}"}
timeout_seconds: 60

Example: Example

yaml
workflow_source: workflows/process_data.yaml
workflow_params: {"data": "${input.data}"}
output_mapping: {"processed": "result.data"}

जॉइन

flow.join

समानांतर शाखाओं के पूर्ण होने की प्रतीक्षा करें

Parameters:

NameTypeRequiredDefaultDescription
strategyselect (all, any, first)NoallHow to handle multiple inputs
input_countnumberNo2Number of ports
timeoutnumberNo60000Maximum time to wait in milliseconds
cancel_pendingbooleanNoTrueCancel pending branches when using first strategy

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (joined/timeout/error)
joined_dataarrayजॉइन किया गया डेटा
completed_countintegerपूर्ण शाखा गणना
strategystringजॉइन रणनीति

Example: Example

yaml
strategy: all
input_count: 2
timeout_ms: 30000

Example: Example

yaml
strategy: first
input_count: 3
cancel_pending: true

लूप

flow.loop

आउटपुट पोर्ट राउटिंग का उपयोग करके N बार चरण दोहराएं

Parameters:

NameTypeRequiredDefaultDescription
timesnumberYes1पुनरावृत्तियों की संख्या
targetstringNo-लक्ष्य चरण (अप्रचलित)
stepsarrayNo-प्रत्येक पुनरावृत्ति के लिए निष्पादित करने के चरण
index_varstringNoindexवर्तमान इंडेक्स के लिए वेरिएबल नाम

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (iterate/done)
outputsobjectपोर्ट द्वारा आउटपुट मान
iterationnumberवर्तमान पुनरावृत्ति
statusstringऑपरेशन स्थिति
resultsarrayएकत्रित परिणाम
countnumberकुल पुनरावृत्तियां

Example: Example

yaml
times: 3

Example: Example

yaml
times: 5
steps: [{"module": "browser.click", "params": {"selector": ".next"}}]

मर्ज

flow.merge

कई इनपुट को एक आउटपुट में मर्ज करें

Parameters:

NameTypeRequiredDefaultDescription
strategyselect (first, last, all)NoallHow to merge multiple inputs
input_countnumberNo2Number of ports

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (merged/error)
merged_dataanyमर्ज किया गया डेटा
input_countintegerइनपुट गणना
strategystringमर्ज रणनीति

Example: Example

yaml
strategy: all
input_count: 3

Example: Example

yaml
strategy: first
input_count: 2

समानांतर

flow.parallel

विभिन्न रणनीतियों के साथ समानांतर में कई कार्य निष्पादित करें

Parameters:

NameTypeRequiredDefaultDescription
tasksarrayYes-समानांतर में निष्पादित करने के लिए कार्य परिभाषाओं की सूची
modestringNoallसमानांतर में निष्पादित करने के लिए कार्य परिभाषाओं की सूची
timeout_msnumberNo60000Maximum wait time in milliseconds
fail_fastbooleanNoTrueपहली विफलता पर सभी कार्य रोकें (केवल mode=all के लिए)
concurrency_limitnumberNo0पहली विफलता पर सभी कार्य रोकें (केवल mode=all के लिए)

Output:

FieldTypeDescription
__event__stringअधिकतम समवर्ती कार्यों की संख्या (असीमित के लिए 0)
resultsarrayरूटिंग के लिए इवेंट (पूरा/आंशिक/त्रुटि)
completed_countnumberरूटिंग के लिए इवेंट (पूरा/आंशिक/त्रुटि)
failed_countnumberसभी कार्यों के परिणाम
total_countnumberसफलतापूर्वक पूर्ण कार्यों की संख्या
modestringअसफल कार्यों की संख्या
duration_msnumberकुल कार्यों की संख्या

Example: Example

yaml
tasks: [{"module": "http.get", "params": {"url": "https://api1.example.com"}}, {"module": "http.get", "params": {"url": "https://api2.example.com"}}]
mode: all
timeout_ms: 30000

Example: Example

yaml
tasks: [{"module": "http.get", "params": {"url": "https://mirror1.example.com"}}, {"module": "http.get", "params": {"url": "https://mirror2.example.com"}}]
mode: race

Example: Example

yaml
tasks: [{"module": "http.get", "params": {"url": "https://api1.example.com"}}, {"module": "http.get", "params": {"url": "https://might-fail.example.com"}}]
mode: settle

दर सीमा

flow.rate_limit

टोकन बकेट या स्लाइडिंग विंडो का उपयोग करके दर सीमा निष्पादन

Parameters:

NameTypeRequiredDefaultDescription
max_requestsnumberYes-प्रति विंडो अनुमत अधिकतम अनुरोधों की संख्या
window_msnumberNo60000मिलीसेकंड में समय विंडो
strategystringNotoken_bucketदर सीमित करने की रणनीति (टोकन बकेट या स्लाइडिंग विंडो)
queue_overflowstringNowaitजब कतार भरी हो तो व्यवहार (ड्रॉप या त्रुटि)

Output:

FieldTypeDescription
__event__stringरूटिंग के लिए इवेंट (अनुमत/सीमित)
tokens_remainingnumberबकेट में बचे हुए टोकन
window_reset_msnumberविंडो रीसेट होने तक का समय मिलीसेकंड में
requests_in_windownumberवर्तमान विंडो में अनुरोधों की संख्या
wait_msnumberअगले अनुमत अनुरोध से पहले प्रतीक्षा का समय मिलीसेकंड में

Example: Example

yaml
max_requests: 100
window_ms: 60000
strategy: token_bucket

Example: Example

yaml
max_requests: 10
window_ms: 1000
strategy: fixed_window
queue_overflow: error

Example: Example

yaml
max_requests: 50
window_ms: 30000
strategy: sliding_window
queue_overflow: wait

पुनः प्रयास करें

flow.retry

विफल ऑपरेशन्स को पुनः प्रयास करें, कॉन्फ़िगर करने योग्य बैकऑफ़ के साथ

Parameters:

NameTypeRequiredDefaultDescription
max_retriesnumberYes3पुनः प्रयासों की अधिकतम संख्या
initial_delay_msnumberNo1000पहले पुनः प्रयास से पहले प्रारंभिक विलंब (मिलीसेकंड में)
backoff_multipliernumberNo2.0घातीय बैकऑफ़ के लिए गुणक
max_delay_msnumberNo30000पुनः प्रयासों के बीच अधिकतम विलंब (मिलीसेकंड में)
retry_on_errorsarrayNo[]जिन त्रुटियों पर पुनः प्रयास करना है (खाली का अर्थ है सभी पर पुनः प्रयास)

Output:

FieldTypeDescription
__event__stringरूटिंग के लिए इवेंट (पुनः प्रयास/सफल/विफल)
attemptnumberवर्तमान प्रयास संख्या
max_retriesnumberकॉन्फ़िगर की गई अधिकतम पुनः प्रयास संख्या
delay_msnumberअगले पुनः प्रयास से पहले विलंब (मिलीसेकंड में)
total_elapsed_msnumberकुल व्यतीत समय (मिलीसेकंड में)
last_errorobjectअंतिम त्रुटि संदेश

Example: Example

yaml
max_retries: 3

Example: Example

yaml
max_retries: 10
initial_delay_ms: 500
backoff_multiplier: 1.5
max_delay_ms: 10000

Example: Example

yaml
max_retries: 5
initial_delay_ms: 2000
retry_on_errors: ["TIMEOUT", "RATE_LIMIT", "429", "503"]

प्रारंभ

flow.start

स्पष्ट वर्कफ़्लो प्रारंभ नोड

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (start)
started_atstringप्रारंभ समय
workflow_idstringवर्कफ़्लो ID

Example: Example

yaml

सबफ्लो

flow.subflow

बाहरी वर्कफ़्लो का संदर्भ लें और निष्पादित करें

Parameters:

NameTypeRequiredDefaultDescription
workflow_refstringYes-Text content to process
execution_modeselect (inline, spawn, async)NoinlineSelect an option
input_mappingobjectYes-Data object to process
output_mappingobjectNo{}Map internal variables to workflow output
timeoutnumberNo300000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (success/error)
resultanyनिष्पादन परिणाम
execution_idstringनिष्पादन ID
workflow_refstringवर्कफ़्लो संदर्भ

Example: Example

yaml
workflow_ref: workflows/validate_order
execution_mode: inline
input_mapping: {"order_data": "${input.order}"}
output_mapping: {"validation_result": "result"}

Example: Example

yaml
workflow_ref: workflows/send_notifications
execution_mode: spawn

स्विच

flow.switch

मान मिलान के आधार पर बहु-मार्ग ब्रांचिंग

Parameters:

NameTypeRequiredDefaultDescription
expressionstringYes-Value to match against cases (supports variable reference)
casesarrayYes[{'id': 'case_1', 'value': 'case1', 'label': 'Case 1'}]List of case definitions

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (case:value या default)
outputsobjectपोर्ट द्वारा आउटपुट मान
matched_casestringमिलान किया गया केस
valueanyमिलान किया गया मान

Example: Example

yaml
expression: ${api_response.status}
cases: [{"id": "case-1", "value": "success", "label": "Success"}, {"id": "case-2", "value": "pending", "label": "Pending"}, {"id": "case-3", "value": "error", "label": "Error"}]

Example: Example

yaml
expression: ${input.type}
cases: [{"id": "img", "value": "image", "label": "Image"}, {"id": "vid", "value": "video", "label": "Video"}, {"id": "txt", "value": "text", "label": "Text"}]

थ्रॉटल

flow.throttle

न्यूनतम अंतराल के साथ निष्पादन दर को थ्रॉटल करें

Parameters:

NameTypeRequiredDefaultDescription
interval_msnumberYes-निष्पादनों के बीच न्यूनतम समय (मिलीसेकंड में)
leadingbooleanNoTrueलीडिंग एज पर निष्पादित करें (पहली कॉल तुरंत पास होती है)

Output:

FieldTypeDescription
__event__stringरूटिंग के लिए इवेंट (निष्पादित/थ्रॉटल्ड)
last_execution_msnumberअंतिम अनुमत निष्पादन का टाइमस्टैम्प
calls_throttlednumberपिछले निष्पादन के बाद से थ्रॉटल की गई कॉल की संख्या
time_since_last_msnumberअंतिम निष्पादन के बाद से व्यतीत समय (मिलीसेकंड में)
remaining_msnumberअगले निष्पादन की अनुमति तक शेष मिलीसेकंड

Example: Example

yaml
interval_ms: 1000

Example: Example

yaml
interval_ms: 200
leading: true

Example: Example

yaml
interval_ms: 5000
leading: false

ट्रिगर

flow.trigger

वर्कफ़्लो प्रवेश बिंदु - मैनुअल, वेबहुक, शेड्यूल, या इवेंट

Parameters:

NameTypeRequiredDefaultDescription
trigger_typeselect (manual, webhook, schedule, event, mcp, polling)NomanualType of trigger event
webhook_pathstringNo-URL path for webhook trigger
schedulestringNo-Cron expression for scheduled trigger
event_namestringNo-Event name to listen for
tool_namestringNo-MCP tool name exposed to AI agents
tool_descriptionstringNo-Description shown to AI agents for this tool
poll_urlstringNo-API endpoint to poll for changes
poll_intervalnumberNo300How often to check for changes (minimum 60 seconds)
poll_methodselect (GET, POST)NoGETHTTP method for polling request
poll_headersobjectNo{}Custom headers for polling request (e.g. API keys)
poll_bodyobjectNo{}Request body for POST polling
dedup_keystringNo-JSON path to extract a unique value for deduplication
configobjectNo-Custom trigger config (for composites: LINE BOT, Telegram, Slack, etc.)
descriptionstringNo-Optional description text

Output:

FieldTypeDescription
__event__stringराउटिंग इवेंट (triggered/error)
trigger_dataobjectट्रिगर डेटा
trigger_typestringट्रिगर प्रकार
triggered_atstringट्रिगर समय

Example: Example

yaml
trigger_type: manual

Example: Example

yaml
trigger_type: webhook
webhook_path: /api/webhooks/order-created

Example: Example

yaml
trigger_type: schedule
schedule: 0 * * * *

Example: Example

yaml
trigger_type: mcp
tool_name: send-report
tool_description: Send a weekly summary report

Example: Example

yaml
trigger_type: polling
poll_url: https://api.example.com/items
poll_interval: 300
dedup_key: $.data[0].id

Released under the Apache 2.0 License.