1.8 KiB
1.8 KiB
Understanding Conditional Branching
Learn how to create workflows that take different paths based on data conditions, making your workflows more intelligent and adaptive.
What is Conditional Branching?
Conditional branching allows workflows to:
- Make decisions: Choose different processing paths based on data
- Handle variations: Process different content types differently
- Optimize performance: Skip unnecessary steps for certain inputs
- Customize behavior: Provide different experiences based on conditions
Real-World Example
Imagine a content processing workflow that:
- Short content (< 50 words): Gets quick processing
- Medium content (50-200 words): Gets standard processing
- Long content (> 200 words): Gets detailed processing with extra analysis
Basic Branching Syntax
.branch([
[condition1, step1],
[condition2, step2],
[condition3, step3]
])
Where:
- condition: An async function that returns
trueorfalse - step: The step to execute if the condition is
true
Condition Functions
Conditions are functions that examine the input data:
// Example condition function
async ({ inputData }) => {
return inputData.wordCount < 50;
};
Multiple Paths
- If multiple conditions are
true, all matching steps run in parallel - If no conditions are
true, the workflow continues without executing any branch steps - Conditions are evaluated in order, but matching steps run simultaneously
Benefits
- Smart routing: Send data down the most appropriate path
- Performance: Skip expensive operations when not needed
- Flexibility: Handle different scenarios in one workflow
- Maintainability: Clear logic for different processing paths
Next, you'll create a workflow with conditional branches!