> ## 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, notamment en choisissant un flux, en créant une Action et en la configurant, puis en l’associant au flux.

# 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 : principal produit Auth0 pour configurer vos services." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>. À la fin, vous devriez comprendre les fonctionnalités de base que vous utiliserez avec toutes les Actions et bien connaître le modèle de programmation. Ce que vous apprendrez constitue la base nécessaire pour rédiger n’importe quelle Action, quel que soit son objectif ou le flux.

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

Vous allez créer une Action qui envoie un message à un canal Slack lorsqu’un utilisateur se connecte. Même si ce tutoriel utilise le déclencheur Post Login, les renseignements fournis ici s’appliquent à des déclencheurs de tout type.

Pour effectuer 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 flux](#attach-the-action-to-a-flow)
* [Voir les résultats d’une Action dans les journaux du locataire](#observe-actions-in-tenant-logs)

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

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

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

Pour utiliser une Action dans un flux donné, vous devez d’abord créer l’Action, puis l’ajouter à un flux.

1. Accédez à [Auth0 Dashboard > Actions > Bibliothèque,](https://manage.auth0.com/#/actions/library) puis sélectionnez **Créer une Action** > **Créer à partir de zéro**.
2. Saisissez un **Nom** et sélectionnez le déclencheur **Login / Post Login**, puisque vous ajouterez une Action au flux de connexion, puis sélectionnez **Créer**.

L’éditeur de code des 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 des 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 d’Actions propose divers 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 **Create Action**.
2. Sélectionnez **Choose from template**.
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 **Use this template**.
5. Entrez un nom, puis sélectionnez **Create**.

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

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

1. Sélectionnez l’icône de clé dans la barre latérale gauche de l’éditeur de code.
2. Sélectionnez **Ajouter un secret**.
3. Donnez au Secret le nom suivant : `SLACK_WEBHOOK_URL`.
4. Collez l’URL du webhook fournie par Slack, puis sélectionnez **Créer**.

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="Éditeur de code Actions - Votre secret a été ajouté dans 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 plus 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 package [`@slack/webhook` `npm`](https://www.npmjs.com/package/@slack/webhook) pour faciliter l’envoi d’un message dans Slack. Vous pouvez utiliser presque n’importe quel package `npm` public dans une Action, à condition qu’il puisse être installé sans recourir à des [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. Dans **nom**, 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**; 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 enregistrez cette Action, la version la plus récente de votre dépendance est résolue et remplacée par un numéro de version précis afin d’éviter que de futures mises à jour du package ne nuisent au fonctionnement de 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 un flux utilisateur. Avec Actions, vous pouvez créer, modifier et tester des Actions avant qu’elles n’aient un effet sur le trafic de votre locataire Auth0. Une fois que le comportement de l’Action vous convient, vous la déploierez et l’ajouterez à un Flow plus tard.

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

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

Chaque Action dispose d’un objet `event` qui contient des informations contextuelles en lecture seule pertinentes 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 informations disponibles pour chaque déclencheur, consultez [Explorer les flux et les déclencheurs](/fr-CA/docs/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 sauvegarder votre Action.

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

Avant d’exécuter cette Action dans votre locataire avec du trafic réel d’utilisateurs, 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 lié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 s’afficher dans votre canal Slack.

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

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

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

Sélectionnez **Version History**; vous devriez 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 modifier votre Action et l’enregistrer sans affecter 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 redéployez pas l’Action, c’est la version 1 qui sera exécutée par Auth0.

<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 s’exécute dans le trafic de votre locataire 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 [flux de connexion](/fr-CA/docs/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 : flux de connexion" width="842" height="836" data-path="docs/images/cdy7uua7fh8z/6hU7sKWtGzSx9Z8dhsXbvp/0253fb4e9eac1133cc9626385622c54e/Login_Action_-_English.png" />
   </Frame>
3. Sélectionnez **Appliquer**.

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

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

Maintenant que votre Action s’exécute dans le flux de connexion, Auth0 consigne des informations sur chaque exécution d’Action dans les journaux du locataire. Pour les afficher, accédez à [Auth0 Dashboard > Monitoring > Logs](https://manage.auth0.com/#/logs), puis sélectionnez un événement **Successful Login**.

Vous devriez voir une vue **Action Details** qui contient des informations sur toutes les Actions exécutées dans le cadre de ce flux.

<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 locataire : vue Action Details" 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 [Explorer les flux et les déclencheurs](/fr-CA/docs/customize/actions/explore-triggers) pour découvrir comment effectuer certaines tâches courantes avec Actions.
