> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-feat-docs-5551-enterprise-connect.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-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=14bdde97384312cf4127dba5ab754c1a" 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-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=7643493f0031cfdd9465a76a0d241569 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=af81b82cb120bc14da422136c05c9988 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=db49cc574aad3e4dc0322dccf38f4897 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=c45725c741a283d7a8793bff86f93cf1 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=5af7cdfbb4bd8ed8076103fcb0350c8b 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=68cfcd6d2ead019853fb08cccc9044fb 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-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=1ab491b2263eb5ff1b97bd61e057ea88" 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-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=52e990c5950acb7a9b9aaa1965703500 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=b1efa220727550b04ab6292392af78d6 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=ce32969b5b27c068e15686090d30ace2 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=b32d2ae0b36d1537b28d1ba181c009b2 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=2ba3481bf0e0f6efbdccdaedafefc53a 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=a6c45d30cde7398ba3622c78c7025c28 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-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=a8d57cafc287e127cad26ca8dcddb30a" 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-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=93a674044160afea55aedb5cddf56ddf 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=78779705ce04726eec885b931b6b8c19 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=03c7e034f697e7f13abdee6ab3653b8f 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=b506b50027ccc95b0c3a140f0ea668e5 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=99f08d2a4079e753c909ea9c5d90da8d 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/n8I2ndiyWFrAh78u/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=n8I2ndiyWFrAh78u&q=85&s=45817c9f125f3e0f170ef90eb498231b 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-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=93fe32ea7d88502fd404cab8fec7e6e7" 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-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=04c690dc1f3b352212fb71ef1b44e2f6 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=eeb3e32d9014e6d1865e7dfb481e9532 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=9cad88cc85303b98f8e24cadf1302b0e 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=e876992bb9396f08c1f84629c413d0c9 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=84ee49611e47c6d3bc926919b4796ce4 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/ytQ4w7U_cyzk2GeY/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=ytQ4w7U_cyzk2GeY&q=85&s=8eaa15122a61d2f2ac77b78dc4524684 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-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=a2448be3480fb2cf122ab3b94a45a348" 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-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=23cd569cd385c3b92f77e16e55b3ffcf 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=dc920ff2b0b1a4bb64006b6d07c7331e 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=b400f5c2817f29f2adc9934c752dda32 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=ac00ca4c7d3cc87fdde9affa1c886ba5 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=ec47e99d3f78e700d13ce28b1b8fb2aa 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/TnSPsshfbOiggIxs/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=TnSPsshfbOiggIxs&q=85&s=04cc2f78b7190a626e33116ccf4d4a55 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-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=1495479c8d1c0be375de19e438eee3dc" 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-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=95ad1c95b798d6c3bdd49c06fafd938e 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=067cc7056fc712fa85820a27428649ba 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=2f42973538ce358229cc67431f4c9f6e 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=d4969fc73829929c1ffa61e5e62fa022 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=8b4daf1c8dbdf9bb3c0ebc516b3ffb05 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=1fb24b6559b95534f65e1a70e2a55e84 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=692c9f7ee8387cbd2b744dcc083091ae" 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-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=03a262e67b2211c222b3f3d81f3e7ec3 280w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=9acdea0db3e6fc57ae83774561e70c4c 560w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=180e193bf4101c95780ed9e408c35960 840w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=bbe875c155795cda44ce6287877ab8f7 1100w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=26feb3ce34531db0a9985974bcc2386b 1650w, https://mintcdn.com/docs-dev-feat-docs-5551-enterprise-connect/F_KuxmcPTduhDvgC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=F_KuxmcPTduhDvgC&q=85&s=0accd35b95a324c4f95664cb30368f39 2500w" />
</Frame>
