Label
The Label activity is used as a marker for the workflow for the Go To nodes.
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
info
if ContinueOnError property is true, no error is caught when the project is executed even if Catch node is used.
How It Works
The Label node serves as a destination marker for Go To nodes in your workflow:
- During flow initialization, the Label node registers itself in the flow's label registry
- The Label subscribes to messages from any Go To nodes that target it
- When a Go To node executes and targets this Label:
- The message is routed to this Label node
- Execution continues from this point in the workflow
- The Label node passes the message through unchanged
- When the flow closes, the Label unsubscribes and clears its registrations
Requirements
- Label node must be present in the workflow before Go To nodes can reference it
- The Label's name should be unique and descriptive for easy identification
- At least one Go To node should target this Label for it to be useful
Error Handling
| Error Code | Description | Solution |
|---|---|---|
| Core.Triggers.Label.ErrOnCreate | Failed to parse node configuration | Verify node configuration is valid JSON |
| Core.Flow.Label.ErrSubscribe | Failed to subscribe to Go To messages | Check messaging system is functioning properly |
| Core.Triggers.Label.ErrOnMessage | Message parsing failed during execution | Check that input message format is valid |
Usage Examples
Example 1: Error Recovery Point
Create a recovery point for error handling:
[Start Process]
↓
[Try API Call]
↓ (error caught)
[Log Error]
↓
[Wait 5 seconds]
↓
[Go To: "RetryPoint"]
↓
[Label: "RetryPoint"] ← Execution resumes here
↓
[Try API Call again]
Example 2: Loop Start Marker
Mark the beginning of a processing loop:
[Label: "LoopStart"] ← Loop begins here
↓
[Get Next Item]
↓
[Process Item]
↓
[Check if More Items]
↓ (yes)
[Go To: "LoopStart"] ← Jump back to Label
↓ (no)
[Continue to next step]
Example 3: Workflow Section Entry Points
Mark different sections of a workflow for conditional execution:
[Check User Role]
↓
[If Admin: Go To "AdminSection"]
[If User: Go To "UserSection"]
[If Guest: Go To "GuestSection"]
↓
[Label: "AdminSection"] → [Admin Tasks] → [Go To "End"]
[Label: "UserSection"] → [User Tasks] → [Go To "End"]
[Label: "GuestSection"] → [Guest Tasks] → [Go To "End"]
↓
[Label: "End"] → [Common Tasks]
Usage Notes
- When
Continue On Erroris enabled, errors are not caught even if a Catch node is present - Label nodes do not modify the message payload
- Multiple Go To nodes can target the same Label
- The Label name (set via the Name property) is used by Go To nodes to identify it
- Labels create subscription-based message routing for efficient execution
- Unused Labels (not targeted by any Go To node) simply pass messages through
Tips
- Use descriptive names for Labels that clearly indicate their purpose (e.g., "RetryStart", "LoopBegin", "ErrorHandler")
- Place Labels at the beginning of logical workflow sections
- Document the purpose of each Label with a Comment node
- Avoid creating too many Labels - they can make the flow harder to follow
- Consider using Labels to create reusable workflow sections that can be reached from multiple points
- Use Labels in combination with decision nodes for clean conditional branching
- Test all paths to Labels to ensure they work as expected
- Name Labels consistently across your organization for better code maintainability