Ausführen eines Flows innerhalb eines Flows
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Minimieren Ihrer Arbeit durch die Verwendung des Subflow-Elements
- Erstellen eines Flows, der innerhalb eines anderen Flows ausgeführt wird
- Konfigurieren der Variablen eines referenzierten Flows, um Daten wieder an den übergeordneten Flow zu übergeben
Die Kraft der Faulheit
Ob Sie es glauben oder nicht, eine der wichtigsten Eigenschaften, die ein Administrator haben kann, ist Faulheit.
Ja, Sie haben richtig gelesen! Wenn Sie eine Änderung in Ihrer Salesforce-Organisation vornehmen müssen, die sich auf vier verschiedene Flows auswirkt, würden Sie dann lieber vier Flows aktualisieren oder nur einen? Es klingt wie Zauberei, aber auch Sie können Hindernisse wie unnötige Arbeit durch die Kraft der Faulheit überwinden.
In Flos Organisation gibt es beispielsweise vier Flows, die dieselbe Nachricht in Chatter posten. Bei jeder Änderung an diesem Chatter-Post aktualisiert sie das duplizierte Element in allen vier Flows. Flo ist der Gedanke an so viel doppelte Arbeit zuwider. Zum Glück gibt es ein weiteres Element, das wir noch nicht verwendet haben: das Element "Subflow".
Wenn Sie das Element "Subflow" in einem Flow (dem übergeordneten Flow) verwenden, können Sie auf einen anderen Flow (den untergeordneten Flow) verweisen, um diesen im aktuellen (übergeordneten) Flow auszuführen. Die Vorstellung, Änderungen in nur einem statt in allen vier Flows vornehmen zu müssen, gefällt Flo sehr. Außerdem gibt es bei weniger Flows auch weniger Möglichkeiten, etwas zu übersehen oder falsch zu konfigurieren.
Flo bittet Sie, einen separaten Flow für den Chatter-Post zu erstellen. Sie möchte die doppelten Elemente in vier separaten Flows durch den neuen untergeordneten Flow ersetzen, den Sie erstellen. Wenn sich dann etwas im Zusammenhang mit dem Chatter-Post ändert, kann Flo den einzelnen untergeordneten Flow aktualisieren und muss nicht alle vier separaten Flows bearbeiten.
Ein- und Ausgabevariablen
Die Variablen in einem untergeordneten Flow sind etwas Besonderes. Haben Sie bei der Erstellung von Variablen die Einstellungen Available for input (Zur Eingabe verfügbar) und Available for output (Zur Ausgabe verfügbar) bemerkt? Diese Einstellungen ermöglichen es Variablen, Eingaben aus dem übergeordneten Flow in den untergeordneten Flow und Ausgaben aus dem untergeordneten Flow zurück in den übergeordneten Flow zu übertragen.
Aber warum sollte man überhaupt Daten an und aus einem untergeordneten Flow senden? In Flos Beispiel postet der untergeordnete Flow über den auslösenden Datensatz des übergeordneten Flows an Chatter, weshalb der untergeordnete Flow die ID dieses auslösenden Datensatzes kennen muss. Da ein untergeordneter Flow nicht auf den auslösenden Datensatz im übergeordneten Flow zugreifen kann, muss der übergeordnete Flow diesen an den untergeordneten Flow senden. Und wenn der übergeordnete Flow die ID des vom untergeordneten Flow erstellten Chatter-Posts kennen muss, muss der untergeordnete Flow diese ID an den übergeordneten Flow übermitteln.
Sie definieren Variablen im untergeordneten Flow als für die Ein- oder Ausgabe verfügbar.
- Zum Empfangen von Daten aus einem übergeordneten Flow benötigt der untergeordnete Flow eine Variable, die zur Eingabe verfügbar ist.
- Damit bei Abschluss des untergeordneten Flows Daten an den übergeordneten Flow gesendet werden können, benötigt der untergeordnete Flow eine Variable, die zur Ausgabe verfügbar ist.
- Wenn Sie keine Daten in irgendeine Richtung übermitteln müssen, benötigen Sie keine Ein- oder Ausgabevariablen.
Erstellen eines Subflow-Elements
Um einen Flow in einem anderen Flow auszuführen, erstellen Sie zuerst den übergeordneten und den untergeordneten Flow. Dann fügen Sie dem übergeordneten Flow ein Subflow-Element hinzu.
Erstellen des untergeordneten Flows
- Erstellen Sie einen Flow und wählen Sie Autolaunched Flow (Automatisch gestarteter Flow) als Typ aus.
- Erstellen Sie eine Textvariable:
- API Name (API-Name):
userMentionID
- Available for input (Zur Eingabe verfügbar): aktiviert
- Erstellen Sie eine zweite Textvariable:
- API Name (API-Name):
postTargetID
- Available for input (Zur Eingabe verfügbar): aktiviert
- Erstellen Sie eine dritte Textvariable:
- API Name (API-Name):
chatterPostID
- Available for Output (Zur Ausgabe verfügbar): aktiviert
- Erstellen Sie eine Textvorlage:
- API Name (API-Name):
chatterBody
- Body (Text):
@[{!userMentionID}], please review this record.
(@[{!userMentionID}], bitte prüfen Sie diesen Datensatz. - Ändern Sie im Editor für "Body" (Text) die Einstellung "View as Rich Text" (Als Rich Text anzeigen) in "View as Plain Text" (Als Nur-Text anzeigen).
- Fügen Sie ein Element "Action" (Aktion) hinzu:
- Action (Aktion): Post to Chatter (Bei Chatter posten)
- Label (Bezeichnung):
Chatter Mention Post
(Chatter-Erwähnungs-Post) - API Name (API-Name):
Chatter_Mention_Post
- Message (Nachricht): chatterBody
- Target Name or ID (Zielname oder -ID): postTargetID
- Wählen Sie unter "Show advanced options" (Erweiterte Optionen anzeigen) Manually assign variables (Variablen manuell zuweisen) aus.
- Feed Item ID (Feedeintrags-ID): chatterPostID
- Speichern Sie den Flow. Geben Sie als "Flow Label" (Flow-Bezeichnung)
Post to Chatter
(Bei Chatter posten) ein.
- Aktivieren Sie den Flow.
Erstellen Sie den übergeordneten Flow mit einem Subflow-Element
- Erstellen Sie einen durch Datensatz ausgelösten Flow:
- Object (Objekt): Case (Kundenvorgang)
- Trigger the Flow When (Flow auslösen, wenn): A record is created or updated (Ein Datensatz erstellt oder aktualisiert wird)
- Condition Requirements (Bedingungsanforderungen): All Conditions Are Met (Alle Bedingungen erfüllt sind) (AND)
- Condition (Bedingung): Priority, Equals, High (Priorität gleich Hoch)
- When to Run the Flow for Updated Records (Flow für aktualisierte Datensätze in folgenden Fällen ausführen): Only when a record is updated to meet the condition requirements (Nur, wenn ein Datensatz aktualisiert wird, damit er die Bedingungsanforderungen erfüllt)
- Optimize the Flow for (Flow optimieren für): Actions and Related Records (Aktionen und verwandte Datensätze)
- Fügen Sie ein Subflow-Element hinzu:
- Wählen Sie den Flow Post to Chatter (Bei Chatter posten) aus.
- Label (Bezeichnung):
Post to Chatter
(Bei Chatter posten) - API Name (API-Name):
Post_to_Chatter
- Aktivieren Sie das Feld "postTargetID" und wählen Sie Triggering Case > Case ID ("Case" wird ausgelöst > Kundenvorgangs-ID) aus.
- Aktivieren Sie das Feld "userMentionID" und wählen Sie Triggering Case > Owner ID ("Case" wird ausgelöst > Inhaber-ID) aus.
Bitte beachten: Blättern Sie wirklich nach unten und wählen Sie Owner ID (Inhaber-ID) aus, nicht "Owner ID (Group)" (Inhaber-ID (Gruppe)) oder "Owner ID (User)" (Inhaber-ID (Benutzer)).
- Speichern Sie den Flow. Geben Sie als "Flow Label" (Flow-Bezeichnung)
Case Priority is High
(Kundenvorgangspriorität ist hoch) ein.
Sobald eine Änderung an der Datensatzerstellung nötig ist, aktualisiert Flo jetzt nur den einen untergeordneten Flow. Damit steht es 1:0 im Spiel Faulheit gegen Mehrarbeit!
Zu bedenken
Bei der Verwendung von Subflows gibt es ein paar Besonderheiten zu beachten.
- Das Subflow-Element kann nur automatisch gestartete Flows und Bildschirm-Flows referenzieren.
- In einem Bildschirm-Flow können Sie nur einen anderen Bildschirm-Flow referenzieren.
- Wenn Sie auf einen inaktiven Flow verweisen, wird dieser nur für Benutzer ausgeführt, die über die Berechtigung "Manage Flows" (Flows verwalten) verfügen.
- Gibt es mehrere Versionen eines untergeordneten Flows, führt der übergeordnete Flow die aktive Version des untergeordneten Flows aus. Gibt es keine aktive Version eines untergeordneten Flows, führt der übergeordnete Flow die neueste Version des untergeordneten Flows aus.
Ressourcen