> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-fix-docs-5546-update-db-search.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Learn how to use variables in Forms for Actions.

# 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:

  * `custome_domain.domain`
  * `custome_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-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=6a353553d32e4dbadb898ea3c2d76a8e" 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-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=a0552ef348a00da8674338f8eedd7881 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=7f4cb706952c53bb5d2538e4f58272e0 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=32b1cd8dfed90c32a1020b9fb93aaffa 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=8e41ffe5e6cbe2e50b32779343f273ed 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=8fcc0e0f42ec96eb2aa3fe51b07787e9 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=e4ae0f30f8f8eb68d55878c02c698b7c 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-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=d40c889d42aaa6df1bf83a21babf19e2" 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-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=bbe41770c824cdf84632c51b2f436c06 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=e2b4b0449338a7d614f9872bfc26cf3d 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=6f886239a19bc306342d6dd03972fa49 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=f36cb1b326e19178a6ba68879c65ef61 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=8955ee89f25303989845ebc552dd65bd 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=272667fc820acdb38dc4ca0f169abc9b 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-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=a6d77382eac5e85a0b1579078b219bfe" 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-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=9eef77996caa71942484c48b05ec2ea8 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=4b8f78c1d5956d1dc4b7a06ca8613ea4 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=e085ae6b32e193fe62ae9ae9a14a881d 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=8de487634b59cbddb31ccd2a4e1ed540 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=83fd37620c927d9d3016dfd1a34a45e5 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/GQRCDLZWScWmvnb1/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=GQRCDLZWScWmvnb1&q=85&s=be1a638d4268dc8e7b2ba35efe6d7c26 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-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=08e5f2ac80cbe06d2a1ebe3bcb07ab6b" 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-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=6556a00e1bc98c6a95cb1bfefbaba67a 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=ad5717a051f186f664d1d26e58f9b513 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=cd5d1d6cdce5a9ae0414877378c869cc 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=74d951c1e08628d33dc739006964f086 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=2cc1b667469ef35245bd958016e87f83 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/aPGxWhR33Pr6yBPa/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=aPGxWhR33Pr6yBPa&q=85&s=258493b6888059dd4ba471f4ac56dd85 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-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=2f479e4bde3dabfb33936ea601d1435a" 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-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=d01b41f805a19333680a78b932525d4b 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=dff0f8705d94b589f771f9f9f5a63fda 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=85d8399895daa73d18b642f40abc1726 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=7a9b2bbb71dbafa75d0f679563e76ef0 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=372e5586ef6df7bcbceee5e0f1cf0bd6 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/PJ6jT6RrSeutZDYB/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=PJ6jT6RrSeutZDYB&q=85&s=6361dcfe8d8d93b1ef3475ae0c77d737 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-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=e95a30b796020a2c758d62b3a6e69d85" 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-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=7a942fad70853c3e2f0f69e89fd973c1 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=856beb214448cacb2c2b52d2f93cc13a 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=705735f382f4d0ff80682917cfb26f48 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=be1fb1cb847f711a794f9ef6f648c5ff 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=9aacfb95c41ce0aa8b7ff2b46be5dbe1 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=5caca7ac3b9611c92a891dde5061970c 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=626bcd8fe3cbea7cb9fb478c72a2c3b1" 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-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=bf6654164ea9ab0d64af0a351f26d61e 280w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=9ac801cdc965261ff5b0e6a06a11854e 560w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=355a632adbebb867d7915d92f0cd370e 840w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=4d1e4a479fded7c29e251ac32c4be6f2 1100w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=447f1298ed4842d20f702861da52731d 1650w, https://mintcdn.com/docs-staging-fix-docs-5546-update-db-search/t9YvReZ13iZMAZ3C/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=t9YvReZ13iZMAZ3C&q=85&s=0cf73db9df2252bc32c68cbcfb75aa4d 2500w" />
</Frame>
