> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-feat-docs-5554-self-service.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..."
    },
    "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-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=932bfb20d4f4a2c9fe31d8d86a084f7e" 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-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=700adf472dc457aa1d3cafa49c662751 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=d8649245edc75893ccdb4a80cc13458a 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=e7c46dba80aa86b2d89a4412f654b56a 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=ad0be78bbd61ca86b49d3b6c41bea578 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=fc1aa6fd221a16df0bb0c6cc061a1992 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=c0a7843a8aeaf3e9ab1ba291ecfe12d3 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-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=73e49762e25b683020bd2f3819e7b809" 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-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=eac91f2cfca2006882ae5a2d2201a436 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=833820cd5aa471e780c4b2afa3c3494b 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=9f97a0e92515d290e71f7e274ccdaa47 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=e0721443996e3077ee4d08490d60fe08 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=7f11cd7cd14cd29c798ee996e8d821b6 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=6371a3cf5c5cff282c062dff101948e6 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-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=0489d4e3d7b11134dbbe9d5b4f18b4db" 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-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=dcff9585edd83582998b081ad30e1b30 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=fbdda3f5af44c01ac79f22b853bc5e3e 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=b4601d8296dac1b87839478e5ed56fcf 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=ac1c96499864871337a122b5d5260417 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=947a4b58d09d5045cc45701b27c2e12a 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/H1-Mn-I9ZUEtuHdB/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=H1-Mn-I9ZUEtuHdB&q=85&s=5a20e1c2e51b47770a7194b562fb9ee4 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-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=741f426083dc382ccdc525d126ed1bdb" 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-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=42aaa3e0c50a1b56a06b6e805bd749b4 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=d7d663c5a54711df89cf2add14a1a5cf 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=b066a0b32e0c7bf8b216143b1e781fa0 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=5d952c712bd8d474976b8cc7e7432aff 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=edf350b502d0eeef810135496d0db4e3 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/qMqqa8ZyHff8M8xp/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=qMqqa8ZyHff8M8xp&q=85&s=fbd244089cbacd9bb3c9d00285db2489 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-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=b4a5334b3d25b3acc50a9cd10635dfd0" 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-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=8c174ff99c5b90de02593391cdd1974b 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=44ebbdcadc08e8538e146109b8a1d760 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=a1bb29d6db0d5084ad1308382019cb5c 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=691ba2a68c9cc4faf665389c41028d9a 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=cd6609a3a18a4161b7f14744e6e95942 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/cNqoSrKPlcOzR7Nh/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=cNqoSrKPlcOzR7Nh&q=85&s=69b071610801b94f8de8f4ab5c8d35eb 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-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=d140c09bf36e5e58c7cadcc818abd63d" 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-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=6ecef19ec98c2594eced5e4ccb7943a4 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=2b5721b1413b5975c45e7b4a352a812c 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=8813c8649cee0b6bebfde7c774e5645d 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=b4bf1c1467e78f4db49c3abb91076c24 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=880d8243a6a60d23487295dedccaa97c 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=cb9b3eb9dd508e69a45ce67f6f460700 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=641e927f6f0e6d13e5b6cad6b51b591c" 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-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=81741867cde32a8e1c37b080ee44513a 280w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=9ad3d3e8d983eb0ce249be8a37684373 560w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=833fb7d4a7a1a563f075c2785721df9f 840w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=c5ad93628e217f263063ce52387b2d13 1100w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=94c964a6c09c1c77d5672470d936eb64 1650w, https://mintcdn.com/docs-dev-feat-docs-5554-self-service/r0PUJlF9UbZWx_MZ/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=r0PUJlF9UbZWx_MZ&q=85&s=11285070df5adae4f541f23f1a89a0e4 2500w" />
</Frame>
