Generate UUID
Generates a new random UUID (Universally Unique Identifier) in standard format.
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 the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.
Inputs
This node does not require any inputs.
Options
This node does not have configurable options.
Output
- UUID - A randomly generated UUID string in format:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
How It Works
The Generate UUID node creates a new UUID (Version 4):
- Format: 8-4-4-4-12 hexadecimal digits separated by hyphens
- Length: Always 36 characters (32 hex digits + 4 hyphens)
- Randomness: 122 bits of randomness
- Uniqueness: Virtually guaranteed to be globally unique
- Standard: Follows RFC 4122 specification
Example UUID: 550e8400-e29b-41d4-a716-446655440000
Usage Examples
Example 1: Generate UUID
- UUID:
"f47ac10b-58cc-4372-a567-0e02b2c3d479"(example, each run produces different UUID)
Example 2: Generate Another UUID
- UUID:
"6ba7b810-9dad-11d1-80b4-00c04fd430c8"(different from above)
Tips
- Use for unique identifiers across distributed systems
- Perfect for database primary keys
- Great for correlation IDs in logs and traces
- Globally unique - can be generated independently without coordination
- Random - Version 4 UUID (not timestamp-based)
- No collisions - probability of collision is negligible
- Use for file naming when uniqueness is critical
Common Use Cases
Why NOT use this node:
- Performance is critical and you need shorter IDs
- You need sequential IDs
- You need human-readable IDs
When TO use this node:
- Need guaranteed uniqueness across systems
- Distributed ID generation
- Tracking records across systems
- Unique file identifiers
Practical RPA Examples
Example: Generate Order ID
GenerateUUID: "a3bb189e-8bf9-3888-9912-ace4e6543002"
Prefix: "ORD-"
Result: "ORD-a3bb189e-8bf9-3888-9912-ace4e6543002"
Use: Unique order identifier
Example: Create Unique Filename
UUID: "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
Filename: uuid + ".pdf"
Result: "f81d4fae-7dec-11d0-a765-00a0c91e6bf6.pdf"
Use: Guaranteed unique filename
Example: Database Record ID
UUID: "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
Use: Primary key for database record
Benefit: No need to check for duplicates
Example: Transaction Correlation ID
UUID: "123e4567-e89b-12d3-a456-426614174000"
Use: Track transaction across multiple services
Example: Session Identifier
UUID: "c9bf9e57-1685-4c89-bafb-ff5af830be8a"
Use: Unique user session ID
Example: Temporary File Generation
UUID: "d3aa88e2-c754-41e0-8ba6-4198a34aa0a2"
Path: "/tmp/" + uuid + ".tmp"
Result: "/tmp/d3aa88e2-c754-41e0-8ba6-4198a34aa0a2.tmp"
UUID Format Details
Structure
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
Where:
- x is any hexadecimal digit (0-9, a-f)
- 4 indicates version 4 (random)
- y is one of 8, 9, a, or b
Example Breakdown
550e8400-e29b-41d4-a716-446655440000
│ │ │ │ │ │ │ │ └─ Node (12 hex digits)
│ │ │ │ │ │ └──── Clock seq (4 hex digits)
│ │ │ │ └─────── Version & variant (4 hex digits)
│ │ └──────────── Time mid (4 hex digits)
└─────────────────── Time low (8 hex digits)
Pattern: Create Tracking ID
Track operations across systems:
Step 1: Generate UUID
Step 2: Store in message context
Step 3: Include in all log messages
Step 4: Pass to downstream services
Result: Full request tracing
Pattern: Generate Unique Filenames
Avoid file name conflicts:
Step 1: Get base name: "report"
Step 2: Generate UUID
Step 3: Get extension: ".pdf"
Step 4: Concatenate: "report_" + uuid + ".pdf"
Result: "report_f47ac10b-58cc-4372-a567-0e02b2c3d479.pdf"
Pattern: Database Primary Keys
Use UUIDs as primary keys:
Advantages:
- Generate IDs in application (no DB round-trip)
- Merge data from multiple sources
- No sequential enumeration attacks
- Works in distributed systems
Example:
INSERT INTO orders (id, customer, amount)
VALUES ('550e8400-e29b-41d4-a716-446655440000', 'John', 100)
Pattern: Distributed ID Generation
Generate IDs in distributed system:
System A: Generates UUID → "aaa-111"
System B: Generates UUID → "bbb-222"
No coordination needed
No collisions
Merge safely
Uniqueness Guarantees
Collision Probability
- 122 bits of randomness
- 2^122 possible values
- Probability of collision is negligible
When NOT Unique
- If random number generator is compromised
- If same UUID is explicitly copied/reused
Best Practices
- Always generate new UUID - don't reuse
- Don't modify generated UUIDs
- Store as-is in databases and logs
Comparison with GenerateString
| Feature | GenerateUUID | GenerateString |
|---|---|---|
| Format | Standard UUID | Custom letters |
| Length | Fixed (36 chars) | Variable |
| Uniqueness | Globally unique | Random, possible collisions |
| Use Case | Permanent IDs | Temporary IDs, test data |
| Standards | RFC 4122 | None |
Use Cases by Category
Database
- Primary keys
- Foreign keys
- Record identifiers
File Management
- Unique filenames
- Temporary files
- Upload identifiers
Tracking
- Transaction IDs
- Correlation IDs
- Session identifiers
Integration
- External system references
- API request IDs
- Message identifiers
Combining with Other Nodes
With Concatenate
Prefix: "ORDER_"
UUID: "550e8400-e29b-41d4-a716-446655440000"
Result: "ORDER_550e8400-e29b-41d4-a716-446655440000"
With Split
UUID: "550e8400-e29b-41d4-a716-446655440000"
Split by "-": ["550e8400", "e29b", "41d4", "a716", "446655440000"]
Use: Extract parts if needed (rare)
With Uppercase
UUID: "550e8400-e29b-41d4-a716-446655440000"
Uppercase: "550E8400-E29B-41D4-A716-446655440000"
Use: If system requires uppercase UUIDs
Related Nodes
- GenerateString - Generate random letter string
- Concatenate - Add prefix/suffix to UUID
- Assign - Store UUID in variable
- Uppercase - Convert UUID to uppercase if needed