Erfassen Sie Ihre Fortschritte
Trailhead-Startseite
Trailhead-Startseite

Kombinieren der Leistungsfähigkeit von Prozessgenerator und Flow Builder

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Beschreiben eines Geschäftsprozesses, der mithilfe eines Prozesses und Flows automatisiert werden kann
  • Definieren einer Flow-Variablen
  • Erstellen eines Flows, der durch eine Gruppe von Datensätzen iteriert
  • Erstellen eines Prozesses, der einen Flow startet

Wenn der Prozessgenerator nicht ausreicht

Der Prozessgenerator ist nicht auf jeden möglichen Anwendungsfall ausgelegt, sodass Sie ggf. feststellen, dass er einige Teile Ihres Geschäftsprozesses automatisieren kann, aber nicht alle. Die folgenden Aufgaben werden vom Prozessgenerator nicht unterstützt:

  • In einem Community-Feed posten
  • Einen zugehörigen Datensatz zur Genehmigung senden
  • Datensätze löschen
  • Eine Gruppe von Datensätzen erstellen und diese miteinander verknüpfen
  • Komplexe Logik ausführen

Es gibt aber auch gute Nachrichten! Sie müssen nicht die ganze Automatisierung in einem anderen Tool neu erstellen. Konfigurieren Sie die komplexere Funktionalität in einem Flow und fügen Sie dann Ihrem Prozess eine Flow-Aktion hinzu. Wenn Sie mit einem Flow nicht das Gewünschte erreichen, können Sie oder ein Entwickler entsprechenden Apex-Code schreiben. Fügen Sie anschließend Ihrem Prozess eine Apex-Aktion hinzu.

Duplizieren von Datensätzen mit untergeordneten Elementen

Sie wurden gebeten, Verlängerungs-Opportunities automatisch zu erstellen, wenn eine Opportunity geschlossen und gewonnen wird. Diese Verlängerung muss eine Duplizierung der ursprünglichen Opportunity sein. Wir können Datensätze im Prozessgenerator duplizieren, aber wir müssen auch die Produkte duplizieren und sie mit der Verlängerungs-Opportunity verknüpfen.

Im Prozessgenerator können Sie die ID des angelegten Datensatzes nicht auslesen und an anderer Stelle verwenden. In einem Flow ist dies allerdings möglich. Sie erstellen dazu einfach einen Flow, der die Opportunity und ihre Produkte dupliziert, und richten einen Prozess ein, der den Flow aufruft, wenn eine Opportunity geschlossen und gewonnen wird.

Über die Grundlagen hinaus

In der letzten Lektion ging es um Flows, die den Benutzer mit Bildschirmen durch einen Geschäftsprozess führen. Wir sprechen dann von Bildschirm-Flows. Sie können auch automatisch gestartete Flows einrichten, die wie ein Prozess im Hintergrund ablaufen. Der Hauptunterschied besteht darin, dass automatisch gestartete Flows keine Bildschirme haben können, die eine Interaktion mit dem Benutzer erfordern. Da sie keine Bildschirme haben, können Sie automatisch gestartete Flows aus Back-End-Elementen wie Prozessen und Apex-Klassen aufrufen.

Erstellen eines Prozesses

Anstatt einen anderen Prozess zu erstellen, lassen Sie uns auf demjenigen aufbauen, den wir in einer früheren Lektion erstellt haben.
Hinweis

Hinweis

Aktive Prozesse können nicht bearbeitet werden. Wenn Sie Ihren Prozess bereits aktiviert haben, klicken Sie auf Duplizieren, um eine neue Version des aktuellen Prozesses zu erstellen.

Der Prozess 'Geschlossene und gewonnene Opportunities' aus einer früheren Lektion

Fügen Sie im Prozess "Geschlossene und gewonnene Opportunities" einen Kriterienknoten namens "Geschlossen und gewonnen" mit dieser Filterbedingung hinzu.

Feld Value (Wert)
Opportunity > Phase Geschlossen und gewonnen

Wir können die Aktionen nicht im Prozessgenerator konfigurieren. Aus diesem Grund speichern wir nun und wechseln zum Flow Builder.

Erstellen eines Flows

Geben Sie unter "Setup" im Feld "Schnellsuche" den Text Flows ein. Wählen Sie dann Flows aus und klicken Sie auf Neuer Flow. Wählen Sie "Automatisch gestarteter Flow (Kein Auslöser)" aus und klicken Sie auf Erstellen.

Wir erstellen einen Flow, der folgende Aufgaben ausführt:

  • Duplizieren einer Opportunity
  • Duplizieren von Opportunity-Produkten
  • Zuordnen der duplizierten Produkte zur duplizierten Opportunity

Hierfür benötigt der Flow einige Daten aus dem Prozess: die ursprüngliche Opportunity und ihre Opportunity-Produkte.

Es gibt vier Typen von Flow-Variablen.

Typ speichert Folgendes... Beispiel
Variable Einen einzelnen Wert "Hello World", true, 6
Sammlungsvariable Mehrere Werte desselben Datentyps [1, 2, 3, 5, 8, 13]
Datensatzvariable Eine Gruppe von Feldwerten für einen einzelnen Datensatz Bewertung, ID und Name eines Accounts
Datensatz-Sammlungsvariable Eine Gruppe von Feldwerten für mehrere Datensätze mit demselben Objekttyp Bewertung, ID und Name für mehrere Accounts

Um die Opportunity und ihre Opportunity-Produkte zu speichern, erstellen wir eine Datensatzvariable und eine Datensatz-Sammlungsvariable. Wenn wir den Flow später als Aktion in den Prozess einfügen, übergeben wir Daten an diese Variablen, sodass sie Eingaben erlauben müssen.

  1. Klicken Sie unter "Manager" in der Toolbox auf Neue Ressource und legen Sie diese Werte fest.
    Feld Value (Wert)
    Ressourcentyp Variable
    API-Name Opportunity
    Datentyp Datensatz
    Objekt Opportunity
    Zur Eingabe verfügbar Ausgewählt
  2. Klicken Sie auf Fertig.
  3. Klicken Sie auf Neue Ressource und legen Sie diese Werte fest.
    Feld Value (Wert)
    Ressourcentyp Variable
    API-Name oppProducts_Original
    Datentyp Datensatz
    Mehrere Werte (Sammlung) zulassen Ausgewählt
    Objekt Opportunity-Produkt
    Zur Eingabe verfügbar Ausgewählt
  4. Klicken Sie auf Fertig.

Duplizieren der Opportunity

Wenn der Flow vom Prozess aufgerufen wird, enthält die Variable {!opportunity} Felder der ursprünglichen Opportunity. Bevor wir diese Opportunity duplizieren, lassen Sie uns einige der Felder aktualisieren. So beginnt die Verlängerungs-Opportunity nicht als "Geschlossen und gewonnen".
  1. Ziehen Sie ein Element vom Typ Zuordnung aus den Elementen in der Toolbox in den Zeichenbereich.
  2. Geben Sie als Bezeichnung "Opportunity-Felder aktualisieren" ein.
  3. Legen Sie die Phase auf "Interessentenphase" fest.
    1. Wählen Sie für "Variable" DATENSATZVARIABLEN (EINZELN) | opportunity | StageName.
    2. Wählen Sie für "Operator" gleich.
    3. Wählen Sie für "Wert" AUSWAHLLISTENWERTE | Interessentenphase.
  4. Legen Sie "Schlusstermin" auf 90 Tage ab heute fest.
    1. Klicken Sie auf Zuordnung hinzufügen.
    2. Wählen Sie für "Variable" DATENSATZVARIABLEN (EINZELN) | opportunity | CloseDate aus.
    3. Wählen Sie für "Operator" gleich.
    4. Wählen Sie für "Wert" Neue Ressource und legen Sie diese Werte fest.
      Feld Value (Wert)
      Ressourcentyp Formula (Formel)
      API-Name ninetyDays
      Datentyp Datum
  5. Lassen Sie bei "Formel" das Feld "Ressource einfügen..." leer und geben Sie "HEUTE() + 90" in das Textfeld ein.
  6. Klicken Sie auf Fertig und dann auf Fertig.
  7. Um die Opportunity zu erstellen, ziehen Sie ein Datensätze erstellen-Element in den Zeichenbereich und legen Sie diese Werte fest.
    Feld Value (Wert)
    Bezeichnung Opportunity duplizieren
    Datensatz  DATENSATZVARIABLEN (EINZELN) > opportunity

  8. Klicken Sie auf Fertig.
  9. Klicken Sie unten in "Start" auf den Knoten und ziehen Sie ihn auf "Opportunity-Felder aktualisieren".
  10. Klicken Sie unten in "Opportunity-Felder aktualisieren" auf den Knoten und ziehen Sie ihn auf "Opportunity duplizieren".

Nach dem Erstellen der Opportunity wird das ID-Feld in dieser Variable ({!opportunity.Id}) mit der ID des neuen Datensatzes aufgefüllt. Wir verweisen später auf diesen Wert, um der Verlängerungs-Opportunity die neuen Produkte zuzuordnen.

Duplizieren der Opportunity-Produkte

Nun kommen wir zum spannendsten Aspekt, dem Duplizieren der Opportunity-Produkte.

Wenn der Flow vom Prozess aufgerufen wird, enthält die Variable {!oppProducts_Original} Felder der ursprünglichen Opportunity-Produkte. Bevor wir diese Produkte duplizieren, müssen wir sie mit der Verlängerungs-Opportunity, anstatt mit der ursprünglichen Opportunity verbinden und den Gesamtpreis für jedes Produkt auf Null festlegen. (Opportunity-Produkte können nicht sowohl einen Stückpreis als auch einen Gesamtpreis aufweisen.)

Die einzige Möglichkeit, Elemente in einer Sammlung zu aktualisieren, besteht darin, in einer Schleife durch die Sammlung zu iterieren. Eine Schleife weist den Flow an, die einzelnen Elemente in der Sammlung nacheinander zu verarbeiten und dabei dieselbe Logik für jedes Element auszuführen, bis die gesamte Sammlung verarbeitet wurde.

Jedes Opportunity-Produkt in unserer Datensatzsammlung {!oppProducts_Original} sollte mit der Verlängerungs-Opportunity verknüpft und der Gesamtpreis auf Null festgelegt sein.

Bei jeder Iteration der Schleife steht die Schleifenvariable für ein Element in der Sammlung. Wenn eine Schleife gestartet wird, wird das erste Element der Sammlungsvariablen in die Schleifenvariable kopiert. Nach Abschluss der Iteration wird die Schleifenvariable mit den Werten des nächsten Eintrags überschrieben. Dies erfolgt, bis keine Elemente mehr in der Sammlung enthalten sind.

Ein Sammlungselement wird in eine Schleifenvariable kopiert. Die Daten der Schleifenvariablen werden aktualisiert und dann kopiert, um ein neues Element in einer anderen Sammlung zu erstellen. Die Schleifenvariable wird dann durch eine Kopie des nächsten Elements in der Originalsammlung aktualisiert.
Tipp

Tipp

  • Zum Aktualisieren der Feldwerte eines Elements innerhalb einer Schleife aktualisieren Sie die Schleifenvariable. Fügen Sie dann, bevor die Iteration für dieses Element abgeschlossen ist, die Schleifenvariable einer anderen Sammlungsvariablen als Element hinzu. Andernfalls werden die Änderungen überschrieben, wenn das nächste Element in die Schleifenvariable geladen wird.
  • Vermeiden Sie innerhalb einer Schleife das Hinzufügen von Aktionen wie Erstellen oder Aktualisieren von Datensätzen. Das ist eine todsichere Art, an die Grenzen zu stoßen.

In der Schleife aktualisieren wir die Opportunity-ID und den Gesamtpreis jedes Elements und fügen das Element dann einer neuen Sammlungsvariablen hinzu. Nach der Schleife verwenden wir die neue Sammlungsvariable, um die Opportunity-Produkte zu erstellen.

  1. Ziehen Sie ein Schleifenelement in den Zeichenbereich und legen Sie diese Werte fest.
    1. Geben Sie als Bezeichnung "Durch Produkte iterieren" ein.
    2. Wählen Sie für "Sammlungsvariable" DATENSATZ-SAMMLUNGSVARIABLEN | oppProducts_Original aus. Diese Option teilt der Schleife mit, welche Sammlung bei der Zuweisung von Elementen zur Schleifenvariablen iteriert werden soll.
    3. Klicken Sie auf Fertig.
  2. Verbinden Sie "Opportunity duplizieren" mit der Schleife.
  3. Legen Sie die Opportunity-ID der Schleifenvariablen auf die ID der neuen Opportunity und deren Gesamtpreis auf Arbeitsauftrag fest. Ziehen Sie ein Zuordnungselement in den Zeichenbereich.
    1. Geben Sie als Bezeichnung "Opportunity-Produkt aktualisieren" ein.
    2. Konfigurieren Sie unter "Variablenwerte festlegen" folgende Zuordnungen. Klicken Sie auf Zuordnung hinzufügen, um eine zweite Zeile hinzuzufügen.
      Variable Operator Value (Wert)
      DATENSATZVARIABLEN (EINZELN)> Current Item from Loop Iterate_Over_Products > OpportunityId Gleich DATENSATZVARIABLEN (EINZELN) > opportunity > ID
      DATENSATZVARIABLEN (EINZELN)> Current Item from Loop Iterate_Over_Products > TotalPrice Gleich Leer lassen

      Flow-Zuweisungen, die die Felder 'Opportunity-ID' und 'Gesamtpreis' der Schleifenvariablen festlegen
    3. Klicken Sie auf Fertig.
  4. Verbinden Sie die Schleife mit "Opportunity-Produkt aktualisieren". Das Fenster zur Auswahl des Schleifenkonnektors wird angezeigt.
  5. Stellen Sie sicher, dass im Feld "Schleifenkonnektor" Für jedes Element in der Sammlung ausgewählt ist, und klicken Sie auf Fertig.
  6. Fügen Sie die aktualisierte Schleifenvariable einer neuen Datensatz-Sammlungsvariable hinzu.
    1. Ziehen Sie ein weiteres Zuordnungselement in den Zeichenbereich.
    2. Geben Sie als Bezeichnung "Zu neuer Sammlung hinzufügen" ein.
    3. Legen Sie "Variable" auf Neue Ressource fest und erstellen Sie ein neue Ressourcenvariable mit diesen Werten.
      Feld Value (Wert)
      Ressourcentyp Variable
      API-Name oppProducts_new
      Datentyp Datensatz
      Objekt Opportunity-Produkt
      Mehrere Werte (Sammlung) zulassen Ausgewählt
    4. Klicken Sie auf Fertig.
    5. Wählen Sie für "Operator" Hinzufügen aus.
    6. Wählen Sie für "Wert" DATENSATZVARIABLEN (EINZELN) | Current Item from Loop Iterate_Over_Products. Löschen Sie den Zeitraum zwischen {!Iterate_Over_Products und der rechten Klammer } und klicken Sie dann außerhalb des Felds "Wert".
    7. Klicken Sie auf Fertig.
  7. Verbinden Sie "Opportunity-Produkt aktualisieren" mit "Zu neuer Sammlung hinzufügen". Verbinden Sie anschließend "Zu neuer Sammlung hinzufügen" mit der Schleife.
  8. Um die Opportunity-Produkte zu duplizieren, ziehen Sie ein Datensätze erstellen-Element in den Zeichenbereich und legen Sie diese Werte fest.
    Feld Value (Wert)
    Bezeichnung Produkte duplizieren
    Wie viele Datensätze sollen erstellt werden? Wählen Sie Mehrere aus
    Datensatz-Sammlungsvariable DATENSATZ-SAMMLUNGSVARIABLEN > oppProducts_new
  9. Klicken Sie auf Fertig.
  10. Verbinden Sie die Schleife mit "Produkte duplizieren".
Der fertige Flow

Fertigstellen des Flows

Sie sind fast fertig! Zum Fertigstellen des Flows müssen Sie diesen nur noch speichern und aktivieren.
  1. Klicken Sie auf Speichern.
  2. Speichern Sie den Flow und geben Sie ihm den Namen "Opportunity verlängern". Klicken Sie auf Erweiterte Optionen einblenden und stellen Sie sicher, dass Typ auf "Automatisch gestarteter Flow" festgelegt ist.
  3. Klicken Sie auf Speichern.

Aktivieren Sie den Flow, damit Sie im Prozessgenerator auf ihn verweisen können. Schließen Sie Flow Builder.

Fertigstellen des Prozesses

Nachdem Sie den Flow fertiggestellt haben, stellen Sie sicher, dass der Prozess den Flow startet, wenn eine Opportunity den Status "Geschlossen und gewonnen" hat. Erinnern Sie sich an die Variablen, die wir am Anfang des Flows erstellt haben? Im Prozess verwenden wir sie, um Werte aus dem Opportunity-Datensatz und seinen untergeordneten Elementen an den Flow zu übergeben.
  1. Öffnen Sie den Prozess Geschlossene und gewonnene Opportunities.
  2. Fügen Sie in der Gruppe "Geschlossen und gewonnen" eine sofortige Aktion hinzu, deren Typ Flows und Name "Verlängerung erstellen" ist.
  3. Wählen Sie für "Flow" Opportunity verlängern aus.
  4. Fügen Sie unter "Flow-Variablen festlegen" zwei Zeilen hinzu, legen Sie diese Werte fest und klicken Sie dann auf Speichern.
    Variable Typ Value (Wert)
    Opportunity Feldverweis Den Opportunity-Datensatz auswählen, der den Prozess gestartet hat
    oppProducts_original Feldverweis Opportunity > OpportunityLineItems
    Wenn eine Opportunity geschlossen und gewonnen wurde, soll die Verlängerung stets erstellt werden. Aber Sie müssen sicherstellen, dass Vertragsentwürfe und Folgeaufgaben erstellt werden, wenn die Opportunity auch einen hohen Wert hat.
  5. Ziehen Sie den Kriterienknoten Geschlossen und gewonnen über "Geschlossen und gewonnen" und "Hoher Wert".
  6. Klicken Sie für die Kriteriengruppe "Geschlossen und gewonnen" auf BEENDEN.
  7. Wählen Sie Nächste Kriterien auswerten aus und klicken Sie auf Speichern. Der fertige Prozess
  8. Um mit der Nutzung des Prozesses zu beginnen, aktivieren Sie ihn.

Ressourcen