> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Découvrez comment utiliser les variables pour accéder aux données utilisateur et les transformer dans Forms et Flows.

# Variables et fonctions utilitaires

Les variables vous permettent d’accéder aux données contenues dans Forms et Flows pour créer une logique métier personnalisée et des automatisations.

Voici quelques points de base à retenir sur l’utilisation des variables :

* Les variables sont entourées d’accolades `{{ variable }}`.
* Si une variable n’existe pas ou ne peut pas être résolue, elle a le même effet qu’une variable `undefined`.
* Vous pouvez utiliser l’opérateur de coalescence des valeurs nulles pour gérer les variables `null` ou `undefined`, par exemple :`{{fields.foo ?? fields.bar}}`.

<div id="available-variables">
  ## Variables disponibles
</div>

Vous pouvez utiliser différents types de variables pour référencer et transformer les données que vous recueillez auprès de vos clients avec Forms et Flows.

| Variable                   | Syntaxe           | Où            | Description                                                                   |
| -------------------------- | ----------------- | ------------- | ----------------------------------------------------------------------------- |
| Contexte                   | `{{context.*}}`   | Forms / Flows | Référence les données de contexte de la transaction en cours                  |
| Champs de formulaire       | `{{fields.*}}`    | Forms / Flows | Référence les données de vos champs de formulaire et de vos champs masqués    |
| Variables partagées        | `{{vars.*}}`      | Forms / Flows | Référence les données stockées dans des variables partagées                   |
| Sortie des actions de Flow | `{{actions.*}}`   | Flows         | Référence les données de la réponse de sortie des actions de Flow précédentes |
| Fonctions utilitaires      | `{{functions.*}}` | Forms / Flows | Fonctions utilitaires pour transformer les données                            |

<div id="context-variables">
  ### Variables de contexte
</div>

Forms et les flows héritent automatiquement des variables de contexte de la transaction en cours. Vous pouvez accéder aux variables de contexte suivantes :

* L’objet `user`, avec accès aux propriétés suivantes :

  * `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`
* L’objet `organization`, avec accès aux propriétés suivantes :

  * `organization.id`
  * `organization.name`
  * `organization.display_name`
  * `organization.metadata`
* L’objet `client`, avec accès aux propriétés suivantes :

  * `client.client_id`
  * `client.name`
* L’objet `tenant`, avec accès à la propriété suivante :

  * `tenant.name`
* L’objet `transaction`, avec accès aux propriétés suivantes :

  * `transaction.state`
  * `transaction.correlation_id`
* L’objet `custom_domain`, avec accès aux propriétés suivantes :

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

<Accordion title="Exemple d’objet de contexte">
  ```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>

Par exemple :  `{{context.user.user_id}}` correspond au `user_id` de l’objet `user`.

<Frame>
  <img src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=e80cd658d3ef49e3b24690d13fd86bf6" 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/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=f2652302f345197cc909d530dda53798 280w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=3197e74981653c0be27ba5f58094623d 560w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=4fe0fa65ee4c47dc7030b31c20c5384c 840w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=4113fcdc09945701806d18054239bc9b 1100w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=425d300ae777c370105a292622de5775 1650w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=49f492d1e906b41b7849e9e2d43be02d 2500w" />
</Frame>

<div id="form-fields-variables">
  ### Variables des champs du formulaire
</div>

Les variables de champ contiennent les données saisies par l’utilisateur dans les champs de saisie du formulaire, ainsi que les données des champs masqués. Les données associées à chaque champ varient selon le type de champ. Par exemple : `{{fields.first_name}}` fait référence à la valeur saisie dans un champ ayant l’ID `first_name`.

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=4db948288f9a3982a1287ae7eb3f97f6" 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/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=749968f77f9168cc53083818b6a81292 280w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=49f1001a64dcac22c9757f7b31809203 560w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=675820d38333007ffd12a464d032bfc2 840w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=642063495310f8a9d2756e98fb9ad1a4 1100w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=e79262a29f91494dde115d5d7a07f6b2 1650w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=39f69225b5d034ce4860d6adc33b150f 2500w" />
</Frame>

<div id="flow-output-actions-variables">
  ### Variables de sortie des actions de Flow
</div>

Lorsqu’une action de Flow est exécutée, elle génère une réponse sous forme d’objet de sortie qui peut être utilisée dans les actions suivantes. Par exemple : `{{actions.generate_otp.code}}` fait référence au code de sortie de l’action ayant l’ID `generate_otp`.

<Frame>
  <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=31ada4c6ab06b407fcb45d522223ad15" 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/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=7194e7f42b8b25f1b8a62a7beccc39e5 280w, https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=f3ba6754f5bccbd52dae0685b9755021 560w, https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=86302e4b5c81c7c386744ffba1c01071 840w, https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=4e92862337226690de3e94ba9f936234 1100w, https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=07c70fb92a3a745bf502be0372cba767 1650w, https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=87b426ecb8a273e2944910f6586e3494 2500w" />
</Frame>

<div id="shared-variables">
  ### Variables partagées
</div>

Vous pouvez stocker des variables afin qu’elles soient partagées avec des flows ultérieurs ou même avec des composants de formulaire dans la même transaction. Les variables partagées sont éphémères et associées à un parcours de formulaire précis. Leurs valeurs ne sont pas accessibles à l’extérieur de ce parcours. Par exemple : `{{vars.external_id}}` fait référence à la valeur d’une variable partagée ayant l’ID `external_id`.

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=c3800820997f3f2c68702b337b879b79" 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/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=b16c02d636b0cd4db1f596dd57f722f5 280w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=cbdebe6a94a56d16a1d1201a86987a4c 560w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=9a21b967f39862c7dbfd6efd38596705 840w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=36c410e86e05780673c6e011e646219a 1100w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=e0e658d35da133711d9ff7e2323262eb 1650w, https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=253e133a52172269912693b398153a7a 2500w" />
</Frame>

<Warning>
  Variables partagées :

  * sont internes (côté serveur) et ne sont pas exposées au navigateur (côté client).
  * peuvent être résolues et exposées au navigateur si vous faites référence à une variable partagée dans un composant de formulaire.
  * peuvent contenir des renseignements sensibles; faites donc preuve de prudence lorsque vous accédez à une variable partagée afin d’éviter toute exposition inutile ou involontaire.
</Warning>

<div id="helper-functions">
  ### Fonctions utilitaires
</div>

Les fonctions utilitaires vous permettent de transformer des données et d’effectuer des opérations simples. Par exemple : `{{functions.toString(fields.privacy_policies)}}` transforme la valeur du champ dont l’ID est `privacy_policies` à l’aide de la fonction `toString()`.

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=844a6465e7af13922ac164c5172bf24d" 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/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=81c91ffc87b08d5eb0c599815eb735a4 280w, https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=5ef9181d01b7f396568ad17e8f8ec1a0 560w, https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=f2595c0d7689a494d107dc788ae4f9e9 840w, https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=989e55682c42f6e49424d9ba2eebfd0e 1100w, https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=259543f026bf961ac119cedfa58e19c6 1650w, https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=c6e349a5a8f32458c5268a5caa3ff563 2500w" />
</Frame>

Les fonctions utilitaires disponibles sont :

| Fonction                                 | Description                                                                                                                                                                                                                                                                                                           | Exemple                                                                                                          |
| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `toArray(value)`                         | Convertit la valeur en tableau.                                                                                                                                                                                                                                                                                       | `{{ functions.toArray('abc') }} // ['abc']`                                                                      |
| `toBoolean(value)`                       | Convertit la valeur en valeur booléenne.                                                                                                                                                                                                                                                                              | `{{ functions.toBoolean(1) }} // vrai&lt;br /&gt;&lt;br /&gt;\{\{ functions.toBoolean(0) }} // faux`             |
| `length(value)`                          | Retourne la longueur de la valeur du paramètre.                                                                                                                                                                                                                                                                       | `{{ functions.length('auth0') }} // 5`                                                                           |
| `mask(value)`                            | Masque une valeur afin d’éviter qu’elle ne soit affichée dans Executions.                                                                                                                                                                                                                                             | `{{ functions.mask('my_awesome_secret') }} // ███`                                                               |
| `toNumber(value)`                        | Convertit la valeur en nombre.                                                                                                                                                                                                                                                                                        | `{{ functions.toNumber('123') }} // 123`                                                                         |
| `random(min, max, [boolean])`            | Renvoie un nombre aléatoire compris entre les valeurs min et max, inclusivement.                                                                                                                                                                                                                                      | `{{ functions.random(0, 6) }} // 4 &lt;br /&gt;&lt;br /&gt;\{\{ functions.random(0, 6, true) }} // 3.8523497...` |
| `slice(value, start, end)`               | Renvoie une portion d’un tableau ou d’une chaîne de caractères comprise entre les indices de début et de fin.                                                                                                                                                                                                         | `{{ functions.slice( 'example', 3, 5) }} // 'mp'`                                                                |
| `toString(value)`                        | Convertit la valeur en chaîne de caractères.                                                                                                                                                                                                                                                                          | `{{ functions.toString(123) }} // '123'`                                                                         |
| `substring(value, start, end)`           | Retourne la partie d’une valeur comprise entre l’index de début et l’index de fin. Pour en savoir plus, consultez les [différences entre les fonctions slice et substring](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()`                          | Renvoie l’horodatage UNIX actuel.                                                                                                                                                                                                                                                                                     | `{{ functions.toTimestamp() }} // 1628761483`                                                                    |
| `toTimestamp(date)`                      | Retourne la date fournie au format UNIX.                                                                                                                                                                                                                                                                              | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                          |
| `toTimestamp(date)`                      | Retourne la date fournie au format UNIX.                                                                                                                                                                                                                                                                              | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                          |
| `toLowerCase(value)`                     | Retourne une nouvelle chaîne en minuscules.                                                                                                                                                                                                                                                                           | `{{ functions.toLowerCase('JohnDoe 1234') }} // johndoe 1234`                                                    |
| `toUpperCase(value)`                     | Retourne une nouvelle chaîne en majuscules.                                                                                                                                                                                                                                                                           | `{{ functions.toUpperCase('JohnDoe 1234') }} // JOHNDOE 1234`                                                    |
| `replaceAll(value, string, replacement)` | Renvoie une nouvelle chaîne dans laquelle toutes les occurrences d’un motif sont remplacées par une chaîne de remplacement.                                                                                                                                                                                           | `{{ functions.replaceAll('2021-04-30', '-', '/') }} // 2021/04/30`                                               |
| `replace(value, string, replacement)`    | Renvoie une nouvelle chaîne dans laquelle toutes les occurrences d’un motif sont remplacées par une chaîne de remplacement. Si le motif est une chaîne, seule la première occurrence sera remplacée.                                                                                                                  | `{{ functions.replace('2021-04-30', '-', '/') }} // 2021/04-30`                                                  |
| `split(value, separator, limit?)`        | Renvoie une liste ordonnée de sous-chaînes découpées selon le séparateur.                                                                                                                                                                                                                                             | `{{ functions.split('2021-04-30', '-') }} // ['2021', '04', '30']`                                               |
| `now()`                                  | Renvoie la date actuelle au format ISO 8601.                                                                                                                                                                                                                                                                          | `{{ functions.now() }} // 2021-04-30T10:31:28.576Z`                                                              |
| `includes(collection, item, fromIndex?)` | Indique si un tableau contient une certaine valeur parmi ses éléments.                                                                                                                                                                                                                                                | `{{ functions.includes(['auth0', 'identity', 'authentication'], 'identity') }} // true`                          |
| `indexOf(collection, item, fromIndex?)`  | Renvoie le premier indice auquel un élément donné peut être trouvé dans le tableau, ou -1 s’il n’y figure pas.                                                                                                                                                                                                        | `{{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }} // 1`                              |
| `merge(base, value)`                     | Renvoie un tableau ou un objet fusionné, ou concatène une chaîne selon le type de données de base.                                                                                                                                                                                                                    | `{{ functions.merge(['auth0', 'identity'], ['authentication']) }} // ['auth0', 'identity', 'authentication']`    |
| `md5(value)`                             | Renvoie une valeur hachée avec MD5.                                                                                                                                                                                                                                                                                   | `{{ functions.md5('auth0') }} // 7bbb597...`                                                                     |
| `sha1(value)`                            | Renvoie une valeur hachée avec SHA1.                                                                                                                                                                                                                                                                                  | `{{ functions.sha1('auth0') }} // b4ec5339...`                                                                   |
| `sha256(value)`                          | Renvoie une valeur hachée avec SHA256.                                                                                                                                                                                                                                                                                | `{{ functions.sha256('auth0') }} // d9082bdc...`                                                                 |
| `sha512(value)`                          | Renvoie une valeur hachée avec SHA512.                                                                                                                                                                                                                                                                                | `{{ functions.sha512('auth0') }} // c0d588069d...`                                                               |
| `uuid()`                                 | Renvoie un UUID v4 aléatoire.                                                                                                                                                                                                                                                                                         | `{{ functions.uuid() }} // 36b8f84d-df4e-4d49-b662-bcde71a8764`                                                  |

<div id="variables-best-practices">
  ## Bonnes pratiques pour les variables
</div>

<div id="use-meaningful-ids">
  ### Utilisez des IDs parlants
</div>

Lorsque vous ajoutez un champ de Form ou une action de Flow, l’ID est généré automatiquement.

Modifiez l’ID pour lui donner une valeur plus descriptive afin de pouvoir identifier l’information qu’il contient. Par exemple, si vous créez un champ de Form qui stocke le prénom de l’utilisateur, remplacez l’ID par `first_name`.

<div id="be-mindful-when-updating-existing-ids">
  ### Faites preuve de prudence lorsque vous mettez à jour des IDs existants
</div>

Si une variable est déjà utilisée et que vous devez modifier l’ID, repérez les endroits où vous y avez fait référence et mettez l’ID à jour en conséquence afin d’éviter les valeurs non définies ou vides.

<div id="check-flow-executions">
  ### Vérifier les exécutions du Flow
</div>

Si vous voyez une valeur de variable inattendue, utilisez la vue [**Executions**](/docs/fr-ca/customize/forms/flows/flow-execution-and-debugger) pour diagnostiquer le problème lié à la variable.

<div id="use-the-autocomplete-menu">
  ### Utilisez le menu de saisie semi-automatique
</div>

Le menu de saisie semi-automatique vous aide à trouver et à référencer correctement les variables existantes.

<Frame>
  <img src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=c0b31bd289dbe02e967429a89cc875ba" 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/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=2da5136f2cf142758f6e33d3d5b4c68d 280w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=ed9ef91a1ba0accd12f0b88eb172d3f8 560w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=f7fe2cf44b584282af00bfe75beb873a 840w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=ee50fd7bfdbee53ad58310799fe27b1d 1100w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=3ac1c9b641f77d3e442676b83a20a8aa 1650w, https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=8e1f5883e0460ef26b2a5c3e764febca 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=22a3bdc81cd74c96cdef8470e60ee20b" 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/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=34e352877f8f4e3e0b0454d12697b7f2 280w, https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=daea0970636a77da3620fd80acfb35c6 560w, https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=8a7f6ed4ceedc0bdcd347e6b5a3155e9 840w, https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=1318d218d5feb9177cf1d3af0677b6c1 1100w, https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=d912e2acdda53eb4c072f01967f16875 1650w, https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=e5c331a474cc8add10e642c4b6781fcb 2500w" />
</Frame>
