Okta Workflows est une plateforme no-code permettant d’automatiser les processus liés à l’identité.
Cet article de blog répond à une question posée lors des permanences ou sur le canal #okta-workflows dans Slack MacAdmins : comment configurer un flux d'aide Workflows (avec des cartes For-Each et streaming) ?
Premiers pas
Les Workflows proposent plusieurs cartes permettant d’effectuer une recherche d’enregistrements. Par exemple, la fonctionnalité Okta – List Users with Filter affiche les utilisateurs selon leur statut :
Recherche de la carte des utilisateurs et utilisatrices
Une carte de recherche crée une liste d’enregistrements. Un flux d’assistance est ensuite utilisé pour traiter chaque enregistrement de la liste. En reprenant l’exemple ci-dessus, une fois que vous disposez d’une liste d’utilisateurs, vous pouvez souhaiter vérifier la date de leur dernière connexion à un système.
Il existe deux façons d’envoyer les enregistrements à un flux d’assistance :
- Une liste d’enregistrements est transmise à une carte List – For Each. La carte For Each appelle ensuite un flux d’assistance pour chaque enregistrement de la liste.
- Une carte de recherche utilise l’option Stream Matching Records. L’option de diffusion transmet directement chaque enregistrement au flux d’aide sélectionné.
En règle générale, l’option de streaming est plus évolutive et permet de traiter un nombre d’enregistrements nettement plus important. En savoir plus sur le streaming de données avec les cartes d’action.
Voyons des exemples utilisant les options For-Each et streaming.
Utilisation de la liste – pour chaque carte
Dans cette section, vous découvrirez comment configurer le flux principal et le flux d’assistance à l’aide de la carte List – For Each.
Configuration d’un flux d’assistance
Un flux d’assistance est un flux appelé à partir d’un autre flux (flux principal). Un flux devient un flux d’assistance lorsque la première carte est À la demande – flux d’assistance:
Sélection de l’événement du flux d'aide
Première carte du flux Helper
Un flux d'aide comporte une ou plusieurs entrées qui lui sont transmises depuis le flux principal (ou le flux appelant). Dans l’exemple ci-dessous, un flux d'aide comporte deux entrées : Utilisateur (type Objet) et Email (type Texte) :
Flux d’aide avec deux entrées (utilisateur, e-mail)
Le flux d'aide complet reçoit deux valeurs d’entrée : User et email.
Flux d’assistance
Ce flux ne fait pas grand-chose à part lire les valeurs qui lui sont transmises. Mais, cela convient parfaitement, l’objectif de cet article de blog est de vous montrer comment configurer un flux auxiliaire ou un flux principal.
Avec la carte Object – Get, vous pouvez extraire (get) une valeur spécifique d’un objet. Dans cet exemple, la valeur E-mail est extraite.
La carte Flow Control – Assign prend l’entrée e-mail du flux d’assistance et l’attribue à une autre valeur (également appelée e-mail). Cela peut être utile si vous devez utiliser l’e-mail ultérieurement dans un flux.
Examinons le flux principal.
Configuration du flux principal
Le flux principal est un flux régulier, et nous appellerons le flux d'aide. Pour commencer, vous avez besoin d’une carte de recherche qui affiche une liste d’enregistrements. Le flux ci-dessous utilise la carte List Users with Filter. Le champ Options est défini sur First 200 Matching Records :
Options de carte
Option de retour des 200 premiers résultats
La liste est ensuite transmise à la carte List – For Each :
Transmettre les utilisateurs désactivés au flux d’assistance
Ensuite, vous choisissez un flux d’assistance à exécuter pour chaque enregistrement.
C’est important. Une fois que vous choisissez un flux d’aide, ses entrées sont chargées sur la carte Pour chaque.
Pour chaque champ d’entrée du flux d’assistance, cliquez sur la flèche (à droite du champ), puis sélectionnez une valeur et un type à transmettre au flux d’assistance. Le type doit correspondre au type attendu par le flux d’assistance.
Choisir un flux d’assistance et définir ses paramètres d’entrée
Ceci est également important. Si vous modifiez les entrées du flux d’assistance, vous devez à nouveau sélectionner un flux d’assistance (oui, c’est un peu contraignant). Une fois que vous avez choisi le flux d’assistance, les champs du composant Pour chaque seront mis à jour en fonction des modifications apportées.
Voici un autre aperçu de la configuration des valeurs transmises au flux d’assistance.
Tout d'abord, vous transmettez : Utilisateur ➡️(Élément, type Objet) :
Sélection des valeurs à transmettre au flux d’assistance (utilisateur)
Vous transmettez donc : email ➡️ (Email, type Texte) :
Sélection des valeurs à transmettre au flux d'aide (e-mail)
Voici comment le flux principal et le flux d’assistance apparaissent ensemble, ainsi que la façon dont les données sont transmises :
Transmission de données du flux principal vers le flux d’assistance
Exécution du flux principal :
Test du flux principal
Les invocations du flux d’assistance correspondront au nombre d’enregistrements dans la liste (dans l’exemple ci-dessous, la liste contenait trois utilisateurs) :
Exécuter un flux d’assistance (3 fois)
Utilisation de l’option de correspondance en continu
Dans cette section, vous découvrirez comment configurer le flux principal et un flux d’assistance en utilisant l’option de diffusion en continu. Comme dans la première partie, vous commencerez par le flux d’assistance.
Configuration du flux d’assistance
Comme dans la section précédente, un flux d’assistance est un flux appelé à partir d’un autre flux (flux principal). Un flux devient un flux d’assistance lorsque la première carte est À la demande – flux d’assistance:
Flux d’assistance
Avec l’option de diffusion en continu, vous définissez également les entrées de flux d’assistance. Mais les données d’entrée sont un peu différentes.
Vous devez créer deux entrées de flux d’assistance :
- Enregistrement (type Objet)
- État (type Objet)
Flux d’assistant avec des entrées pour le streaming
Enregistrement correspond à l’élément actuel, dans notre exemple Utilisateur. Il s’agit de l’élément qui est transmis (envoyé) au flux d’assistance. Vous avez accès à toutes ses propriétés.
Avec State, vous pouvez définir tous les paramètres supplémentaires à transmettre au flux d’aide.
Vous reviendrez vers l’assistant pour créer les entrées du flux. Ensuite, vous allez configurer le flux principal.
Configuration du flux principal
Si une carte de recherche propose l’option Stream Matching Records, il n’est alors pas nécessaire d’utiliser une carte For Each. L’option de streaming transmettra automatiquement les enregistrements à un flux d'aide.
C’est un bon point de départ pour en savoir plus sur le streaming de données avec les cartes d’action.
Revenons à notre exemple. Nous allons utiliser la même carte, Liste des utilisateurs avec filtre.
Avant d’activer les options de diffusion, définissez les options de la carte sur premiers 200 enregistrements correspondants. Cela vous aidera à tester et à configurer les entrées pour le flux d’assistance.
Lors des tests, définissez les options sur premiers 200 enregistrements correspondants
Avec Status défini sur DEPROVISIONED:
Liste des utilisateurs déprovisionnés
Cliquez pour tester la carte et développer l’un des éléments de la liste. Sur la partie gauche, vous verrez l’objet JSON Utilisateur (affiché comme root) qui sera transmis au flux d'aide. Toutes les propriétés seront disponibles pour le flux d'aide.
Test de la carte « List Users with Filter »
Maintenant que vous savez à quoi ressemble le JSON, vous pouvez configurer les entrées du flux d’assistance.
Finalisation du flux d’assistance
Pour revenir au flux d’assistance, vous définissez les entrées.
Record correspond à l’élément en cours, et pour ce flux en particulier, vous transmettez ID et Email. Ces valeurs sont disponibles car elles font partie de l’objet JSON (ci-dessus).
Entrées du flux d’assistance connectées à une autre carte
Et qu’en est-il de Admin email ? D’où provient cette valeur ? Sous State, vous pouvez transmettre des valeurs supplémentaires au flux d’aide. Terminons la configuration du flux principal, et vous verrez comment transmettre l’Admin email.
Finalisation du flux principal
Pour terminer le flux principal, retournez dans Options et sélectionnez Stream Matching Records:
Option de configuration de la correspondance des flux
Ensuite, sélectionnez le flux d’assistance. En raison du fonctionnement du streaming, les entrées du flux d’assistance ne sont pas affichées, car l’objet entier est transmis à l’assistance.
Créer une valeur supplémentaire à transmettre au flux d’assistance
Pour transmettre la valeur supplémentaire (Admin email), cliquez pour créer un nouveau champ à l’intérieur du rectangle orange.
Le nom du champ (Admin email) et son type (Text) doivent correspondre exactement au nom et au type du champ dans le flux d'aide (Admin email, Text). Vous pouvez transmettre plusieurs valeurs de cette manière.
Transmission d’une valeur supplémentaire au flux d’assistance (e-mail de l’administrateur)
Tout est maintenant prêt pour exécuter les workflows.
Voici une capture d’écran de l’exécution du flux principal. Remarquez que sous Résultats, le nombre d’enregistrements transmis au flux d’assistance s’affiche :
Test du flux principal
Et il s’agit d’un flux d’assistance exécuté (3 exécutions au total) :
Exécution du flux d’assistance
Voici à quoi ressemblent les flux réunis :
Présentation du flux principal et du flux d’assistance
Résumé
Dans cet article de blog, vous avez découvert comment configurer un flux d’assistance avec une carte For Each et une option de diffusion en continu.
Obtenez des réponses à vos questions sur les Workflows
Avez-vous une question concernant Okta Workflows ? Vous ne savez pas comment créer un flux ? Participez aux permanences hebdomadaires de la communauté pour obtenir de l’aide.