> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-fix-update-domain-refs.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-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=7c2e8e78cf90f8532afe11a98689f796" 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-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=144106e47564fe13f76dbaeeb69b0d6b 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=1f1d2985f77661e3bcee1cfe9d2c5f61 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=84e11a9a9e6569751b5b55bac652fb0a 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=286d86022c8ca1b6a334cb6ac509ac55 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=79d08613649a00cef49441e6ba2d265e 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=2721291f66473975078103d633d15aa8 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-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=99a26ab6e2fab3b855a076f6c6c82586" 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-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=afb508b0c2a52eafd6871d16fbbbffbd 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=dd842ee0df276e946264fe5cad2b64e0 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=62bdc9f5af756f1e20c9592d0bc3def0 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=38a9fc30fad3540ddbbfdc6d27066920 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=affd82e64ec681df4264c5f94eb00d8a 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=c0c8146dc627fecc8a12ae74dd214dd2 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-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=a9666ed45dd9820511b40b82a76b85c8" 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-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=c0bcd6158c20b2d42f66f375b881b261 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=a0f905e98935e60071b54fe57d0e4130 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=8cd5b59dd6c116ad986191e6d20266e0 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=661ec4a9e4a32ab13f2f65b1dd6abcfa 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=523a4b72c8e2351bd17a6500394c8e50 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/u1He5pflxJIJglyq/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=u1He5pflxJIJglyq&q=85&s=dee0643fbcafd34c8214967406b604bb 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-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=feabc7a3d1667c27ff4501e4c03af19c" 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-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=ebcb3a4a44847ddf57d7ada30e9a7bff 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=aa9560e105779e3271dc7576244a62c5 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=bd34b169814083e6d9c37660bca3e1a6 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=121c50647da76a8f7ff6b657a99cdf39 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=1446fc875c963fd92861f100ad021369 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/uQ0E5k_VoCpprg4a/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=uQ0E5k_VoCpprg4a&q=85&s=afb531436bca17bdea358d982345e5ab 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-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=6274fc58fd7058a03f158422d948356c" 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-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=47fc97f11e020d50e54408030958174b 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=902112d0207dff8ea5c13541e5748bdc 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=a6f1644c85c5b5356ca046b908849f3e 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=cd5fe56d9eaeb1595910a88aff08343d 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=ffc669ceb4513d69914398d5d050e398 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/cQV4E0rGNtMa8Ri_/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=cQV4E0rGNtMa8Ri_&q=85&s=6e2a0387a407dd7f55dd7981b27546da 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-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=f961ebeb6e9e724780a94327d2955a35" 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-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=72e9d628fbe78a26662e91e685e07fcc 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=c1adee0b354ac046f3a2a0ca6bd16dbf 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=0b630e4120aa610c16f0f25f2d5898bf 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=205e8d733876a80a603e69807d328118 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=a7c5210826808e11b1c8955b50079bb3 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=512a80b5d12e7a1c2cf292b12d1f6fab 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=601bed89984073b6a96f569b53ff0fe0" 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-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=48c43a5dd9fdcc59706f6cf9b69301fa 280w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=557358d594977e6f7ac5b96a40b7df52 560w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=7ea0e166fec759062ea6eedad759c6c6 840w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=9be05b068c8ad8a17b415a5a9c3047e4 1100w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=a6e64b79b611b0942447a5138469e4bb 1650w, https://mintcdn.com/docs-staging-fix-update-domain-refs/ZLMh4FowXjfpBfg7/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=ZLMh4FowXjfpBfg7&q=85&s=8aade459dae932ff390f943a94c9e5ee 2500w" />
</Frame>
