How to Generate a Unique Password in Make.com With One Formula
Need to generate a unique access code, temporary password, or PIN in Make.com without adding extra modules? Here’s the solution: a single IML formula that generates a unique code every time.
When You Need This
Unique codes come up all the time in real scenarios. Onboarding flows that need an access code. Registration emails with temporary passwords. Ticket systems or booking automation where each record needs a unique identifier.
The usual approaches, shuffling character arrays, split/join chains, or external API calls, add unnecessary operations. One formula handles it all.
The Formula
{{upper(substring(sha256(timestamp); 0; 6))}}
That’s it. Paste this anywhere Make.com accepts text input, Set Variable, HTTP request body, email, Google Sheets cell.
What Each Part Does
sha256(timestamp) takes the current timestamp in milliseconds and turns it into a 64-character hex hash. Every timestamp is different, so every hash is different.
substring(...; 0; 6) trims the hash to the first 6 characters. Adjust the second number to control length.
upper(...) converts to uppercase. More readable, looks like a proper code.
Length Variants
| Use case | Length | Formula |
|---|---|---|
| PIN code | 4 chars | {{upper(substring(sha256(timestamp); 0; 4))}} |
| Passcode | 6 chars | {{upper(substring(sha256(timestamp); 0; 6))}} |
| Temporary password | 8 chars | {{upper(substring(sha256(timestamp); 0; 8))}} |
| Strong identifier | 12 chars | {{upper(substring(sha256(timestamp); 0; 12))}} |
Where to Use It in Make
- Set Variable — store the code and reuse it multiple times in the scenario
- HTTP module — inject into a JSON request body
- Gmail / Email module — send the code directly to the user
- Google Sheets — write it to a column when creating a new row
- Webhooks — include in a payload to another application
Why Timestamp Guarantees Uniqueness
Make.com’s timestamp returns milliseconds. Even two consecutive scenario runs are milliseconds apart, so every hash is unique.
⚠️ If you’re processing multiple items in a single run and the formula runs inside an iterator, all codes will be identical, because timestamp doesn’t change within one execution. In that case, hash a unique field from each record instead:
{{upper(substring(sha256(toString(1.id)); 0; 8))}}
For processing multiple records, check out how to use the Make.com iterator to loop through arrays correctly.
Summary
{{upper(substring(sha256(timestamp); 0; 6))}}, paste it, adjust the length, done. No extra modules, no API calls, no complexity.