Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

Geschätzte Zeit

Themen

Die Community fragen

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
Hinweis

Hinweis

Lernen Sie auf Deutsch? Beginnen Sie die Aufgabe in einem Trailhead Playground in der Sprache Deutsch und verwenden Sie für die Navigation die in Klammern angegebenen Übersetzungen. Kopieren und fügen Sie nur die Angaben in Englisch ein, da zur Überprüfung der Aufgabe Daten in Englisch benötigt werden. Wenn Sie die Aufgabe in Ihrer deutschen Organisation nicht bestehen, empfehlen wir Ihnen folgende Vorgehensweise: (1) Stellen Sie das Gebietsschema auf USA um, (2) legen Sie Englisch als Sprache fest (Anweisungen dazu finden Sie hier) und (3) klicken Sie erneut auf die Schaltfläche "Check Challenge" (Aufgabe überprüfen).

Weitere Details dazu, wie Sie die übersetzte Trailhead-Umgebung optimal nutzen können, finden Sie unter dem Badge "Trailhead in Ihrer Sprache".

Hinweis

Dieser Badge ist nur eine Station auf Ihrem Weg zur Beherrschung von Flow Builder. Der gesamte Trail Erstellen von Flows mit dem Flow Builder führt Sie durch alle Lerninhalte zu Flow Builder. Folgen Sie dieser empfohlenen Abfolge von Badges, um sich solide Fähigkeiten zum Thema Prozessautomatisierung anzueignen und ein Flow Builder-Experte zu werden.

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.

Flo Smith liegt entspannt auf einem schicken Diwan, bekommt Luft mit einem Palmwedel zugefächelt und denkt über einen Flow nach.

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.

Im Fenster 'New Resource' (Neue Ressource) enthält der Abschnitt 'Availability Outside the Flow' (Verfügbarkeit außerhalb des Flows) zwei Optionen: 'Available for input' (Zur Eingabe verfügbar) und 'Available for output' (Zur Ausgabe verfügbar).

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.

Diagramm, das die obige Beschreibung darstellt

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

  1. Erstellen Sie einen Flow und wählen Sie Autolaunched Flow (Automatisch gestarteter Flow) als Typ aus.
  2. Erstellen Sie eine Textvariable:
    • API Name (API-Name): userMentionID
    • Available for input (Zur Eingabe verfügbar): aktiviert
  1. Erstellen Sie eine zweite Textvariable:
    • API Name (API-Name): postTargetID
    • Available for input (Zur Eingabe verfügbar): aktiviert
  1. Erstellen Sie eine dritte Textvariable:
    • API Name (API-Name): chatterPostID
    • Available for Output (Zur Ausgabe verfügbar): aktiviert
  1. 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).
  1. 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
  1. Speichern Sie den Flow. Geben Sie als "Flow Label" (Flow-Bezeichnung) Post to Chatter (Bei Chatter posten) ein.
  2. Aktivieren Sie den Flow.

Erstellen Sie den übergeordneten Flow mit einem Subflow-Element

  1. 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)
  1. 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.
      Der Bereich "Subflow", in dem zuerst 'Triggering Case' ('Case' wird ausgelöst) und dann 'Owner ID' (Inhaber-ID) im Feld 'userMentionID' ausgewählt wurde.
    • 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)).
Hinweis

Wenn es in einem referenzierten Flow keine Variablen gibt, die auf "Available for input" (Zur Eingabe verfügbar) eingestellt sind, wird der Abschnitt "Set Input Values" (Eingabewerte festlegen) nicht angezeigt.

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

Praktische Aufgabe

+500 Punkte

Machen Sie sich bereit

Sie führen diese(n/s) Lektion in Ihrer eigenen, persönlichen Übungs-Organisationen durch. Klicken Sie auf Launch (Starten), um loszulegen, oder auf den Namen Ihrer Organisation, um eine andere auszuwählen.

Ihre Aufgabe

Simplify and Build Upon the Opportunity Product Flow
In the opportunity product creation flow from unit 1, replace repeated elements with a subflow element that references another flow (child flow) multiple times. Also, add another product path to the parent flow. Prework: If you haven’t already completed the challenge in unit 1 (Define Multiple Paths in a Flow), do that now. Otherwise, you won't be able to complete this challenge.
  • Create an autolaunched flow
  • Create a text variable:
    • API Name: ProductKW
    • Available for input: checked

  • Create another text variable:
    • API Name: OpportunityID
    • Available for input: checked

  • Create another text variable:
    • API Name: PricebookID
    • Available for input: checked

  • Add a Get Records element:
    • Label: Get Product
    • API Name: Get_Product
    • Object: Product
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Name
      • Operator: Contains
      • Value: ProductKW
    • Keep default values for all other settings

  • Add a Get Records element after the Get Product element:
    • Label: Get PBE
    • API Name: Get_PBE
    • Object: Price Book Entry
    • Condition Requirements: All Conditions Are Met (AND)
    • Add a condition requirement:
      • Field: Pricebook2Id
      • Operator: Equals
      • Value: PricebookID
    • Add another condition requirement:
      • Field: Product2Id
      • Operator: Equals
      • Value: Product from Get_Product > Id
    • Keep default values for all other settings

  • Add a Create Records element after the Get PBE element:
    • Label: Create Opp Product
    • API Name: Create_Opp_Product
    • How to set record field values: Manually
    • Object: Opportunity Product
    • Set Field Values:
      • Field: Opportunity ID, Value: OpportunityID
      • Field: Price Book Entry ID, Value: Price Book Entry from Get PBE > Price Book Entry ID
      • Field: Quantity, Value: 1
      • Field: Total Price, Value: Price Book Entry from Get PBE > List Price

  • Save and activate the flow.
    • Label: Subflow-Create Generator Opp Product
    • API Name: Subflow_Create_Generator_Opp_Product

  • Make a new version of the Add Generator Product to Named Opps flow (Open the flow and click Save As New Version.)
  • Delete these elements:
    • Create 1500 Opp Product
    • Create 2000 Opp Product
    • Get 1500 PBE
    • Get 2000 PBE
    • Get 1500 Product
    • Get 2000 Product

  • On the 1500kW path, add a Subflow element:
    • Select the Subflow-Create Generator Opp Product flow
    • Label: Create 1500 Opp Product
    • API Name: Create_1500_Opp_Product
    • Include the OpportunityId field and select Triggering Opportunity > Opportunity ID
    • Include the PricebookID field and select Price Book from Get Pricebook > Price Book ID
    • Include the ProductKW field and enter 1500

  • On the 2000kW path, create a Subflow element:
    • Select the Subflow-Create Generator Opp Product flow
    • Label: Create 2000 Opp Product
    • API Name: Create_2000_Opp_Product
    • Include the OpportunityId field and select Triggering Opportunity > Opportunity ID
    • Include the PricebookID field and select Price Book from Get Pricebook > Price Book ID
    • Include the ProductKW field and enter 2000

  • In the Check Opp Name Decision element, add a new outcome:
    • Label: 1000kW
    • API Name: X1000kW
    • Condition Requirements: All Conditions Are Met (AND)
    • Resource: Triggering Opportunity > Name
    • Operator: Contains
    • Value: 1000

  • On the 1000kW path, create a Subflow element:
    • Select the Subflow-Create Generator Opp Product flow
    • Label: Create 1000 Opp Product
    • API Name: Create_1000_Opp_Product
    • Include the OpportunityId field and select Triggering Opportunity > Opportunity ID
    • Include the PricebookID field and select Price Book from Get Pricebook > Price Book ID
    • Include the ProductKW field and enter 1000

  • Save and activate the flow
Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"