> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-feat-acul-js-sdk-1-7-0-docs.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-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=66917b0ad906e53d5a217c477b4988bd" 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-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=522ae060c308419227f678b8104c055e 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=0df6cbe812e0cce17feba10ab7688fe5 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=0dae8ab453a0674035955c3b23a3376d 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=4fbc8cf39ecb6b77aba28035b1e90b47 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=df102a8389af0e341c4a1b5235a331f7 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=5654da1ddc8771f5e63c9d154bdd0761 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-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=b645b9688e0e5f37669bbe5dbd7cca6e" 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-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=7fc703d54db63cceff0b71e9d9c95d7f 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=7d99a1c1e4a75d3faa331819651e4a5d 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=469c1f0d91c9f6f1dc39f673270b4307 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=830665cd2b023cb734e8770f5513e7ef 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=a93a66ca9241045cde93fdbc85b54b15 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=9069077e6479bd2e1820398ad13c352c 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-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=0d01b769850fa56593d99284c78ac8e8" 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-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=98f3ee42ba464e9c42f1fd7f81d0f479 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=87a44674597be3d317d4fd14b0360b5d 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=df3056a641129d7b69dbd05734560013 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=1b28c53b6bba54f96ae8f16320604528 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=dd6ae68b04b22a451ff2b10a02ae8706 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/nXg_XB7T7uh9Wmhe/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=nXg_XB7T7uh9Wmhe&q=85&s=1e53fb773d7ef94c66e88a8c37bbf915 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-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=66c349f683d9efa5b39cb5b57787baa6" 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-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=4172879290e1708be62f1c2373a3251f 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=4f8b639fed2381928f613f8bdf830d4c 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=c4d3bffdb49356eabaeb0631b21c5ea9 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=db4ddc252b55fafad5f632587f3d05a3 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=6af080dd95ef36514d0af9af027cd9a3 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=159b9b218c5b193fc7ba51b4135c70eb 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-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=f080670752bb5f746940a720f53e892c" 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-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=5a798df08de6005eb432997cb17276fb 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=6a1417c14edc6caaff4ac2df96b9af6e 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=1185614cd991d4c6978a508cd441754c 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=6ce9a1e1dc0e42e7235ee8afb06dc264 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=865cc8b3f275c74acdab47e48810b18e 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/QvnlfEC9OuzXQNvS/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=QvnlfEC9OuzXQNvS&q=85&s=8cac8798a56671ba667b0de038bb7bca 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-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=18a11a76a87a9dbbc5f634d415c18eca" 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-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=b5d7ac56948fea3ab750b0b08e5caae3 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=fdef142dc55f0e1a8c14596b9a368f6e 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=84ae9410e321c5ca34618cc64ced5793 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=4698202af32bb435c43cbb06921f5898 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=d5d7715d453b54a6f6aadc74ce7b9cd4 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/Dt4C5bb7Icj1Ds1I/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=Dt4C5bb7Icj1Ds1I&q=85&s=a942cb8848b417f876e44a5aad931be7 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=b1643c8f85c632cc568977cf53cb2305" 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-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=f9872e89b1002d2949e300097b031c9a 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=cc44232fccaab8018a03f492ff1b6eb2 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=a7513d0c635c11b9f93f64efbd68129b 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=4c23f90c46dcbfa5673f68b9a303fc7e 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=2039dd7ed3e93b218b22f42ed5c69a82 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/NUsNPiiSIoeoYMIB/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=NUsNPiiSIoeoYMIB&q=85&s=579eee825fdd438db9bfd4d781a40791 2500w" />
</Frame>
