Skip to main content

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

FeatureGenerateUUIDGenerateString
FormatStandard UUIDCustom letters
LengthFixed (36 chars)Variable
UniquenessGlobally uniqueRandom, possible collisions
Use CasePermanent IDsTemporary IDs, test data
StandardsRFC 4122None

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