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

# Variables et fonctions utilitaires

> Apprenez à utiliser les variables dans les Formulaires pour les Actions.

Les variables vous permettent d’accéder aux données contenues dans les Formulaires et les Flux pour créer une logique commerciale et des automatismes personnalisés.

Voici quelques considérations de base 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 dont la valeur est `undefined (indéfini)`.
* Vous pouvez utiliser des opérateurs nuls pour gérer les variables dont la valeur est `null` ou `undefined`, par exemple :`{{fields.foo ?? fields.bar}}`.

## Variables disponibles

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

| Variable                   | \_Syntax          | Where              | Description                                                                  |
| -------------------------- | ----------------- | ------------------ | ---------------------------------------------------------------------------- |
| Contexte                   | `{{contexte.*}}`  | Formes / Flux      | Données contextuelles de référence de la transaction en cours                |
| Champs de formulaire       | `{{fields. *}}`   | Formulaires / Flux | Données de référence des champs de votre formulaire et des champs cachés     |
| Variables partagées        | `{{vars.*}}`      | Formulaires / Flux | Données de référence stockées en tant que variables partagées                |
| Sortie des actions de flux | `{{actions. *}}`  | Flux               | Données de référence de la réponse de sortie des actions de flux précédentes |
| Fonctions d’aide           | `{{fonctions.*}}` | Formulaires / Flux | Fonctions d’aide pour transformer les données                                |

### Variables de contexte

Les Formulaires et les Flux 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 (locataire)`, avec accès à la propriété suivante :

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

  * `transaction.state`

<Accordion title="Exemple d’objet contextuel">
  ```json lines 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..."
    }
  }
  ```
</Accordion>

Par exemple :  `{{context.user.user_id}}` référence `user_id` de l’objet `user`.

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=501566e8f7dc01ffa737a815c190a9fb" alt="Dashboard > Forms > Flows" data-og-width="1141" width="1141" data-og-height="219" height="219" data-path="docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=7c9f1eeaadfa0077a926e0d6a5463689 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=f1ea54870994bd6a3041105cdbe0cfac 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=ae617c49e45a0cf57812e6e3a86de917 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=fd92697c05d7931d6b9cdac5deb1d428 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=ba31e342d19f61fba3bf263c72a33945 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=754ee550109a9e706e0dbbea12ee1ccc 2500w" />
</Frame>

### Variables des champs du formulaire

Les variables de champ contiennent les données recueillies auprès de l’utilisateur dans les champs de saisie du formulaire et les données des champs cachés. Les données de chaque champ varient en fonction du type de champ. Par exemple : `{{fields.first_name}}` référence la valeur saisie dans le champ ayant l’ID `first_name`.

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=d2a6bc6ad73e5aaf6b04c367e5eb07f6" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="497" height="497" data-path="docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=5c4172326fc62f071bf5a2cf4975b65a 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=be0083b7fcb744a9df03c2354e024f8b 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=90bcf62d8767816dbdee43158bcfe6c7 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=47e11f5393f407fd7dc6821070c0768e 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=d1900bf7c8dd41e2638ccb8e432ff068 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=6e2f2f5a9c1e9502f55a2c848c2c614b 2500w" />
</Frame>

### Variables des actions de sortie de flux

Lorsqu’une action de flux est exécutée, elle génère un objet qui peut être référencé dans les actions suivantes. Par exemple : `{{actions.generate_otp.code}}` référence le code résultant de l’action avec l’ID`generate_otp`.

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=a3fff09912c095e869dcb18858fe0a61" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="253" height="253" data-path="docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=22df17b1a9d703bf7e9bed95e7aa1de5 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=c71912c756dcc124a940b7bdab9945d0 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=4789004662b86539169bda3fb4527636 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=dfc263a8ca6a14310137aa5f3f9d5aa0 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=e0a06d29dbec7cc3f35e19db34bf358b 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/O0lVRV1QHxOddj-W/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=O0lVRV1QHxOddj-W&q=85&s=cbd45e82c84492aed14aecd6360c7ca6 2500w" />
</Frame>

### Variables partagées

Vous pouvez stocker des variables à partager avec des flux ultérieurs ou même avec des composants de formulaire dans la même transaction. Les variables partagées sont éphémères et sont associées à un parcours de formulaire spécifique. Leurs valeurs ne sont pas accessibles en dehors de ce parcours. Par exemple : `{{vars.external_id}}` référence la valeur d’une variable partagée avec l’ID `external_id`.

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=5a3f5a72d7433befe65bee08aa456229" alt="Dashboard > Actions > Forms > Flows" data-og-width="1215" width="1215" data-og-height="162" height="162" data-path="docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=14aa4e646652a606eb0714ea824f6c31 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=97356ad5581104f4b62a7a7ea4a24db7 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=ec69e4a059350b2d1fe2fcb1428e9ecb 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=a560a83dd909fdf2e59dc158358a4cf3 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=9a839f49165dc298a5dc6befafb95aba 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=ae685bff4fdf244eb40ac96542cf3e65 2500w" />
</Frame>

<Warning>
  Variables partagées :

  * elles sont internes (côté serveur) et ne sont pas exposées au navigateur (côté client).
  * elle peuvent être résolues et exposées au navigateur si vous avez référencé une variable partagée dans le composant de formulaire.
</Warning>

### Fonctions utilitaires

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

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=ae2577b413eae74c64958b1f1c38bcf0" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="290" height="290" data-path="docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=f71d3d593b774e939263b9479575938e 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=e094cb68ce1a0578d66cdcd86aa8ead6 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=cbdedd776bc20a6c49b9ec18ad4d2f7c 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=927882630a89221d93eda6be2474a746 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=8ad802acdab5e2f566f9ffbde1ea25b4 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/Mr1r1I5hB3vaRVDx/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=Mr1r1I5hB3vaRVDx&q=85&s=b56c9e3ed0c1d227d512347e4c3679cc 2500w" />
</Frame>

Les fonctions utilitaires disponibles sont les suivantes :

| Fonction                               | Description                                                                                                                                                                                                                                                                                   | Exemple                                                                                                          |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| toArray(value)                         | Convertit la valeur en un tableau                                                                                                                                                                                                                                                             | {"{{ functions.toArray('abc') }}"} // \['abc']                                                                   |
| toBoolean(value)                       | Convertit la valeur en valeur booléenne                                                                                                                                                                                                                                                       | {"{{ functions.toBoolean(1) }}"} // true<br /><br />{"{{ functions.toBoolean(0) }}"} // false                    |
| length(value)                          | Renvoie la longueur de la valeur du paramètre                                                                                                                                                                                                                                                 | {"{{ functions.length('auth0') }}"} // 5                                                                         |
| mask(value)                            | Masque une valeur pour éviter l’exposition dans les exécutions                                                                                                                                                                                                                                | {"{{ 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 minimales et maximales incluses.                                                                                                                                                                                                        | {"{{ functions.random(0, 6) }}"} // 4<br /><br />{"{{ functions.random(0, 6, true) }}"} // 3.8523497...          |
| slice(value, start, end)               | Renvoie une section d’un tableau de valeurs ou d’une chaîne de caractères entre les indices de début et de fin.                                                                                                                                                                               | {"{{ functions.slice( 'example', 3, 5) }}"} // 'mp'                                                              |
| toString(value)                        | Convertit la valeur en chaîne                                                                                                                                                                                                                                                                 | {"{{ functions.toString(123) }}"} // '123'                                                                       |
| substring(value, start, end)           | Renvoie une section d’une valeur entre les indices de début et de fin. En savoir plus sur 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)                      | Renvoie la date fournie en heure UNIX                                                                                                                                                                                                                                                         | {"{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }}"} // 1619776970                                        |
| toTimestamp(date)                      | Renvoie la date fournie en heure UNIX                                                                                                                                                                                                                                                         | {"{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }}"} // 1619776970                                        |
| replaceAll(value, string, replacement) | Renvoie une nouvelle chaîne dans laquelle toutes les correspondances d’un modèle sont remplacées par un substitut.                                                                                                                                                                            | {"{{ functions.replaceall('2021-04-30', '-', '/') }}"} // 2021/04/30                                             |
| replace(value, string, replacement)    | Renvoie une nouvelle chaîne dans laquelle toutes les correspondances d’un modèle sont remplacées par un substitut. 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 divisées par 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?) | Renvoie le fait qu’un tableau contienne une certaine valeur parmi ses entrées.                                                                                                                                                                                                                | {"{{ 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’est pas présent.                                                                                                                                                                             | {"{{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }}"} // 1                            |
| merge(base, value)                     | Renvoie un tableau fusionné, un objet ou concatène une chaîne de caractères en fonction du type de données de base.                                                                                                                                                                           | {"{{ functions.merge(['auth0', 'identity'], ['authentication']) }}"} // \['auth0', 'identity', 'authentication'] |
| md5(value)                             | Renvoie une valeur hachée MD5.                                                                                                                                                                                                                                                                | {"{{ functions.md5('auth0') }}"} // 7bbb597...                                                                   |
| sha1(value)                            | Renvoie une valeur hachée SHA1.                                                                                                                                                                                                                                                               | {"{{ functions.sha1('auth0') }}"} // b4ec5339...                                                                 |
| sha256(value)                          | Renvoie une valeur hachée SHA256.                                                                                                                                                                                                                                                             | {"{{ functions.sha256('auth0') }}"} // d9082bdc...                                                               |
| sha512(value)                          | Renvoie une valeur hachée SHA512.                                                                                                                                                                                                                                                             | {"{{ functions.sha512('auth0') }}"} // c0d588069d...                                                             |
| uuid()                                 | Renvoie un UUID v4 aléatoire                                                                                                                                                                                                                                                                  | {"{{ functions.uuid() }}"} // 36b8f84d-df4e-4d49-b662-bcde71a8764                                                |

## Meilleures pratiques pour les variables

### Utiliser des ID significatifs

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

Mettez à jour l’ID avec une valeur plus descriptive afin de pouvoir identifier les informations qu’il contient. Par exemple, si vous créez un champ de Formulaire qui stocke le prénom de l’utilisateur, modifiez l’ID en `first_name`.

### Soyez vigilant lorsque vous mettez à jour des ID existants

Si une variable est déjà utilisée et que vous devez modifier son ID, identifiez l’endroit où vous l’avez référencée et mettez l’ID à jour en conséquence pour éviter les valeurs indéfinies ou vides.

### Vérifier l’exécution des Flux

Si vous constatez une valeur de variable inattendue, utilisez l’aperçu [**Executions (Exécutions)**](/docs/fr-ca/customize/forms/flows/flow-execution-and-debugger) pour dépanner la variable.

### Utiliser le menu de remplissage automatique

Le menu de remplissage automatique vous aide à localiser et à référencer correctement les variables existantes.

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=2ffae6d2e1b38e8715128742a12e3cdc" alt="Dashboard > Actions > Forms > Flows" data-og-width="1361" width="1361" data-og-height="502" height="502" data-path="docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=209378a706cdb9560356de330afd30cd 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=ee73625907b1b89399c4a83b195feda4 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=34342e979cd50be971b57dd9d9d84f51 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=347401ea9c114dafc055c9f4046e3084 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=94963906f697756fb8b68a488a075594 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/_VjLehzyCiOjRwOS/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=_VjLehzyCiOjRwOS&q=85&s=b4a4ee681bac8eac10bb9b514b7a6c80 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=1f37f39c6e3583eff717e3d390bcf370" alt="Dashboard > Actions > Forms > Form" data-og-width="1394" width="1394" data-og-height="630" height="630" data-path="docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=f34c42e903e457173262e7b6a26de52b 280w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=39df25b8ba0e62f06fffc928c222b4fe 560w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=f5e2aa83f6be2fd4e04ea6f477567109 840w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=dd53f146e0644bfbac8486d87d0f9613 1100w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=792b8fbb6c05b20ef19be2924f7c2f71 1650w, https://mintcdn.com/docs-staging-actions-transaction-metadata/DB2mPDA1-8HwsNkz/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=DB2mPDA1-8HwsNkz&q=85&s=dfd572478f768789699b16906370e4aa 2500w" />
</Frame>
