Workflows
Overview
The Workflows feature enables you to chain 2+ MCP tools together into multi-step automated processes. Instead of manually executing tools one at a time and copying outputs between them, workflows orchestrate the entire sequenceโautomatically mapping outputs from one step as inputs to the next.
Perfect for testing complex scenarios, automating repetitive tasks, and validating multi-tool interactions in your MCP server implementations.
Key Capabilities
๐ Multi-Step Tool Chaining
Chain 2+ MCP tools where output from one feeds into the next
๐จ Visual Workflow Designer
Hybrid List + Inspector layout (master-detail interface)
๐บ๏ธ Intelligent Parameter Mapping
Three source types: previous step outputs, manual values, or runtime prompts
๐ JSON Property Selector
Browse button opens modal with clickable property tree from tool response schemas
๐ Array Iteration (Batch Processing)
Iterate over array elements with “Each”, “First”, or “Last” modes - execute steps once per array element
๐ Schema Analysis
Automatically extracts required parameters with split-view Required Parameters panel
โก Real-time Execution Progress
Animated indicator with step counter, tool name, and gradient progress bar
๐ Execution History
Last 10 executions saved per workflow with tabbed results viewer
๐ท๏ธ Property Highlighting
Mark properties to highlight in results for easy identification
๐ค Import/Export
Share workflows as JSON files with wider modal for readability
โ ๏ธ Configurable Error Handling
Choose per-step whether to stop or continue on error
๐ Connection Selection
Set default connection with ability to change per execution
Understanding Array Iteration (Batch Processing)
One of the most powerful workflow features is Array Iteration - the ability to automatically execute a workflow step multiple times, once for each element in an array from a previous step.
Why Array Iteration Matters
Without array iteration:
โ Manual approach:
1. Get list of 50 devices
2. Manually note first device ID
3. Run remediation tool with first ID
4. Manually note second device ID
5. Run remediation tool with second ID
6. Repeat 48 more times... ๐ซ
With array iteration:
โ
Automated approach:
1. Get list of 50 devices
2. Set up remediation step with "Each" mode
3. Execute workflow once
4. All 50 devices processed automatically! ๐
Real-World Use Cases
Device Management:
- Query noncompliant devices โ Remediate each one automatically
- List devices โ Fetch detailed properties for each
- Find devices by criteria โ Update configuration on each
User Administration:
- Get department members โ Send onboarding email to each
- Query inactive accounts โ Disable each one
- List license assignments โ Audit each user’s entitlements
Data Processing:
- Fetch file list โ Download each file
- Query database records โ Transform each record
- List API resources โ Validate each resource
Testing & Validation:
- Get test cases โ Execute each test
- List configurations โ Validate each config
- Fetch endpoints โ Health check each endpoint
How It Works Technically
When you configure a parameter with “From Previous Step” source and “Each” iteration mode:
- Workflow engine extracts the array from previous step’s output
- Counts total elements (e.g., 10 devices)
- Loops through each element automatically
- For each iteration:
- Creates a new tool invocation
- Passes the current element’s value as parameter
- Executes the tool
- Captures the result
- Continues to next element (or stops if error mode = Stop)
- Aggregates all results into execution history
- Reports final status (Completed or Partially Completed)
Performance Considerations
Execution time:
- Each iteration runs sequentially (not parallel)
- If one tool call takes 2 seconds, 10 iterations = ~20 seconds
- Factor this into workflow design
Result size:
- Each iteration produces its own result
- 100 iterations = 100 result sets
- Large batches may consume significant memory
- Consider pagination for very large arrays (split into multiple workflows)
Best practices:
- Test with small arrays first (5-10 elements)
- Use “First” mode to validate logic before “Each”
- Monitor execution progress indicator
- Set reasonable timeouts for long-running batches
Iteration Modes Compared
| Mode | Behavior | Iterations | Use Case |
|---|---|---|---|
| None | Extract literal path | 1 | When you want exactly array[0] |
| Each | Loop all elements | N (array length) | Batch processing |
| First | Get first element | 1 | Test or sample first item |
| Last | Get last element | 1 | Get most recent entry |
Getting Started
Step 1: Connect to a Server
Workflows require an active MCP connection to access tools.
- Navigate to ๐ Connections tab
- Configure and save a connection
- Return to ๐ Workflows tab
- Connection will be available for workflow execution
๐ธ Screenshot:
Description: Show the Workflows page header with “No connection” badge and the Connections button visible
Step 2: Create Your First Workflow
- Click โ New Workflow button in the top-right
- Enter a Workflow Name (required)
- Add an optional Description of what it does
- Select a Default Connection (can be changed at runtime)
- Click โ Add Step to create your first step
๐ธ Screenshot:
Description: Show the workflow editor with empty name/description fields and the “Add Step” button
Step 3: Add Workflow Steps
Each step executes one MCP tool and can use outputs from previous steps.
To add a step:
- Click โ Add Step
- Select a Tool from the dropdown
- Configure Parameter Mappings (see below)
- Set Error Handling mode (Stop or Continue)
- Add optional Notes for documentation
๐ธ Screenshot:
Description: Show a workflow step card with tool dropdown, parameter mappings section, error handling options, and notes field
Step 4: Map Parameters
For each tool parameter, choose where the value comes from:
Three mapping source types:
From Previous Step: Use output from an earlier step
- Select which step (or use previous)
- Enter JSON path (e.g.,
result.data[0].userId) - Click ๐ Browse to open Property Selector
Manual Value: Enter a constant value
- Type directly into the text field
- Useful for fixed configuration values
Prompt at Runtime: Ask for value during execution
- User will be prompted when workflow runs
- Ideal for dynamic or sensitive values
Array Iteration (when using From Previous Step):
When your property path references arrays, an Array Iteration dropdown appears giving you powerful batch processing capabilities. This feature allows a single workflow step to process multiple items from a previous step’s output.
Four iteration modes:
None (as-is) - Default behavior
- Extracts value exactly as specified in the path
- Use for paths with explicit array indexes:
data[0].id - No iteration occurs
Each - Batch processing
- Executes the current step once for each element in the array
- Most powerful mode for bulk operations
- Produces multiple results (one per array element)
- Ideal for processing lists of devices, users, files, etc.
First - Get first element
- Extracts only the first element from the array
- Equivalent to
array[0]but more explicit - Useful for “get the latest” scenarios
Last - Get last element
- Extracts only the last element from the array
- Useful for “get the most recent” scenarios
How It Works:
When you select “From Previous Step” as your parameter source:
- Choose which step to pull data from (or use “Previous Step”)
- Enter the JSON path (e.g.,
data[0].idor use ๐ Browse) - Select iteration mode from the dropdown (appears automatically for array paths)
- Save and execute - the step runs once or multiple times based on mode
Example: Processing Multiple Devices
If Step 1 (list_noncompliant_devices) returns:
{
"data": [
{ "id": "abc-123", "name": "Device 1", "os": "Windows" },
{ "id": "def-456", "name": "Device 2", "os": "macOS" },
{ "id": "ghi-789", "name": "Device 3", "os": "Linux" }
]
}
Step 2 configuration:
- Tool: remediate_device
- Parameter: deviceId
- Source: From Step 1
- JSON Path:
data[0].id - Array Iteration: Your choice determines behavior
Results by iteration mode:
| Mode | Executions | Values Passed | Use Case |
|---|---|---|---|
| None | 1 time | "abc-123" only | Process just the first device (literal [0]) |
| Each | 3 times | "abc-123", "def-456", "ghi-789" | Remediate ALL devices |
| First | 1 time | "abc-123" | Test remediation on first device only |
| Last | 1 time | "ghi-789" | Process most recently added device |
info: Key Difference: With None, you get
data[0].idliterally (first element). With Each, you get ALL elements’ IDs automatically - the step runs 3 separate times!
Selecting From Specific Steps:
You can reference arrays from any previous step, not just the immediately preceding one:
Example workflow:
Step 0: get_tenant_devices โ Returns 50 devices
Step 1: filter_by_compliance โ Returns 12 noncompliant devices
Step 2: get_device_details โ Gets details for one device
โโ deviceId: [From Step 1] data[0].id
โโ Array Iteration: Each โ Runs 12 times (once per noncompliant device)
Step 2 references Step 1 (skipping Step 0) to process the filtered list.
Nested Arrays:
The iteration mode applies to the first array encountered in your property path.
Example path: devices[0].alerts[0].id
- Selecting “Each” iterates over the
devicesarray - Each execution receives:
devices[0].alerts[0].id,devices[1].alerts[0].id,devices[2].alerts[0].id, etc. - To iterate over the nested
alertsarray, create a separate step
Multi-level iteration workflow:
Step 1: get_devices
Returns: { "devices": [ { "alerts": [...] }, { "alerts": [...] } ] }
Step 2: process_device_alerts
โโ device: [From Step 1] devices[0]
โโ Array Iteration: Each โ Iterates devices array
Step 3: handle_alert
โโ alert: [From Step 2] alerts[0]
โโ Array Iteration: Each โ Iterates alerts within each device
This creates a nested loop: Step 2 runs once per device, Step 3 runs once per alert in each device.
๐ธ Screenshot:
Description: Show parameter mapping interface with the three source type options and an example JSON path entered
Step 5: Use JSON Property Selector
The ๐ Browse button helps you discover available properties from previous steps.
How to use:
- Click ๐ Browse next to a parameter mapping
- Modal opens showing the tool response schema
- Browse the property tree with nested objects/arrays
- Click a property to select it
- JSON path is automatically inserted (e.g.,
result.items[0].id)
๐ธ Screenshot:
Description: Show the JSON Property Selector modal with an expanded property tree displaying nested objects and arrays, with some properties highlighted as clickable
info: Smart Paths: The selector handles nested objects and array indexing automatically. Click
itemsโ[0]โidto getresult.items[0].id.
Step 6: Save and Execute
Once your workflow is configured:
- Click ๐พ Save in the workflow editor
- Workflow appears in the left panel list
- Select the workflow to view details
- Choose a Connection (if different from default)
- Click โถ๏ธ Execute Workflow
- Watch real-time progress indicator
- View results in tabbed interface
๐ธ Screenshot:
Description: Show the workflow detail view with the Execute button, connection selector, and the execution progress interface with animated spinner
Workflow Execution
Real-time Progress Tracking
During execution, you’ll see:
Progress elements:
- Animated spinner icon (rotating)
- Step counter: “Executing Step 2 of 5”
- Tool name: Which tool is currently running
- Progress bar: Gradient showing completion percentage
- Status updates: Real-time step completion
๐ธ Screenshot:
Description: Show the progress indicator with all elements visible: spinner, step counter “Executing Step 2 of 4”, tool name, and gradient progress bar at 50%
Auto-Connect Feature
If the selected connection isn’t active:
- Workflow execution automatically connects
- You see “Connecting…” status
- Once connected, steps begin executing
- No manual intervention needed
This ensures workflows always run with fresh connections!
Execution Results Viewer
After execution completes, results are displayed in horizontal tabs:
Tab format:
[Step 1: get_user โ] [Step 2: update_profile โ] [Step 3: send_email โ]
Status badges:
- โ Success
- โ Error
- โฑ Running (during execution)
Each tab shows:
- Tool name
- Execution status
- JSON response from that step
- Highlighted properties (if configured)
- Execution timestamp
- Duration
๐ธ Screenshot:
Description: Show the horizontal tabs with 3-4 steps, some with success checkmarks and one with an error X. Below the tabs, show the JSON response for the selected step
Execution History
MCP Explorer automatically saves the last 10 executions per workflow.
To view history:
- Select a workflow from the list
- Scroll to Execution History section
- Click any execution to view its results
- Compare results across runs
- Debug failures by reviewing previous attempts
Each history entry shows:
- Execution timestamp
- Final status (Completed/Failed/Partially Completed)
- Duration
- Step count
- Connection used
๐ธ Screenshot:
Description: Show a list of execution history entries with timestamps, status badges, and durations. One entry should be selected/expanded showing its full results
Advanced Features
Property Highlighting
Mark specific JSON properties to highlight in execution results.
How to use:
- Edit your workflow
- Scroll to Highlighted Properties section
- Enter JSON paths to highlight (one per line)
- Example:
result.userId - Example:
data[0].email
- Example:
- Save workflow
- Execute workflow
- Highlighted properties appear with visual emphasis
Use cases:
- Focus on key business data
- Identify important IDs or references
- Debug specific field values
- Create visual documentation
๐ธ Screenshot:
Description: Show the Highlighted Properties configuration field with a few paths entered, and then show execution results with those properties visually highlighted (bold, colored background, or similar)
Error Handling Modes
Configure per-step behavior when errors occur:
Stop on Error (default):
- Workflow stops immediately if step fails
- No subsequent steps execute
- Useful for dependent operations
- Final status: Failed
Continue on Error:
- Workflow continues to next step even if this step fails
- Useful for optional operations
- Allows partial completion
- Final status: Partially Completed
To configure:
- Edit a workflow step
- Find Error Handling dropdown
- Select “Stop on Error” or “Continue on Error”
- Save workflow
Example scenario:
Step 1: Get user data [Stop on Error]
Step 2: Update profile [Stop on Error]
Step 3: Send notification [Continue on Error] โ Optional
Step 4: Log activity [Continue on Error] โ Optional
Import/Export Workflows
Share workflows with team members or back them up as JSON files.
To export:
- Select a workflow from the list
- Click ๐ค Export button
- JSON file downloads (e.g.,
my-workflow.json) - Share the file via email, Git, or other methods
To import:
- Click ๐ฅ Import button
- Select a workflow JSON file
- Workflow is added to your list
- Edit as needed to match your connections/tools
Export includes:
- Workflow name and description
- All steps and parameter mappings
- Error handling configuration
- Highlighted properties
- Notes and documentation
Export excludes:
- Execution history (not portable)
- Actual tool responses (too large)
๐ธ Screenshot:
Description: Show the Import/Export buttons in the header, and a wider modal displaying JSON export content in a readable format
Connection Flexibility
Change connections at execution time without editing the workflow.
Default connection:
- Set when creating workflow
- Automatically selected for execution
- Can be changed per run
Runtime connection:
- Select workflow
- View details panel
- Choose Connection dropdown
- Select different connection
- Click Execute
- Workflow runs with chosen connection
Use cases:
- Test against dev/staging/prod servers
- Compare behavior across environments
- Use different authentication contexts
- Switch between local and remote servers
Required Parameters Panel
The workflow editor displays a Required Parameters panel as a visual reminder.
Features:
- Split-view layout
- Automatically extracted from tool schemas
- Shows all required fields with asterisks (*)
- Updates as you select different tools
- Helps prevent missing parameter errors
๐ธ Screenshot:
Description: Show the split-view editor with the Required Parameters panel on the right side listing required fields for the selected tool
Common Workflows
Example 1: User Data Pipeline
Goal: Fetch user data, update profile, send notification
Step 1: get_user
โโ Parameters:
โ โโ userId: [Manual Value] "12345"
โโ Error: Stop on Error
Step 2: update_profile
โโ Parameters:
โ โโ userId: [From Step 1] result.id
โ โโ email: [Manual Value] "new@example.com"
โโ Error: Stop on Error
Step 3: send_notification
โโ Parameters:
โ โโ userId: [From Step 1] result.id
โ โโ message: [Manual Value] "Profile updated"
โโ Error: Continue on Error
Result: User fetched, profile updated, notification attempted (non-critical)
Example 2: Multi-Environment Testing
Goal: Test tool behavior across dev and prod
Workflow: "Cross-Environment Validation"
Default Connection: "Dev Server"
Step 1: validate_config
โโ Error: Stop on Error
Step 2: run_health_check
โโ Error: Stop on Error
Execution:
- Run with “Dev Server” โ Baseline results
- Change to “Prod Server” โ Compare results
- Review execution history to identify differences
Example 3: Data Transformation Chain
Goal: Fetch, transform, and store data
Step 1: fetch_raw_data
โโ Parameters:
โ โโ source: [Prompt at Runtime]
โโ Error: Stop on Error
Step 2: transform_data
โโ Parameters:
โ โโ input: [From Step 1] result.rawData
โโ Error: Stop on Error
Step 3: validate_schema
โโ Parameters:
โ โโ data: [From Step 2] result.transformed
โโ Error: Stop on Error
Step 4: store_data
โโ Parameters:
โ โโ data: [From Step 2] result.transformed
โโ Error: Stop on Error
Highlighted Properties:
result.recordCount
result.validationErrors
result.storageLocation
Example 4: Batch Processing with Array Iteration
Goal: Process multiple devices returned from a query
Workflow Configuration:
Step 1: list_noncompliant_devices
โโ Parameters:
โ โโ complianceState: [Manual Value] "Noncompliant"
โโ Error: Stop on Error
Returns:
{
"data": [
{ "id": "abc-123", "deviceName": "Device1", "issue": "outdated_os" },
{ "id": "def-456", "deviceName": "Device2", "issue": "missing_patch" },
{ "id": "ghi-789", "deviceName": "Device3", "issue": "config_drift" }
]
}
Step 2: remediate_device
โโ Parameters:
โ โโ deviceId: [From Step 1] data[0].id
โ Array Iteration: Each โ KEY: Enables batch processing
โโ Error: Continue on Error โ KEY: Don't stop if one device fails
Execution Behavior:
With Array Iteration: Each, Step 2 executes 3 separate times:
| Execution | deviceId Value | Result |
|---|---|---|
| Execution 1 | "abc-123" | โ Success |
| Execution 2 | "def-456" | โ Failed (continues due to error mode) |
| Execution 3 | "ghi-789" | โ Success |
Final Workflow Status: Partially Completed (2 of 3 succeeded)
Comparison of Iteration Modes:
| Mode | Step Executions | Devices Processed | When To Use |
|---|---|---|---|
| Each | 3 times | All 3 devices | Production remediation - process entire list |
| First | 1 time | Device 1 only | Testing - validate remediation on first device |
| Last | 1 time | Device 3 only | Latest entry - process most recently added |
| None | 1 time | Device 1 only | Literal path - when you specifically want [0] |
Advanced: Multi-Parameter Array Iteration
You can use array iteration for multiple parameters from the same step:
Step 2: update_device
โโ Parameters:
โ โโ deviceId: [From Step 1] data[0].id
โ โ Array Iteration: Each
โ โโ deviceName: [From Step 1] data[0].deviceName
โ โ Array Iteration: Each
โ โโ issue: [From Step 1] data[0].issue
โ Array Iteration: Each
โโ Error: Continue on Error
Result: All three parameters iterate together - each execution gets matching values:
- Execution 1: id=
abc-123, name=Device1, issue=outdated_os - Execution 2: id=
def-456, name=Device2, issue=missing_patch - Execution 3: id=
ghi-789, name=Device3, issue=config_drift
warning: Consistency Required: When using multiple parameters with “Each” iteration from the same source step, ensure all paths reference the same array structure. Mixing different arrays will cause unpredictable behavior.
Example 5: Referencing Specific Steps for Array Iteration
Goal: Filter devices, then process only the filtered results
Workflow Configuration:
Step 0: get_all_devices
โโ Parameters:
โ โโ tenantId: [Manual Value] "tenant-xyz"
โโ Error: Stop on Error
Returns:
{
"devices": [
{ "id": "dev-1", "name": "Device 1", "compliant": true },
{ "id": "dev-2", "name": "Device 2", "compliant": false },
{ "id": "dev-3", "name": "Device 3", "compliant": true },
{ "id": "dev-4", "name": "Device 4", "compliant": false },
{ "id": "dev-5", "name": "Device 5", "compliant": false }
]
}
// 5 total devices
Step 1: filter_noncompliant_devices
โโ Parameters:
โ โโ devices: [From Step 0] devices
โโ Error: Stop on Error
Returns:
{
"filtered": [
{ "id": "dev-2", "name": "Device 2", "compliant": false },
{ "id": "dev-4", "name": "Device 4", "compliant": false },
{ "id": "dev-5", "name": "Device 5", "compliant": false }
]
}
// 3 noncompliant devices
Step 2: get_device_details
โโ Parameters:
โ โโ deviceId: [From Step 1] filtered[0].id โ References Step 1, not Step 0
โ Array Iteration: Each โ Processes 3 devices, not 5
โโ Error: Continue on Error
Key Insight: Step 2 references Step 1 specifically, not “Previous Step”. This ensures we only process the filtered 3 devices, not all 5 from Step 0.
Execution Flow:
- Step 0 fetches 5 total devices
- Step 1 filters down to 3 noncompliant devices
- Step 2 runs 3 times (once per filtered device)
Why reference specific steps?
- Precision: Process exactly the data you need
- Flexibility: Skip intermediate transformation steps
- Clarity: Makes data flow explicit in complex workflows
Example 6: Testing Error Recovery
Goal: Validate graceful degradation
Step 1: critical_operation
โโ Error: Stop on Error
Step 2: optional_cache_update
โโ Error: Continue on Error
Step 3: optional_logging
โโ Error: Continue on Error
Step 4: final_cleanup
โโ Error: Stop on Error
Expected behavior:
- If Step 1 fails โ Entire workflow stops
- If Step 2 fails โ Workflow continues to Step 3
- If Step 3 fails โ Workflow continues to Step 4
- If Step 4 fails โ Workflow marked as Failed
Managing Workflows
Workflow List Panel
The left panel shows all your workflows:
List features:
- Ordered by most recently modified
- Shows workflow name
- Displays step count
- Shows description (if provided)
- Displays last modified timestamp
- Click to select and view details
๐ธ Screenshot:
Description: Show the left panel with 4-5 workflows listed, showing names, step counts, descriptions, and timestamps. One workflow should be selected/highlighted
Editing Workflows
To edit an existing workflow:
- Select workflow from list
- Click โ๏ธ Edit button (in detail panel)
- Modify name, description, or steps
- Adjust parameter mappings
- Change error handling modes
- Click ๐พ Save
While editing:
- Add/remove/reorder steps
- Use โ/โ arrows to move steps
- Delete steps with ๐ button
- All changes are draft until saved
- Click โ Cancel to discard changes
๐ธ Screenshot:
Description: Show the workflow editor in edit mode with multiple steps, up/down arrows visible, delete buttons, and Save/Cancel buttons at the top
Deleting Workflows
To delete a workflow:
- Select workflow from list
- Click ๐ Delete button
- Confirm deletion in prompt
- Workflow and its execution history are permanently removed
warning: No Undo: Deletion is permanent. Export workflows before deleting if you might need them later.
Reordering Steps
Change the execution order of steps:
Move step up:
- Click โ arrow on step card
- Step moves up one position
- Step numbers automatically renumber
Move step down:
- Click โ arrow on step card
- Step moves down one position
- Step numbers automatically renumber
Important: Parameter mappings referencing “previous step” adjust automatically when reordering.
Troubleshooting
Workflow Won’t Execute
Problem: Execute button is disabled or execution fails immediately
Solutions:
- Ensure a connection is selected (check dropdown)
- Verify connection is available (may need to create first)
- Check that workflow has at least 2 steps
- Ensure all required parameters are mapped
- Review console for detailed error messages
Parameter Mapping Errors
Problem: Step fails with “missing parameter” error
Solutions:
- Check parameter mapping source type is correct
- Verify JSON path is valid (use Property Selector)
- Ensure referenced step completed successfully
- Test JSON path against actual response structure
- Use Manual Value temporarily to debug
- Check for typos in property names (case-sensitive)
JSON Property Selector Empty
Problem: Property Selector modal shows no properties
Solutions:
- Ensure previous steps have executed at least once
- Check that referenced step returned a response
- Verify tool actually returns structured data
- Try executing workflow once to populate schemas
- Manually enter JSON path if you know the structure
Execution History Missing
Problem: No history entries appear for workflow
Solutions:
- Execute workflow at least once
- Check that execution completed (not still running)
- Verify browser storage is enabled
- Review console for storage errors
- History limited to last 10 executions (older ones removed)
Connection Auto-Connect Fails
Problem: Workflow can’t connect automatically during execution
Solutions:
- Verify connection configuration is correct
- Test connection manually in Connections tab first
- Check authentication credentials are valid
- Ensure server is reachable and running
- Review connection logs for specific errors
- Try connecting manually before executing workflow
Array Iteration Not Working
Problem: Step executes only once even with “Each” mode selected
Solutions:
- Verify the JSON path actually points to an array
- Check that previous step returned array data (not null/empty)
- Ensure array path uses
[0]syntax (e.g.,data[0].id) - Test property path in Property Selector first
- Review step execution results to see actual data structure
- Confirm iteration mode is saved (check after reopening workflow)
- Verify the referenced step completed successfully
How to debug:
1. Execute workflow once
2. View the source step's results in execution history
3. Verify it returns an array: {"data": [...]}
4. Copy the JSON path exactly as shown in results
5. Use ๐ Browse button to validate path
Wrong Array Elements Processed
Problem: “Each” mode processes wrong elements or in wrong order
Solutions:
- Ensure JSON path is correct (case-sensitive property names)
- Check array indexing:
data[0]vsdatavs[0] - Verify you’re referencing the correct step (not previous by accident)
- Review source step results to confirm array structure
- Use Property Selector to discover correct path
- Check for nested arrays - iteration applies to first array found
Common path mistakes:
- โ
data.id(missing array index) - โ
Data[0].id(wrong case - should bedata) - โ
data[0](missing property after index) - โ
data[0].id(correct format)
Multiple Parameters With Array Iteration
Problem: Parameters don’t iterate together correctly
Solutions:
- Ensure all “Each” parameters reference same source step
- Verify all paths point to same array (e.g., all use
data[0]) - Check that array has sufficient elements for all properties
- Don’t mix “Each” with “First/Last/None” on same array
- Test with single parameter first, then add more
Example of correct multi-parameter iteration:
โ
CORRECT:
- param1: [From Step 1] data[0].id (Each)
- param2: [From Step 1] data[0].name (Each)
- param3: [From Step 1] data[0].status (Each)
โ WRONG:
- param1: [From Step 1] data[0].id (Each)
- param2: [From Step 2] devices[0].name (Each) โ Different step!
- param3: [From Step 1] data[0].status (First) โ Different mode!
Steps Execute Out of Order
Problem: Steps seem to run in wrong sequence
Solutions:
- Check step numbers (should be sequential: 0, 1, 2…)
- Use โ/โ arrows to reorder if needed
- Verify you’re viewing the correct workflow
- Save workflow after reordering
- Clear execution history and run again
Tips & Best Practices
๐ Test Array Iteration First
Start with “First” mode to test your step logic, then change to “Each” for full batch processing.
โ ๏ธ Use Continue on Error for Batch
When using “Each” iteration, set error mode to “Continue” to avoid one failure stopping entire batch.
๐ Reference Specific Steps
Use explicit step references (Step 1, Step 2) instead of “Previous” for clearer data flow in complex workflows.
๐ Validate Array Paths
Always use the ๐ Browse button first to discover correct array paths - avoids typos and case issues.
๐ Monitor Batch Progress
Watch the execution progress bar - it shows completion percentage across all array iterations.
๐ฏ One Array Per Step
Keep workflows simple - process one array type per step rather than nested arrays in single step.
๐พ Export Regularly
Begin with 2-3 steps before building complex workflows. Test each step individually first.
๐ Use Descriptions
Document what each workflow does and why. Future you will thank present you.
๐ Test Parameter Paths
Execute workflow once, then use Property Selector to discover actual response structure.
โญ Mark Critical Steps
Use “Stop on Error” for dependencies, “Continue on Error” for optional operations.
๐พ Export Regularly
Back up important workflows as JSON files to prevent accidental loss.
๐ One Workflow Per Scenario
Create separate workflows for different use cases rather than one complex workflow.
๐ Highlight Key Properties
Use property highlighting to focus on important data in execution results.
๐ Compare Executions
Keep execution history to track changes in tool behavior over time.
๐งช Test Error Modes
Intentionally trigger failures to verify error handling behaves as expected.
๐ Document with Notes
Use the Notes field on steps to explain complex parameter mappings or logic.
Related Pages
Work with Tools First
Before creating workflows, familiarize yourself with tools:
Configure Connections
Workflows require active connections:
Understand Concepts
Learn about MCP architecture:
Use in Chat
Reference workflows when chatting with AI:
Next Steps
Now that you understand workflows:
- Create your first workflow - Start with a simple 2-step chain
- Map parameters - Learn the three mapping source types
- Execute and review results - See your workflow in action
- Export and share - Back up your workflows as JSON
Workflows unlock the full power of MCP tool chaining! ๐