Advanced Features
Multiple Entry Points
Workflows can have multiple entry points for different triggers:
{
"entrypoints": [
{
"id": "web-request",
"name": "Handle Web Request",
"startAt": "validate-request",
"guards": [
{
"condition": "{{payload.method}} == 'POST'",
"error": "Only POST requests allowed"
}
]
},
{
"id": "scheduled-task",
"name": "Daily Cleanup",
"startAt": "cleanup-data"
},
{
"id": "default",
"name": "Default behavior if no entrypoint in script parameters",
"startAt": "default-start-step"
}
]
}
Run specific entry points:
nexroo run config.json web-request
nexroo run config.json scheduled-task
If no entrypoint selected, it will use the "default" entrypoint.
nexroo run config.json
Queue Management & Iteration Control
The engine includes run limits to prevent infinite loops and control execution flow:
Step Run Limits
{
"id": "limited-step",
"runLimit": 5,
"action": "template::process_data",
"condition": {
"if": "{{step-data.output.hasMore}} == true",
"then": "limited-step",
"else": "completion-step"
}
}
runLimit values:
- Positive integer: Step can execute up to that many times
1(default): Step executes only once-1: Infinite execution (no limit)
Note: The engine has a global safety limit of 1000 total iterations per workflow execution to prevent infinite loops. This applies regardless of individual step runLimit values.
For detailed information on flow control, see:
- Flow Control & Conditions - Comprehensive guide to conditional logic, loops, and branching
Addon Testing & Validation
The engine automatically tests addons during initialization:
Automatic Addon Testing
{
"addons": [
{
"id": "my-addon-instance",
"type": "addon-name",
"enabled": true,
"config": {
"base_url": "https://api.example.com",
"timeout": 30
},
"secrets": {
"api_key": "API_KEY"
}
}
]
}
Addon registering process:
- Configuration Validation: Validates addon config against schema
- Connectivity Test: Calls addon's
test()method - Action Registration: Registers addon methods as workflow actions.
Addon Status Tracking
View addon status in observability data, by default in '/observe/' folder:
{
"addon_summary": {
"api-service": {
"load_status": "success",
"test_result": true,
"registered_actions": ["rest_api::get", "rest_api::post"],
"package_version": "1.2.3",
"test_duration_ms": 245
}
}
}
For comprehensive addon and observability information, see:
- Addons & Actions - Complete guide to built-in actions, custom addons, and configuration
- Observability & Monitoring - Detailed monitoring, metrics, and addon status tracking
- Testing & Development - Mock mode, dry-run analysis, and development workflows
Related Documentation
Workflow Design & Development
- Workflow Structure - Complete configuration reference for addons, entrypoints, and workflows
- Template System - Variable resolution, external data access (
{{payload}},{{user}}), and dynamic parameters - Flow Control & Conditions - Conditional logic, loops, parallel execution, and branching strategies