Okta Workflows : guide pratique pour configurer un flux d’assistance Workflows

Découvrez comment traiter des enregistrements avec la carte For-Each et l’option Stream Matching Records.

À propos de l’auteur

Max Katz

Staff Developer Advocate, Okta Workflows

Max Katz is a Staff Developer Advocate for Okta Workflows. Max loves the no-code automation space and creating educational content. Before Okta, Max led the North America Developer Advocacy team at IBM. Before IBM, Max led developer advocacy for a cloud-based mobile app platform, Appery, helping it grow from zero to over 400,000 developers. Max regularly writes on his http://maxkatz.net blog. 

05 décembre 2022 Temps de lecture: ~

A person wearing headphones is seated at a table, working on a laptop in a warm and inviting library setting

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 :

Okta Workflows "List Users with Filter" card configured to filter ACTIVE users and stream records to a helper flow. 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 :

  1. 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.
  2. 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:

Okta Workflows "My Connected Apps" dashboard with an orange arrow pointing to the "Helper Flow" icon under Okta Apps. Sélection de l’événement du flux d'aide
Okta Workflows "On Demand Helper Flow" card showing context variables. 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) :

Okta Workflows "On Demand Helper Flow" card showing configured input and context parameters. 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.

Okta Workflows interface showing a helper flow titled Helper_Check user (for each) extracting a user email object. 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 :

Okta Workflows "List Users with Filter" card with an orange arrow pointing to the Options section. Options de carte
Okta Workflows "List Users with Filter" options dialog set to return the first 200 matching records. Option de retour des 200 premiers résultats

La liste est ensuite transmise à la carte List – For Each :

Okta Workflows interface displaying a List Users card passing filtered user data into a For Each card. 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.

Okta Workflows interface listing deprovisioned users and configuring a For Each card. 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) :

Okta Workflows "List - For Each" card mapping a user item list to a helper flow. Sélection des valeurs à transmettre au flux d’assistance (utilisateur)

Vous transmettez donc : email ➡️ (Email, type Texte) :

Okta Workflows interface showing user field mapping options for a helper flow. 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 :

Okta Workflows interface showing data mapping lines connecting a main flow's "For Each" card to inputs in a helper flow. Transmission de données du flux principal vers le flux d’assistance

Exécution du flux principal :

Okta Workflows execution history view showing the execution results of a "List users (for each)" flow. 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) :

Okta Workflows execution history view showing the helper flow output extracting a user email address. 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:

Okta Workflows "On Demand Helper Flow" card showing context variables. 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)
Okta Workflows "On Demand Helper Flow" card configured with Record and State inputs. 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.

Okta Workflows "List Users with Filter" options panel set to return the first 200 matching records. Lors des tests, définissez les options sur premiers 200 enregistrements correspondants

Avec Status défini sur DEPROVISIONED:

Okta Workflows "List Users with Filter" card set to filter DEPROVISIONED users with result output fields expanded. 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.

Okta Workflows user account details modal displaying user properties and JSON data. 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).

Okta Workflows interface showing an "On Demand Helper Flow" card connected to an "Assign" card. 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:

Okta Workflows "List Users with Filter" options dialog set to 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.

Okta Workflows "List Users with Filter" card configured to stream deprovisioned user records to a helper flow. 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.

Okta Workflows "List Users with Filter" card streaming deprovisioned users to a helper flow with an Admin email parameter. 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 :

Okta Workflows execution history view showing successful record streaming for deprovisioned users. Test du flux principal

Et il s’agit d’un flux d’assistance exécuté (3 exécutions au total) :

Okta Workflows execution history view showing helper flow execution with streamed user record and state variables mapped to an Assign card. Exécution du flux d’assistance

Voici à quoi ressemblent les flux réunis :

Okta Workflows overview diagram showing record streaming from a main flow to a helper flow. 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. 

À propos de l’auteur

Max Katz

Staff Developer Advocate, Okta Workflows

Max Katz is a Staff Developer Advocate for Okta Workflows. Max loves the no-code automation space and creating educational content. Before Okta, Max led the North America Developer Advocacy team at IBM. Before IBM, Max led developer advocacy for a cloud-based mobile app platform, Appery, helping it grow from zero to over 400,000 developers. Max regularly writes on his http://maxkatz.net blog. 

Continuez votre parcours dans l‘univers de l’identité