Okta Workflows Anleitung: Einrichten eines Workflows Helper-Flows

Erfahren Sie, wie Sie Datensätze mithilfe der For-Each-Karte und der Option „Stream Matching Records“ verarbeiten.

Über den Autor/die Autorin

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 Dezember 2022 Lesezeit: ~

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

Okta Workflows ist eine No-Code-Plattform zur Automatisierung von Identitätsprozessen. 

Dieser Blogbeitrag basiert auf einer Frage, die während der Sprechstunden oder im Kanal #okta-workflows im MacAdmins Slack gestellt wurde: Wie richtet man einen Workflows Helper-Flow (mit For-Each und Streaming-Karten) ein?

Erste Schritte

Workflows verfügen über eine Reihe von Karten, die nach Datensätzen suchen können. Zum Beispiel listet Okta – List Users with Filter Benutzer:innen nach Status auf:

Okta Workflows "List Users with Filter" card configured to filter ACTIVE users and stream records to a helper flow. Karte „Searching for users“

Eine Suchkarte erstellt eine Liste von Datensätzen. Dann wird ein Hilfs-Flow verwendet, um jeden Datensatz aus der Liste zu verarbeiten. Ausgehend vom obigen Beispiel möchte man, sobald eine Liste von Benutzer:innen vorliegt, möglicherweise überprüfen, wann sich ein:e Benutzer:in zuletzt an einem System angemeldet hat.

Es gibt zwei Möglichkeiten, die Datensätze an einen Hilfs-Flow zu senden:

  1. Eine Liste von Datensätzen wird an eine List – For Each -Karte übergeben. Die For Each -Karte ruft dann für jeden Datensatz in der Liste einen Hilfs-Flow auf.
  2. Eine Suchkarte verwendet die Option Stream Matching Records. Die Streaming-Option streamt jeden Datensatz direkt an den ausgewählten Hilfs-Flow

Im Allgemeinen ist die Streaming-Option skalierbarer und ermöglicht die Verarbeitung einer deutlich größeren Anzahl von Datensätzen. Erfahren Sie mehr über Daten-Streaming mit Aktionskarten.

Sehen wir uns Beispiele mit For-Each- und Streaming-Optionen an.

Verwenden der Karte „List – For Each“

In diesem Abschnitt erfahren Sie, wie Sie den Haupt-Flow und den Hilfs-Flow mithilfe der Karte List – For Each einrichten.

Einrichten eines Helper-Flows

Ein Helper-Flow ist ein Flow, der von einem anderen Flow (Haupt-Flow) aufgerufen wird. Ein Flow wird zum Helper-Flow, wenn es sich bei der ersten Karte um eine On Demand – Helper Flow-Karte handelt:

Okta Workflows "My Connected Apps" dashboard with an orange arrow pointing to the "Helper Flow" icon under Okta Apps. Auswahl des Helper Flow-Events
Okta Workflows "On Demand Helper Flow" card showing context variables. Erste Karte des Helper-Flows

Ein Helper-Flow verfügt über eine oder mehrere Eingaben, die vom Haupt-Flow (oder aufrufenden Flow) an ihn übergeben werden. Im folgenden Beispiel hat ein Helper-Flow zwei Eingaben User (Typ Object) und email (Typ Text):

Okta Workflows "On Demand Helper Flow" card showing configured input and context parameters. Helper-Flow mit zwei Eingaben (User, email)

Betrachtet man den vollständigen Helper-Flow, werden ihm zwei Eingabewerte übergeben: User und email:

Okta Workflows interface showing a helper flow titled Helper_Check user (for each) extracting a user email object. Helper-Flow

Dieser Flow macht nicht viel, außer die an ihn übergebenen Werte zu lesen. Aber das ist in Ordnung, der Zweck dieses Blogbeitrags besteht darin, Ihnen zu zeigen, wie Sie einen Helper-Flow/Haupt-Flow einrichten.

Mit der Karte Object – Get können Sie einen bestimmten Wert aus einem Objekt abrufen. In diesem Beispiel wird die Email abgerufen.

Die Karte Flow Control – Assign übernimmt die Eingabe Email für den Helper-Flow und weist sie einem anderen Wert zu (ebenfalls email genannt). Dies kann hilfreich sein, wenn Sie die E-Mail später in einem Flow verwenden müssen.

Sehen wir uns den Haupt-Flow an.

Einrichten des Haupt-Flows

Der Haupt-Flow ist ein regulärer Flow und wir rufen den Helper-Flow auf. Zu Beginn benötigen Sie eine Suchkarte, die eine Liste von Datensätzen zurückgibt. Der folgende Flow verwendet die Karte List Users with Filter. Das Feld Options ist auf First 200 Matching Records gesetzt:

Okta Workflows "List Users with Filter" card with an orange arrow pointing to the Options section. Kartenoptionen
Okta Workflows "List Users with Filter" options dialog set to return the first 200 matching records. Option zur Rückgabe der ersten 200 Treffer

Die Liste wird dann an die Karte List – For Each übergeben:

Okta Workflows interface displaying a List Users card passing filtered user data into a For Each card. Deprovisionierte Benutzer:innen an einen Helper-Flow übergeben

Als Nächstes wählen Sie einen Hilfs-Flow aus, der für jeden Datensatz ausgeführt werden soll.

Das ist wichtig. Sobald Sie einen Helper-Flow auswählen, werden dessen Eingaben auf der For Each-Karte geladen.

Klicken Sie für jedes Helper-Flow-Eingabefeld auf den Pfeil (auf der rechten Seite eines Feldes) und wählen Sie einen Wert und einen Typ aus, die an den Helper-Flow übergeben werden sollen. Der Typ muss dem Typ entsprechen, den der Helper-Flow erwartet.

Okta Workflows interface listing deprovisioned users and configuring a For Each card. Auswählen eines Helper-Flows und Festlegen seiner Eingaben

Dies ist ebenfalls wichtig. Wenn Sie die Helper-Flow-Eingaben aktualisieren, müssen Sie den Helper-Flow erneut auswählen (ja, das ist etwas lästig). Sobald Sie den Helper-Flow auswählen, werden die Eingaben auf der For Each-Karte basierend auf den von Ihnen vorgenommenen Änderungen aktualisiert.

Hier sehen Sie noch einmal, wie die an den Helper-Flow übergebenen Werte festgelegt werden.

Zuerst übergeben Sie: User ➡️(Element, Typ Object):

Okta Workflows "List - For Each" card mapping a user item list to a helper flow. Auswählen von Werten zur Übergabe an den Helper-Flow (User)

Dann übergeben Sie: email ➡️ (Email, Typ Text):

Okta Workflows interface showing user field mapping options for a helper flow. Werte zur Übergabe an den Helper-Flow auswählen (email)

So sehen der Haupt-Flow und der Hilfs-Flow zusammen aus und so werden Daten übergeben:

Okta Workflows interface showing data mapping lines connecting a main flow's "For Each" card to inputs in a helper flow. Daten vom Haupt-Flow an den Hilfs-Flow übergeben

Ausführen des Haupt-Flows:

Okta Workflows execution history view showing the execution results of a "List users (for each)" flow. Test des Haupt-Flows

Die Aufrufe des Helper-Flows entsprechen der Anzahl der Datensätze in der Liste (im folgenden Beispiel enthielt die Liste drei Benutzer:innen):

Okta Workflows execution history view showing the helper flow output extracting a user email address. Ausführen eines Helper-Flows (3-mal)

Verwenden der Option „Streaming Matching Records“

In diesem Abschnitt erfahren Sie, wie Sie den Haupt-Flow und einen Helper-Flow mithilfe der Streaming-Option einrichten. Wie im ersten Teil beginnen Sie zunächst mit dem Helper-Flow.

Einrichten des Helper-Flows

Wie im vorherigen Abschnitt ist ein Helper-Flow ein Flow, der von einem anderen Flow (Haupt-Flow) aufgerufen wird. Ein Flow wird zum Helper-Flow, wenn es sich bei der ersten Karte um eine On Demand – Helper Flow-Karte handelt:

Okta Workflows "On Demand Helper Flow" card showing context variables. Helper-Flow

Mit der Streaming-Option definieren Sie auch Hilfs-Flow-Eingaben. Aber die Eingaben sind etwas anders.

Sie müssen zwei Helper-Flow-Eingaben erstellen:

  • Datensatz (Typ Objekt)
  • Status (Typ Objekt)
Okta Workflows "On Demand Helper Flow" card configured with Record and State inputs. Helper-Flow mit Eingaben für Streaming

Record ist das aktuelle Element, in unserem Beispiel User. Dies ist das Element, das an den Helper-Flow gestreamt (gesendet) wird. Sie haben Zugriff auf alle seine Eigenschaften.

Mit State können Sie beliebige zusätzliche Eingaben definieren, die an den Hilfs-Flow übergeben werden sollen.

Sie kehren zum Helper zurück, um Flow-Eingaben zu erstellen. Als Nächstes richten Sie den Haupt-Flow ein.

Einrichten des Haupt-Flows

Wenn eine Suchkarte über die Option Stream Matching Records verfügt, müssen Sie keine For Each-Karte verwenden. Die Streaming-Option überträgt Datensätze automatisch an einen Helper-Flow.

Hier erfahren Sie mehr über Daten-Streaming mit Aktionskarten.

Kommen wir auf unser Beispiel zurück. Wir verwenden dieselbe Karte, List Users with Filter.

Bevor Sie die Streaming-Optionen aktivieren, stellen Sie die Kartenoptionen auf First 200 Matching Records ein. Es hilft Ihnen dabei, Eingaben für den Helper-Flow zu testen und einzurichten.

Okta Workflows "List Users with Filter" options panel set to return the first 200 matching records. Beim Testen – Optionen auf die ersten 200 übereinstimmenden Datensätze setzen

Wenn der Status auf DEPROVISIONED gesetzt ist:

Okta Workflows "List Users with Filter" card set to filter DEPROVISIONED users with result output fields expanded. Liste deprovisionierter Benutzer:innen

Klicken Sie, um die Karte zu testen und eines der Listenelemente aufzuklappen. Auf der linken Seite sehen Sie das User-JSON-Objekt (als root angezeigt), das an den Helper-Flow übergeben wird. Alle Eigenschaften werden dem Helper-Flow zur Verfügung stehen.

Okta Workflows user account details modal displaying user properties and JSON data. Testen der Karte „List Users with Filter“

Da Sie nun wissen, wie das JSON aussieht, können Sie die Eingaben für den Helper-Flow einrichten.

Abschließen des Helper-Flows

Wenn Sie zum Helper-Flow zurückkehren, definieren Sie die Eingaben.

Record ist das aktuelle Element, und für diesen speziellen Flow übergeben Sie ID und Email. Diese Werte sind verfügbar, da sie Teil des JSON-Objekts (oben) sind.

Okta Workflows interface showing an "On Demand Helper Flow" card connected to an "Assign" card. Mit einer anderen Karte verbundene Helper-Flow-Eingaben

Und was ist mit der Admin email – woher kommt dieser Wert? Unter State können Sie beliebige zusätzliche Werte an den Helper-Flow übergeben. Lassen Sie uns die Einrichtung des Haupt-Flows abschließen, und Sie werden sehen, wie Sie die Admin email übergeben.

Abschluss des Haupt-Flows

Um den Haupt-Flow abzuschließen, kehren Sie zu Optionen zurück und wählen Sie Stream Matching Records:

Okta Workflows "List Users with Filter" options dialog set to stream matching records. Festlegen der Option „ Stream Matching Records “

Wählen Sie als Nächstes den Helper-Flow. Aufgrund der Funktionsweise von Streaming werden die Eingaben des Helper-Flows nicht angezeigt, da das gesamte Objekt an den Helper gesendet wird.

Okta Workflows "List Users with Filter" card configured to stream deprovisioned user records to a helper flow. Erstellen Sie einen zusätzlichen Wert zur Übergabe an den Helper-Flow

Um den zusätzlichen Wert (Admin email) zu übergeben, klicken Sie, um ein neues Feld im orangefarbenen Rechteck zu erstellen.

Der Name des Feldes (Admin email) und der Typ (Text) müssen exakt dem Namen und Typ des Feldes im Helper-Flow (Admin email, Text) entsprechen. Sie können auf diese Weise mehr als einen Wert übergeben.

Okta Workflows "List Users with Filter" card streaming deprovisioned users to a helper flow with an Admin email parameter. Zusätzlichen Wert an Helper-Flow übergeben (Admin email)

Jetzt ist alles bereit, um die Flows auszuführen.

Nachfolgend sehen Sie einen Screenshot der Ausführung des Haupt-Flows. Beachten Sie, dass unter Results die Anzahl der an den Helper-Flow gestreamten Datensätze angezeigt wird:

Okta Workflows execution history view showing successful record streaming for deprovisioned users. Test des Haupt-Flows

Und das ist ein Helper-Flow-Durchlauf (insgesamt 3 Durchläufe):

Okta Workflows execution history view showing helper flow execution with streamed user record and state variables mapped to an Assign card. Ausführen des Helper-Flows

So sehen die Flows zusammen aus:

Okta Workflows overview diagram showing record streaming from a main flow to a helper flow. Übersicht über Haupt- und Helper-Flows

Zusammenfassung

In diesem Blogbeitrag haben Sie gelernt, wie Sie einen Hilfs-Flow mit einer For Each -Karte und mit einer Streaming-Option einrichten.

Erhalten Sie Antworten auf Ihre Fragen zu Workflows

Haben Sie eine Frage zu Okta Workflows? Sind Sie sich nicht sicher, wie man einen Flow erstellt? Nehmen Sie an den wöchentlichen Sprechstunden der Community teil, um Hilfe zu erhalten. 

Über den Autor/die Autorin

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. 

Setzen Sie Ihre Identity Journey fort