> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-chore-myaccount-api-autoupdate.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Learn how to use variables to access and transform user data in Forms and Flows.

# Variables and helper functions

Variables allow you to access data contained in Forms and Flows to create custom business logic and automations.

Some basic considerations to using variables are:

* Variables are surrounded by curly brackets `{{ variable }}`.
* If a variable doesn't exist or can't be resolved, it has the same effect as an `undefined` variable.
* You can use nullish operators to handle `null` or `undefined` variables, for example:`{{fields.foo ?? fields.bar}}`.

## Available variables

You can use different types of variables to reference and transform data you gather from customers with Forms and Flows.

| Variable            | Syntax            | Where         | Description                                                      |
| ------------------- | ----------------- | ------------- | ---------------------------------------------------------------- |
| Context             | `{{context.*}}`   | Forms / Flows | Reference context data of the current transaction                |
| Form fields         | `{{fields.*}}`    | Forms / Flows | Reference data from your form fields and hidden fields           |
| Shared variables    | `{{vars.*}}`      | Forms / Flows | Reference data stored as shared variables                        |
| Flow actions output | `{{actions.*}}`   | Flows         | Reference data from the output response of previous flow actions |
| Helper functions    | `{{functions.*}}` | Forms / Flows | Helper functions to transform data                               |

### Context variables

Forms and flows automatically inherit context variables from the current transaction. You can access the following context variables:

* The `user` object, with access to the following properties:

  * `user.user_id`
  * `user.username`
  * `user.name`
  * `user.given_name`
  * `user.family_name`
  * `user.nickname`
  * `user.email`
  * `user.email_verified`
  * `user.phone_number`
  * `user.phone_verified`
  * `user.picture`
  * `user.user_metadata`
  * `user.app_metadata`
  * `user.created_at`
  * `user.updated_at`
  * `user.last_password_reset`
  * `user.identities`
* The `organization` object, with access to the following properties:

  * `organization.id`
  * `organization.name`
  * `organization.display_name`
  * `organization.metadata`
* The `client` object, with access to the following properties:

  * `client.client_id`
  * `client.name`
* The `tenant` object, with access to the following property:

  * `tenant.name`
* The `transaction` object, with access to the following property:

  * `transaction.state`
  * `transaction.correlation_id`
* The `custom_domain` object, with access to the following property:

  * `custom_domain.domain`
  * `custom_domain.domain_metadata`

<Accordion title="Example of context object">
  ```json lines expandable theme={null}
  {
    "user": {
      "user_id": "auth0|658409...",
      "name": "ana@travel0.com",
      "nickname": "ana",
      "email": "ana@travel0.com",
      "email_verified": true,
      "picture": "https://s.gravatar.com/avatar/8eb1b522f6...",
      "user_metadata": {},
      "app_metadata": {},
      "created_at": "2023-12-21T09:46:40.487Z",
      "updated_at": "2024-05-07T10:44:26.271Z",
      "last_password_reset": "2023-12-21T09:49:08.932Z",
      "identities": [
        {
          "user_id": "6584...",
          "isSocial": false,
          "provider": "auth0",
          "connection": "Username-Password-Authentication"
        }
      ]
    },
    "client": {
      "client_id": "xpeg5...",
      "name": "My App"
    },
    "tenant": {
      "name": "tenant-testing"
    },
    "transaction": {
      "state": "hKFo2SBId2M0...",
      "correlation_id": "txn_12345_xyz"
    },
    "custom_domain": {
      "domain": "example.com",
      "domain_metadata": {
        "key": "value"
      }
    }
  }
  ```
</Accordion>

For example:  `{{context.user.user_id}}` references the `user_id` of the `user` object.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=627598d644e76f9fab7641224a1f315b" alt="Dashboard > Forms > Flows" data-og-width="1141" width="1141" data-og-height="219" height="219" data-path="docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=027b357851453b3c612f7d79bf0caeb8 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=df99882abbd7d3b2576b887a82e0d32d 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=e79bb2507365987a54b4b39360bd6b3d 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=3ba15559bce75c22f29f478125f62ab9 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=6a1d941afdef39c78e9296c6af7fbbb8 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=eb47e55375700a8e7afb60bb1ea36a47 2500w" />
</Frame>

### Form fields variables

Field variables contain data collected from the user from input fields in the form and data from hidden fields. The data of each field varies depending on the field type. For example: `{{fields.first_name}}` references the input value of a field with the ID `first_name`.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=5d2150edb3c962e22be83eb36a0d1559" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="497" height="497" data-path="docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=6cba4ceac85491a7352d99b37de70763 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=421a84dc7f618610b74bfe92598cd693 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=ad5f9bf9c2f57b8f1515a10bacad767a 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=ccf5bebec6d99ffc1a1767142f59207c 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=0b19ceacd63db20fbaaf69fad599ec72 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=35a763fcbf0e06c1468caabc913a24ae 2500w" />
</Frame>

### Flow output actions variables

When a flow action is executed, it generates an output object response that can be referenced in subsequent actions. For example: `{{actions.generate_otp.code}}` references the output code of the action with ID `generate_otp`.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=7de1a00d94793ffd82f4ad3e9b5d3421" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="253" height="253" data-path="docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=80b188704ae053e204c81ecf526d0c38 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=c52fdfcbcf1fd58396569706219523bb 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=8e95a5e0beea720425c676c4bab6a1f0 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=8f03d23d03cdb12f3eaada54cf1b0df5 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=2f43d1248a7b0118205ecb2100dc3574 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/TwrLWOmtEE_zyIZg/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=TwrLWOmtEE_zyIZg&q=85&s=fe514d4979fd975b3c33cad7ecda7cde 2500w" />
</Frame>

### Shared variables

You can store variables to be shared with subsequent flows or even with form components in the same transaction. Shared variables are ephemeral and are associated with a specific form journey. Their values cannot be accessed outside of that journey. For example: `{{vars.external_id}}` references the value of a shared variable with ID `external_id`.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=2123d8779659aefed2b4b0dcf879c9cd" alt="Dashboard > Actions > Forms > Flows" data-og-width="1215" width="1215" data-og-height="162" height="162" data-path="docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=ca7666122de3ebbf00ec8708be7202ee 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=e29436e0f9d70448793670c4a090d014 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=b3397abf62a73caba643cfe0b8ce3f77 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=0897d620c307812b48879f0620b75278 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=66c2ada5b3ada9a3bc387b0aa13b851e 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/KVEFSMnw3xeg_LEn/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=KVEFSMnw3xeg_LEn&q=85&s=d487c6834340b042c7dd93c7e76acf5f 2500w" />
</Frame>

<Warning>
  Shared variables:

  * are internal (server-side) and not exposed to the browser (client-side).
  * can be resolved and exposed to the browser if you referenced a shared variable in the form component.
  * might have sensitive information, so take care when you access shared variable to avoid any unnecessary or unintentional exposure.
</Warning>

### Helper functions

Helper functions let you transform data and perform simple operations. For example: `{{functions.toString(fields.privacy_policies)}}` transform the value of the field with ID `privacy_policies` using the `toString()` function.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=d5cf5239a1dd2549828fb6b5f0147297" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="290" height="290" data-path="docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=731a0cb29c531e49c7aa7900c15be394 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=8dd2f197c511baebf99f73d610f4d4dc 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=586538f24f97042211719df404515d48 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=63536240574e3a661e6c47e4740022dd 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=c00b016ec845f06c0227430ad4c447c1 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/8QDqDsYoCi_WTBFO/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=8QDqDsYoCi_WTBFO&q=85&s=4b8781eed161eb66fda691ebfdda1667 2500w" />
</Frame>

The available helper functions are:

| Function                                 | Description                                                                                                                                                                                                                                                              | Example                                                                                                          |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| `toArray(value)`                         | Converts value to an array.                                                                                                                                                                                                                                              | `{{ functions.toArray('abc') }} // ['abc']`                                                                      |
| `toBoolean(value)`                       | Converts value to a boolean value.                                                                                                                                                                                                                                       | `{{ functions.toBoolean(1) }} // true&lt;br /&gt;&lt;br /&gt;\{\{ functions.toBoolean(0) }} // false`            |
| `length(value)`                          | Returns the length of the parameter value.                                                                                                                                                                                                                               | `{{ functions.length('auth0') }} // 5`                                                                           |
| `mask(value)`                            | Masks a value to avoid be exposed in Executions.                                                                                                                                                                                                                         | `{{ functions.mask('my_awesome_secret') }} // ███`                                                               |
| `toNumber(value)`                        | Converts value to a number.                                                                                                                                                                                                                                              | `{{ functions.toNumber('123') }} // 123`                                                                         |
| `random(min, max, [boolean])`            | Returns a random number between the inclusive min and max.                                                                                                                                                                                                               | `{{ functions.random(0, 6) }} // 4 &lt;br /&gt;&lt;br /&gt;\{\{ functions.random(0, 6, true) }} // 3.8523497...` |
| `slice(value, start, end)`               | Returns a section of a value array or string between the start and end indexes.                                                                                                                                                                                          | `{{ functions.slice( 'example', 3, 5) }} // 'mp'`                                                                |
| `toString(value)`                        | Converts value to a string.                                                                                                                                                                                                                                              | `{{ functions.toString(123) }} // '123'`                                                                         |
| `substring(value, start, end)`           | Returns a section of a value between the start and end indexes. Read about the [differences of slice and substring functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring#differences_between_substring_and_slice) | `{{ functions.substring( 'example’', 3, 5) }} // 'mp'`                                                           |
| `toTimestamp()`                          | Returns the current UNIX timestamp.                                                                                                                                                                                                                                      | `{{ functions.toTimestamp() }} // 1628761483`                                                                    |
| `toTimestamp(date)`                      | Returns the provided date in UNIX time.                                                                                                                                                                                                                                  | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                          |
| `toTimestamp(date)`                      | Returns the provided date in UNIX time.                                                                                                                                                                                                                                  | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                          |
| `toLowerCase(value)`                     | Returns a new string transformed to lowercase.                                                                                                                                                                                                                           | `{{ functions.toLowerCase('JohnDoe 1234') }} // johndoe 1234`                                                    |
| `toUpperCase(value)`                     | Returns a new string transformed to uppercase.                                                                                                                                                                                                                           | `{{ functions.toUpperCase('JohnDoe 1234') }} // JOHNDOE 1234`                                                    |
| `replaceAll(value, string, replacement)` | Returns a new string with all matches of a pattern replaced by a replacement.                                                                                                                                                                                            | `{{ functions.replaceAll('2021-04-30', '-', '/') }} // 2021/04/30`                                               |
| `replace(value, string, replacement)`    | Returns a new string with all matches of a pattern replaced by a replacement. If pattern is a string, only the first occurence will be replaced.                                                                                                                         | `{{ functions.replace('2021-04-30', '-', '/') }} // 2021/04-30`                                                  |
| `split(value, separator, limit?)`        | Returns an ordered list of substrings divided by the separator.                                                                                                                                                                                                          | `{{ functions.split('2021-04-30', '-') }} // ['2021', '04', '30']`                                               |
| `now()`                                  | Returns the current date in ISO 8601 format.                                                                                                                                                                                                                             | `{{ functions.now() }} // 2021-04-30T10:31:28.576Z`                                                              |
| `includes(collection, item, fromIndex?)` | Returns whether an array includes a certain value among its entries.                                                                                                                                                                                                     | `{{ functions.includes(['auth0', 'identity', 'authentication'], 'identity') }} // true`                          |
| `indexOf(collection, item, fromIndex?)`  | Returns the first index at which a given element can be found in the array, or -1 if it is not present.                                                                                                                                                                  | `{{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }} // 1`                              |
| `merge(base, value)`                     | Returns a merged array, object or concatenates a string depending on the base data type.                                                                                                                                                                                 | `{{ functions.merge(['auth0', 'identity'], ['authentication']) }} // ['auth0', 'identity', 'authentication']`    |
| `md5(value)`                             | Returns a MD5 hashed value.                                                                                                                                                                                                                                              | `{{ functions.md5('auth0') }} // 7bbb597...`                                                                     |
| `sha1(value)`                            | Returns a SHA1 hashed value.                                                                                                                                                                                                                                             | `{{ functions.sha1('auth0') }} // b4ec5339...`                                                                   |
| `sha256(value)`                          | Returns a SHA256 hashed value.                                                                                                                                                                                                                                           | `{{ functions.sha256('auth0') }} // d9082bdc...`                                                                 |
| `sha512(value)`                          | Returns a SHA512 hashed value.                                                                                                                                                                                                                                           | `{{ functions.sha512('auth0') }} // c0d588069d...`                                                               |
| `uuid()`                                 | Returns a random v4 UUID.                                                                                                                                                                                                                                                | `{{ functions.uuid() }} // 36b8f84d-df4e-4d49-b662-bcde71a8764`                                                  |

## Variables best practices

### Use meaningful IDs

When you add a Form field or a Flow action, the ID is automatically generated.

Update the ID to a more descriptive value so you can identify the information it contains. For example, if you create a Form field that stores the user’s first name, update the ID to `first_name`.

### Be mindful when updating existing IDs

If a variable is already in use and you need to modify the ID, identify where you have referenced it and update the ID accordingly to avoid undefined or empty values.

### Check Flow executions

If you see an unexpected variable value, use the [**Executions**](/docs/customize/forms/flows/flow-execution-and-debugger) view to troubleshoot the variable.

### Use the autocomplete menu

The autocomplete menu helps you locate and properly reference existing variables.

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=7f20d89bc625dda4ac5e09b3420a5769" alt="Dashboard > Actions > Forms > Flows" data-og-width="1361" width="1361" data-og-height="502" height="502" data-path="docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=248bcc11393f8b74c5d1eccb51446dbd 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=68c9c8de73d558dd8dc48fa79cc4d2d5 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=6a820e86ddc8f9014fe03d2e1115aa54 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=4d113f2643732725b12ad1dc6eecd4cd 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=1357837a1299240c7d2571574b443777 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=6c0b22eefe7927333dc664dfee0ba61d 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=8936e724dc59815b31b16a86032e169c" alt="Dashboard > Actions > Forms > Form" data-og-width="1394" width="1394" data-og-height="630" height="630" data-path="docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=509e453977ef98e6a641fbba7b9187f6 280w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=195f996c0d50b8c21fa5e804ed91495d 560w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=3c734354434f25cfb4f0c0860f1da8e8 840w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=5a7d6605632c0fceb1c9088da2aa9a3e 1100w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=ae236063086168e75c3570451416568c 1650w, https://mintcdn.com/docs-dev-chore-myaccount-api-autoupdate/xjbLFTbb3mNkqhP2/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=xjbLFTbb3mNkqhP2&q=85&s=cd6f8e83efadde90cd74050bbd54bcbc 2500w" />
</Frame>
