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

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

# Variables et fonctions utilitaires

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

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

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

<h2 id="available-variables">
  Variables disponibles
</h2>

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

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

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

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

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

  * `user.user_id`
  * `user.username`
  * `user.name`
  * `user.given_name`
  * `user.family_name`
  * `user.nickname`
  * `user.email`
  * `user.email_verified`
  * `user.phone_number`
  * `user.phone_verified`
  * `user.picture`
  * `user.user_metadata`
  * `user.app_metadata`
  * `user.created_at`
  * `user.updated_at`
  * `user.last_password_reset`
  * `user.identities`
* L’objet `organization`, avec accès aux propriétés suivantes :

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

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

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

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

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

<Accordion title="Exemple d’objet de contexte">
  ```json lines expandable theme={null}
  {
    "user": {
      "user_id": "auth0|658409...",
      "name": "ana@travel0.com",
      "nickname": "ana",
      "email": "ana@travel0.com",
      "email_verified": true,
      "picture": "https://s.gravatar.com/avatar/8eb1b522f6...",
      "user_metadata": {},
      "app_metadata": {},
      "created_at": "2023-12-21T09:46:40.487Z",
      "updated_at": "2024-05-07T10:44:26.271Z",
      "last_password_reset": "2023-12-21T09:49:08.932Z",
      "identities": [
        {
          "user_id": "6584...",
          "isSocial": false,
          "provider": "auth0",
          "connection": "Username-Password-Authentication"
        }
      ]
    },
    "client": {
      "client_id": "xpeg5...",
      "name": "My App"
    },
    "tenant": {
      "name": "tenant-testing"
    },
    "transaction": {
      "state": "hKFo2SBId2M0...",
      "correlation_id": "txn_12345_xyz"
    },
    "custom_domain": {
      "domain": "example.com",
      "domain_metadata": {
        "key": "value"
      }
    }
  }
  ```
</Accordion>

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=d6af35498f3556fb2111a3585354f5c2" alt="Dashboard > Forms > Flows" data-og-width="1141" width="1141" data-og-height="219" height="219" data-path="docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=5ba690e824aadbee5c0133eaf737c0f4 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=f21a38e7b88133e3ea5418140d143e01 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=3d7dd47f82d49f8f9711767dc688d563 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=0f3c9fa95e8a8a46a5c08d3e1db40239 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=8e02cdfc751a438cfe1a9528e09c6276 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=57a28e464f3c180f756f13411cbf7aaf 2500w" />
</Frame>

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

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=9cf94ac9315328be222ab3fdbc28c0da" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="497" height="497" data-path="docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=7f703a81e9d0ecc02515ffc72e200e50 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=04b85cb8659fd556a39190a5da283d6d 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=7d985efcfd5ebd2bceacc68253b0ce3f 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=098ad0cccc5e68e93f9a5887ab6ea276 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=468aadf6d90a142f1d5d8f4a35d487f8 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=94e16f0b236546e03aa05a970922a27f 2500w" />
</Frame>

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

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=484e85849a9c46761e5058e0d3762966" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="253" height="253" data-path="docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=307913f1b51565dc5da18578905a19fc 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=035f395d758d9a470e7d6be39dbaa32e 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=8327b1c80633543b791a11f1f76a2c54 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=43eb2849b0f59ef63e3207ea7b4046f2 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=60f11b58f688143e6a5abc6053118773 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/0tYOZc0OW-lAvvrU/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=0tYOZc0OW-lAvvrU&q=85&s=bbce78f752664145f5a00f26fb9a02fd 2500w" />
</Frame>

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

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=9bb47c3dd4711fad291dee33d1802821" alt="Dashboard > Actions > Forms > Flows" data-og-width="1215" width="1215" data-og-height="162" height="162" data-path="docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=4f04928639ae6e18e8f60afe3ac5bd36 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=b4350c3cb63ff206f501c849e5737926 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=239c41b0d708847ca31ddb34dc9b4f33 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=d6efa2921a1ded772c907973295fa377 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=6e42314d2ecf8311fa546320258e45e0 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vhoOq7UxR6ZN5JHG/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=vhoOq7UxR6ZN5JHG&q=85&s=fe6b218a10a6e0cf2b3ff997364f222f 2500w" />
</Frame>

<Warning>
  Variables partagées :

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

<h3 id="helper-functions">
  Fonctions utilitaires
</h3>

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=9a1c6098edb68a1aeb529faa174d175f" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="290" height="290" data-path="docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=bee29dd297097abce02afbab85d97d74 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=418a9987708d657d6c437c3b300cb4e1 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=8bbd8f0b84e43bff80bcdb9f996bedba 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=28e0817115bf7d0d64cd5b40d9dbddd1 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=e032f41d7259590397af67fb47adfbd1 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/vVLrCzoor0V6dTvM/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=vVLrCzoor0V6dTvM&q=85&s=b54eb8c6ab487bcfbdfa39d32e92b3d2 2500w" />
</Frame>

Les fonctions utilitaires disponibles sont :

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

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

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

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

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

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

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

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

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

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

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

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=4a6771b72981a4809a76af7477492ebb" alt="Dashboard > Actions > Forms > Flows" data-og-width="1361" width="1361" data-og-height="502" height="502" data-path="docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=88d82713fd2a4565819eff5a988fe7b7 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=3a3a6e640a8560a8b8a31b3c60543d7d 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=9f6bce66aedbae6a06490d954eaa1f10 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=84b3716708762cf471de4700092ecf5f 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=fe05c944e80d8bc79f66c006fd378153 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/ON-pZCLvus2Xp7h0/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=ON-pZCLvus2Xp7h0&q=85&s=b619a4f84b3279755f758d491477d1c4 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=2ec54aa40fd67e85be41b1cdc74fb9c8" alt="Dashboard > Actions > Forms > Form" data-og-width="1394" width="1394" data-og-height="630" height="630" data-path="docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=baf6351c3fd02ab4e5e0d9183ec6131c 280w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=b17638b31bbfab40954561ac2ec64d75 560w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=5b3038963d40dd53f5a149b1b309feee 840w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=e514c6dce6311fcd47472119dbdba926 1100w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=08a84006861801813f82b22a03091682 1650w, https://mintcdn.com/docs-dev-feat-sdk-reference-docs/cH8SproRs4WJoPzC/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=cH8SproRs4WJoPzC&q=85&s=8e8ae0504888f4c5ce2a88a4acc027a1 2500w" />
</Frame>
