Utility Nodes
Utility nodes provide essential supporting functions for workflow development, debugging, and dynamic data generation in ANDRON.
Utility nodes provide essential supporting functions for workflow development, debugging, and dynamic data generation in ANDRON.
Log Message Node
Capture and record detailed workflow execution information for debugging and monitoring.
Configuration
- Log Level:
info: Standard informational messagesdebug: Detailed diagnostic informationwarn: Potential issues or unexpected scenarioserror: Critical error reporting
- Message Template: Configurable log message with dynamic interpolation
- Context Data: Optional additional metadata to include in log
- Destination:
console: Log to system consoleworkflow: Persist in workflow execution historyexternal: Send to configured logging service
Example
{
"type": "logMessage",
"name": "Workflow Progress Tracking",
"logLevel": "info",
"message": "Processing user {{user.id}} with status {{user.status}}",
"context": {
"workflowRunId": "{{workflow.runId}}",
"timestamp": "{{system.timestamp}}"
},
"destination": ["console", "workflow"]
}
Use Cases
- Workflow debugging
- Execution tracing
- Performance monitoring
- Audit trail generation
Random Number Node
Generate cryptographically secure random values with flexible configuration.
Configuration
- Generator Type:
integer: Whole number generationfloat: Decimal number generationuuid: Universally unique identifiertoken: Secure random token
- Range Configuration:
min: Minimum possible valuemax: Maximum possible valueprecision: Decimal place precision
- Seed: Optional deterministic seed for reproducibility
Example
{
"type": "randomNumber",
"name": "Order Number Generation",
"generatorType": "integer",
"min": 10000,
"max": 99999,
"prefix": "ORD-"
}
Use Cases
- Unique identifier generation
- Randomized testing
- Simulation and sampling
- Security token creation
Timestamp Node
Advanced date and time manipulation with comprehensive formatting options.
Configuration
- Operation Type:
now: Current timestampparse: Convert string to timestampformat: Transform timestamp formatcalculate: Date arithmetic
- Input Format: Source timestamp format
- Output Format:
iso8601: Standard international formatrfc2822: Email timestamp standardunix: Seconds since epochcustom: Configurable format string
- Timezone: Optional timezone conversion
Example
{
"type": "timestamp",
"name": "Expiration Calculation",
"operation": "calculate",
"baseTimestamp": "{{current.timestamp}}",
"duration": {
"value": 30,
"unit": "days"
},
"outputFormat": "iso8601"
}
Use Cases
- Expiration date calculation
- Event scheduling
- Compliance timestamp generation
- International time conversion
Code Node
Execute custom JavaScript with secure, sandboxed environment for advanced logic.
Configuration
- Execution Mode:
synchronous: Blocking executionasynchronous: Non-blocking with Promise support
- Input Bindings: Inject workflow context into code
- Security Sandbox:
- Restricted global object
- Prevented access to sensitive APIs
- Timeout protection
- Return Type: Specify expected output type
- Error Handling: Configurable error strategies
Example
{
"type": "code",
"name": "Complex Data Transformation",
"code": `
const processedData = input.data.map(item => ({
...item,
fullName: \`\${item.firstName} \${item.lastName}\`
}));
return processedData;
`,
"inputBindings": {
"data": "{{sourceCollection}}"
},
"timeout": 5000
}
Use Cases
- Custom data transformation
- Complex computational logic
- Integration with external libraries
- Dynamic workflow customization
Error Handling
- Comprehensive error detection
- Configurable error reporting levels
- Graceful failure modes
- Detailed error context preservation
- Optional retry mechanisms
Performance Considerations
- Efficient memory management
- Configurable execution complexity limits
- Optimized random generation algorithms
- Minimal overhead for utility operations
- Intelligent caching of deterministic operations
Security Notes
- Strict input validation
- Sandboxed execution environments
- Prevention of unsafe operations
- Configurable execution constraints
- Secure random number generation
Advanced Features
- Dynamic context injection
- Extensible plugin architecture
- Internationalization support
- Configurable precision modes
- Flexible type coercion
Precision and Limitations
- Random generation: Cryptographically secure
- Code execution: 5-second default timeout
- Timestamp precision: Millisecond level
- Input size limits to prevent resource exhaustion
Last updated: 12/2/2025