Node Structure
Every node follows this structure:| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier within the flow |
type | string | Yes | One of the 12 supported node types |
log | boolean | No | Enable runtime logging for this node (default: true) |
config | object | Yes | Configuration specific to the node type |
Runtime Logging
Every node supports thelog field to control runtime logging:
log is enabled (default), the system captures:
- Input: Request data and trigger context before execution
- Output: Node result after successful execution
- Errors: User-friendly error messages (sensitive details are sanitized)
log: false to disable runtime logging for a node. This is useful for:
- Nodes processing sensitive data (passwords, tokens, PII)
- High-frequency operations where logging overhead matters
- Reducing log storage for verbose nodes
Node Categories
Control Flow
Control how execution proceeds through your flow.Data Manipulation
Store and transform data in the execution context.HTTP/Network
Make outbound HTTP requests to external services.| Node | Description |
|---|---|
| http | Make HTTP requests with full control over method, headers, body |
Queue
Send messages for asynchronous processing.| Node | Description |
|---|---|
| enqueue | Send messages to queue handlers for background processing |
Response/Abort
Control how the flow responds or terminates.Timing
Control execution timing.| Node | Description |
|---|---|
| delay | Pause execution for a specified duration |
Validation
Validate incoming data.| Node | Description |
|---|---|
| request | Validate data against a schema with 32 built-in rules |
Node Outputs
After a node executes, its output is stored in the context under{node_id}.output:
After “fetch_user” node executes: