Das Ende von Workflows und Processes naht! Salesforce Flows sind der neue Allrounder im Bereich Prozessautomatisierung auf der Salesforce Plattform. In unserem letzten Artikel haben wir Ihnen ein Schritt-für-Schritt-Schema zum Umstieg zu Salesforce Flows vorgestellt.
In diesem Artikel stellt Zeljko Stankovic, Salesforce Consultant bei H+W CONSULT, unsere Best Practices für den Umstieg vor.
Best Practice 1: Ein Flow für alle Fälle
Für die verschiedenen Stellen in der Order Of Execution (Before, After) sollte möglichst nur ein Flow pro Objekt erstellt werden, d.h. für ein Objekt sollte es im besten Fall einen, maximal zwei Flows geben.
Dadurch stellt man sicher, dass die Flows
- übersichtlich bleiben,
- die Reihenfolge wie gewünscht eingehalten wird,
- die Performance sowie
- die Limits von Salesforce geschont werden.
Best Practice 2: Möglichst im Speicher arbeiten
Klingt einfach und banal, ist allerdings eine der goldenen Regeln in vielen Programmiersprachen.
Der Aufbau der Verbindung zur Datenbank, die Abarbeitung der DMLs und das Schließen der Verbindung kostet Zeit und daher sollten
- die Daten möglichst in einem Schritt abgefragt,
- die Daten im Speicher ohne Datenbankzugriff verarbeitet und
- die Daten zum Schluss aktualisiert werden.
Konkret in den Flows heißt das, dass die Daten zu Beginn direkt über die sObject-Variable $Record, $Record_Prior oder Abfragen abgeholt und diese dann mit weiteren Elementen wie z.B. Decisions, Loops oder Formeln verarbeitet werden.
Best Practice 3: DMLs reduzieren
Die Anzahl an DMLs ist entscheidend für die Performance. Folglich ist die Reduzierung der DMLs sinnvoll.
Folgende Möglichkeiten bieten sich an:
- Nutzung von Before-Flows, da kein DML notwendig ist.
- Falls After-Flows aus technischen Gründen notwendig sind, sollte ein Flow genutzt werden, der die Daten für verschiedene Fälle verarbeitet und erst zum Schluss wird ein DML erstellt, falls es eine relevante Änderung gab.
- Es sollte immer auf Collections gearbeitet werden, wenn mehrere Datensätze aktualisiert werden und darauf ein DML erstellt werden
Hier ein Beispiel für Fall Nr. 2
Die verschiedenen Bedingungen werden in den Schritten #1. #2 und #3 über Decisions abgefragt. Nur wenn diese zutreffen, werden über Assignment Felder in dem Objekt z.B. Opportunity geändert.

Zum Schluss wird in einer Decision abgefragt (#4), ob eine der o.g. Bedingungen zutrifft und ein Update notwendig ist. Dann – und nur dann – wird ein Update der Opportunity durchgeführt. Falls mehrere Bedingungen zutreffen, wird ein DML für alle Fälle durchgeführt.
In der Abbildung unten findet sich das Vorgehen im Detail zu der Decision in Punkt #4 aus der oben genannten Abbildung:
Auf der linken Seite befinden sich alle Decisions in dem Flow, die mit OR verknüpft werden.
Auf der rechten Seite befinden sich die Outcomes, bei denen ein Update des Datensatzes notwendig ist.
Sobald eine der Bedingungen zutrifft, wird ein Update der Opportunity gemacht.

Best Practice 4: Flows batchfähig machen
Flows sind generell batchfähig, d.h. sie können darauf ausgelegt werden, dass die gleiche Aktion für mehrere Datensätze durchgeführt wird. Dadurch sind Massenprozesse auf den Datensätzen performanter, z.B. massenweise den Inhaber in der Opportunity ändern.
Wenn mehrere Datensätze geändert werden, dann macht Salesforce Folgendes:
- Die erste Aktion wird durchgeführt z.B. Abfrage eines Datensatzes.
- Wenn es mehrere Datensätze sind, dann werden alle Flows nur bis zur Abfrage des Datensatzes durchgeführt.
- Wenn alle Instanzen des Flows die Abfrage erreicht haben, dann wird in einem Schritt die Abfrage durchgeführt.
Die o.g. Schritte macht Salesforce automatisch. Man muss lediglich die bulkfähigen Elemente benutzen. Zudem darf man die Abfrage nicht in einer Schleife machen, da in diesem Fall die Bulkifizierung nicht greifen kann. Hintergrund ist, dass die Abfragen alle in einer Instanz des Flows passieren und mit einer erhöhten Anzahl von Schleifendurchgängen und Datensätzen die Limits von Salesforce schnell erreicht werden, in diesem Fall die SOQL-Limits.
Best Practice 5: Decisions und Outcomes korrekt nutzen und einstellen & immer nur laufen lassen, wenn notwendig
Bei Workflows und Processes gab es die Möglichkeit, in den Bedingungen zu hinterlegen, ob diese nur ausgeführt werden sollen, wenn der Datensatz vor der Speicherung die Bedingungen nicht erfüllt hat, nach der Speicherung allerdings schon. Das kann z.B. dafür genutzt werden, dass bestimmte Aktionen nur einmal ausgeführt werden z.B. die Erstellung eines Tasks zum Follow-Up von Opportunities abhängig von der Stage.
In Flows gibt es diese Möglichkeit ebenfalls an mehreren Stellen und diese sollte genutzt werden, da dadurch Updates auf Datensätze nur durchgeführt werden, wenn notwendig.
An folgenden Stellen kann das im Record-Triggered-Flow eingestellt werden:
Im Startelement bei der Objektauswahl

Im Decisionelement bei den Outcomes

Best Practice 6: Priorisierung bei der Umstellung
An dieser Stelle sei gesagt, dass es auch Workflows oder Processes gibt, die man nicht einfach umstellen kann, ggf. aus technischen Gründen oder weil es in Flows aktuell zu aufwändig ist.
In diesem Fall sollte man sich auf die einfach umzustellenden Automatismen konzentrieren und die aufwändigen auf einen späteren Zeitpunkt vertagen. z.B. wenn das Aufrufen von Subflows möglich ist, die aktuell von Processes aufgerufen werden.
Durch dieses Vorgehen erhält man den größten Nutzen mit einem vertretbaren Aufwand. Im Schnitt benötigt man für die Umstellung von einfachen Workflows und Processes 30 Minuten und lässt die dicken Brocken für später übrig.
Empfehlungen von Salesforce und weiterführende Links
Unter diesem Link gibt es weitere Informationen zu den hier vorgestellten Inhalten und zu zukünftigen Erweiterungen von Flows.
Fazit
Der Umstieg von Workflows und Processes zu Salesforce Flows sollte auf Ihrer Agenda stehen. Wir hoffen, dass unsere Best Practices Ihnen bei Ihrem Umstieg weiterhelfen können. Das Team von H+W CONSULT unterstützt Sie gerne bei dem Wechsel zu Salesforce Flows.
Gefällt Ihnen dieser Artikel?
Melden Sie sich jetzt für den H+W Newsletter an, um unsere Blogposts per E-Mail zu erhalten.
Bitte beachten Sie das Veröffentlichkeitsdatum des Artikels. Änderungen und Irrtümer vorbehalten.
Haben Sie Fragen? Gerne unterstützen wir Sie bei dem Umstieg auf Salesforce Flows.
Bitte beachten Sie, dass die gekennzeichneten Felder (*) notwendig sind.

Ansprechpartner:
Sara Zilken
Vertrieb
H+W CONSULT