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

> Découvrez comment rédiger une Action : choisir un flow, créer une Action, la configurer et la lier au flow.

# Rédigez votre première Action

Ce guide vous montrera comment créer et déployer votre première Action à l’aide du <Tooltip tip="Auth0 Dashboard : le principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>. À la fin, vous devriez comprendre les fonctions de base que vous utiliserez avec toutes les Actions et être à l’aise avec le modèle de programmation. Ce que vous apprendrez constitue la base de la rédaction de toute Action, quel qu’en soit l’objectif ou le flow utilisé.

<div id="the-goal-notify-slack-on-user-login">
  ## L’objectif : envoyer une notification à Slack lors de la connexion d’un utilisateur
</div>

Vous créez une Action qui envoie un message dans un canal Slack lorsqu’un utilisateur se connecte. Bien que ce tutoriel utilise le déclencheur Post Login, les renseignements fournis ici sont utiles pour des déclencheurs de tout type.

Pour accomplir cette tâche, vous ferez ce qui suit :

* [Créer une Action](#create-an-action)
* [Ajouter un Secret](#add-a-secret)
* [Ajouter une dépendance](#add-a-dependency)
* [Enregistrer le brouillon](#save-the-draft)
* [Ajouter une logique personnalisée](#add-custom-logic)
* [Tester une Action](#test-an-action)
* [Déployer une Action](#deploy-the-action)
* [Associer une Action à un Flow](#attach-the-action-to-a-flow)
* [Voir les résultats d’une Action dans le journal du tenant](#observe-actions-in-tenant-logs)

<div id="prerequisites">
  ## Prérequis
</div>

Comme cette Action enverra des messages sur un canal Slack, vous devez [créer un Incoming Webhook pour un espace de travail Slack](https://api.slack.com/messaging/webhooks). Une fois l’URL du webhook Slack obtenue, vous pouvez poursuivre ce guide.

<div id="create-an-action">
  ## Créer une Action
</div>

Pour qu’une Action fonctionne dans un flow précis, vous devez d’abord créer l’Action, puis l’ajouter à un flow.

1. Accédez à [Auth0 Dashboard > Actions > bibliothèque,](https://manage.auth0.com/#/actions/library), puis sélectionnez **créer une Action** > **Build from scratch**.
2. Saisissez un **Name** et sélectionnez le déclencheur **Login / Post Login**, puisque vous ajouterez une Action au Login flow, puis sélectionnez **Create.**

L’éditeur de code Actions s’affiche :

<Frame>
  <img src="https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/12Q8OEuDI39eWuWsrVVwN0/ff7dd385d33aee704e1cb603f43c679b/2025-02-28_13-27-14.png?fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=2297ddea8163f88caa55eff5da1451b1" alt="éditeur de code Actions" width="902" height="507" data-path="docs/images/cdy7uua7fh8z/12Q8OEuDI39eWuWsrVVwN0/ff7dd385d33aee704e1cb603f43c679b/2025-02-28_13-27-14.png" />
</Frame>

<div id="create-an-action-from-a-template">
  ## Créer une Action à partir d’un modèle
</div>

La galerie de modèles pour Actions propose plusieurs modèles de départ pour vous aider à créer une Action. Pour créer une Action à partir d’un modèle :

1. Accédez à [Auth0 Dashboard > Actions > Bibliothèque](https://manage.auth0.com/#/actions/library), puis sélectionnez **Créer une Action**.
2. Sélectionnez **Choisir à partir d’un modèle**.
3. Sélectionnez le modèle que vous souhaitez utiliser pour créer une Action.
4. Vous devriez maintenant voir un aperçu en lecture seule du code du modèle. Pour continuer, sélectionnez **Utiliser ce modèle**.
5. Entrez un nom, puis sélectionnez **Créer**.

<div id="add-a-secret">
  ## Ajouter un Secret
</div>

Chaque Action peut contenir des Secrets, qui conviennent au stockage de renseignements sensibles, comme les <Tooltip tip="Jetons d’accès : identifiants d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisés pour accéder à une API." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Access+Tokens">Jetons d’accès</Tooltip> et les clés API. Stockons l’URL du webhook Slack dans un Secret.

1. Sélectionnez l’icône en forme de clé dans la barre latérale gauche de l’éditeur de code
2. Sélectionnez **Add Secret**.
3. Donnez au Secret le nom suivant : `SLACK_WEBHOOK_URL`.
4. Collez l’URL du webhook fournie par Slack et sélectionnez **Create**.

Vous verrez que le Secret a été ajouté à l’Action et vous pourrez utiliser ce nouveau Secret grâce à l’autocomplétion intelligente en tapant `event.secrets`.

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4FyFtKRSIYuigxE9U8TkEJ/9598b5909694631ca673f748abf2268a/Screen_Shot_2022-02-09_at_3.24.05_PM.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=c05b92ab3da7350c96d58075b67d0fc4" alt="Actions Code Editor - Votre Secret a été ajouté à la section Secrets." width="1325" height="780" data-path="docs/images/cdy7uua7fh8z/4FyFtKRSIYuigxE9U8TkEJ/9598b5909694631ca673f748abf2268a/Screen_Shot_2022-02-09_at_3.24.05_PM.png" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Une fois un Secret créé, sa valeur ne sera jamais affichée. Auth0 chiffre tous les Secrets et les stocke en toute sécurité.
</Callout>

<div id="add-a-dependency">
  ## Ajouter une dépendance
</div>

Vous utiliserez le [`@slack/webhook` package `npm`](https://www.npmjs.com/package/@slack/webhook) pour faciliter l’envoi d’un message à Slack. Vous pouvez utiliser presque n’importe quel package `npm` public dans une Action, à condition qu’il puisse être installé sans dépendre de [modules complémentaires natifs](https://www.npmjs.com/package/node-gyp).

Pour ajouter la dépendance :

1. Sélectionnez l’icône Dependency (icône en forme de cube) dans la barre latérale.
2. Pour **Name**, entrez `@slack/webhook`.

   Par défaut, votre Action utilisera la version la plus récente de la dépendance au moment de son ajout.
3. Sélectionnez **Create** et la dépendance devrait être ajoutée à l’Action :

   <Frame>
     <img src="https://mintcdn.com/translations/mMSz-RNYLuOm2GmQ/docs/images/cdy7uua7fh8z/Jmzvgydo204pBLikzuDJy/1d9a614b4c92f27afbbdd2b2af3b3c0b/Screen_Shot_2022-02-23_at_11.28.41_AM.png?fit=max&auto=format&n=mMSz-RNYLuOm2GmQ&q=85&s=5b1c3a88cec8f529524d445f3b823452" alt="Éditeur de code Actions : Votre dépendance a été ajoutée." width="1504" height="614" data-path="docs/images/cdy7uua7fh8z/Jmzvgydo204pBLikzuDJy/1d9a614b4c92f27afbbdd2b2af3b3c0b/Screen_Shot_2022-02-23_at_11.28.41_AM.png" />
   </Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Lorsque vous enregistrerez cette Action, la version la plus récente de votre dépendance sera résolue et remplacée par un numéro de version précis afin d’éviter que de futures mises à jour du package ne compromettent votre Action.
</Callout>

<div id="save-the-draft">
  ## Enregistrer le brouillon
</div>

Sélectionnez **Enregistrer le brouillon**. Votre Action est enregistrée, mais elle ne sera pas encore exécutée dans les flux utilisateur. Avec Actions, vous pouvez créer, modifier et tester des Actions avant qu’elles n’aient une incidence sur le trafic de votre tenant Auth0. Une fois que le comportement de l’Action vous convient, vous déploierez l’Action et l’ajouterez à un Flow par la suite.

<div id="add-custom-logic">
  ## Ajouter de la logique personnalisée
</div>

Maintenant que l’Action a été configurée avec un Secret et une dépendance, passons au code!

Chaque Action comporte un objet d’événement contenant des renseignements contextuels en lecture seule pertinents pour le déclencheur associé. Si vous commencez à taper `event.` dans l’éditeur, toutes les propriétés disponibles de l’événement devraient s’afficher. Pour en savoir plus sur les renseignements offerts pour chaque déclencheur, consultez [Explorer les Flows et les déclencheurs](/docs/fr-ca/customize/actions/explore-triggers).

Utilisons notre Action pour envoyer une notification à Slack. Ajoutez ce code à votre action :

```javascript lines theme={null}
const { IncomingWebhook } = require('@slack/webhook');

exports.onExecutePostLogin = async (event, api) => {
    const url = event.secrets.SLACK_WEBHOOK_URL;
    const webhook = new IncomingWebhook(url);

    // Envoyer la notification
    await webhook.send({ text: "Logging In..." });
};
```

Sélectionnez **Enregistrer le brouillon** pour enregistrer votre Action.

<div id="test-the-action">
  ## Testez l’Action
</div>

Avant d’exécuter cette Action dans votre tenant avec du trafic réel, testez-la pour vous assurer qu’elle fonctionne comme prévu.

1. Sélectionnez l’icône Test (triangle) dans la barre latérale. Dans la section Payload, vous verrez des données JSON modifiables associées au déclencheur que vous avez sélectionné lors de la création de l’Action.

   <Frame>
     <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4MSu8EfpMLNJpcYtrwP7Jf/66480a0434c89eadb809012bca890037/Screen_Shot_2022-02-10_at_10.01.10_AM.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=268f5e08a17c3c3c3cfb96ee843f234d" alt="Éditeur de code Actions : panneau Test Runner" width="378" height="644" data-path="docs/images/cdy7uua7fh8z/4MSu8EfpMLNJpcYtrwP7Jf/66480a0434c89eadb809012bca890037/Screen_Shot_2022-02-10_at_10.01.10_AM.png" />
   </Frame>
2. Sélectionnez le bouton **Run** et vous devriez voir un message apparaître dans votre canal Slack.

<div id="deploy-the-action">
  ## Déployer l’Action
</div>

Maintenant que nous avons confirmé que l’Action fonctionne comme prévu, il est temps de la déployer.

Sélectionnez **Deploy**. Le déploiement d’une Action prend un instantané de l’Action à ce moment précis et l’enregistre comme une **version d’Action**.

Sélectionnez **Version History**; vous devriez y voir l’Action enregistrée comme version 1 :

<Frame>
  <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/53sn70cXoxUHibc3Bmk7Og/193af512ac2b58f3d60ab36ca5499d90/Screen_Shot_2022-02-10_at_10.02.47_AM.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=12536896fe948de77396c8fe71126359" alt="Actions : historique des versions" width="326" height="177" data-path="docs/images/cdy7uua7fh8z/53sn70cXoxUHibc3Bmk7Og/193af512ac2b58f3d60ab36ca5499d90/Screen_Shot_2022-02-10_at_10.02.47_AM.png" />
</Frame>

Vous pouvez maintenant mettre à jour votre Action et l’enregistrer sans modifier la version 1 de votre Action. Auth0 n’exécute que la version actuellement déployée d’une Action. Ainsi, tant que vous ne déployez pas de nouveau l’action, c’est la version 1 qu’Auth0 exécutera.

<div id="attach-the-action-to-a-flow">
  ## Associer l’Action à un Flow
</div>

La dernière étape pour configurer une nouvelle Action afin qu’elle soit exécutée dans le trafic de votre tenant consiste à l’associer à un Flow.

1. Accédez à [Auth0 Dashboard > Actions > Flows](https://manage.auth0.com/#/actions/flows) pour afficher la liste des Flows disponibles :
2. Sélectionnez le [Login flow](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) et faites glisser `my-slack-action` dans le flow.

   <Frame>
     <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6hU7sKWtGzSx9Z8dhsXbvp/0253fb4e9eac1133cc9626385622c54e/Login_Action_-_English.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=fd50d3f8faf41e106597bd9f48f6adac" alt="Actions Flows : Login Flow" width="842" height="836" data-path="docs/images/cdy7uua7fh8z/6hU7sKWtGzSx9Z8dhsXbvp/0253fb4e9eac1133cc9626385622c54e/Login_Action_-_English.png" />
   </Frame>
3. Sélectionnez **Apply**.

L’Action s’exécute maintenant sur du trafic utilisateur réel dans votre tenant. Si vous souhaitez un environnement de test plus robuste, envisagez de [configurer plusieurs environnements Auth0](/docs/fr-ca/get-started/auth0-overview/create-tenants/set-up-multiple-environments).

<div id="observe-actions-in-tenant-logs">
  ## Consulter les Actions dans les journaux du tenant
</div>

Maintenant que votre Action s’exécute dans le cadre du Login flow, Auth0 consigne des renseignements sur chaque exécution d’Action dans les journaux du tenant. Pour les consulter, accédez à [Auth0 Dashboard > Monitoring > Logs](https://manage.auth0.com/#/logs), puis sélectionnez un événement **connexion réussie**.

Vous devriez voir une vue **Détails de l’Action** qui contient des renseignements sur toutes les Actions exécutées dans le cadre de ce flow.

<Frame>
  <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/61k82wmsXSb9M3wOExM4jH/51fae3a36a8ecddeec08bc45da468e2b/Action_logs_-_English.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=bbae31682ef23d5f086dd7df335cfedf" alt="Journaux du tenant : vue Détails de l’Action" width="1079" height="1010" data-path="docs/images/cdy7uua7fh8z/61k82wmsXSb9M3wOExM4jH/51fae3a36a8ecddeec08bc45da468e2b/Action_logs_-_English.png" />
</Frame>

<div id="next-steps">
  ## Prochaines étapes
</div>

Maintenant que vous avez créé votre première Action, consultez [Découvrir les Flows et les Déclencheurs](/docs/fr-ca/customize/actions/explore-triggers) pour voir comment effectuer certaines tâches courantes avec Actions.
