Demnächst auf der Salesforce AppExchange

Salesforce Flow-Schleife: ein Datensatz pro Tag oder Schicht

Ein Bildschirm, viele Datensätze. Das Schleifen-Muster, das jeder braucht, der Bildschirm-Flows baut, mit drei Vorlagen-Flows zum Kopieren: Schichten, freie Tage und Zeiträume.

Veröffentlicht am 29. Oktober 2026 · MultiDatePick

Eine Recruiterin muss einem Auftrag zwölf Schichten hinzufügen. Ein Manager genehmigt eine Woche Urlaub. Eine Eventplanerin bucht einen dreitägigen Workshop und einen Folgetermin. Jedes Mal ist es eine einzige Entscheidung auf einem einzigen Bildschirm, und jedes Mal sollen daraus mehrere Datensätze werden.

Bildschirm-Flows (Screen Flows) haben kein Element, das sagt: "pro Tag einen Datensatz anlegen". Sie bauen es aus drei Standardbausteinen: einer Schleife, einer Zuweisung und einem einzigen Speichern. Dieser Beitrag zeigt das Muster Schritt für Schritt und liefert drei fertige Flows, die darauf aufbauen.

Das Muster stammt aus einem Recruiting-Projekt mit TalentRover, in dem Recruiter einem Auftrag eine ganze Reihe von Schichten hinzufügen mussten. Sie einzeln als Datensätze einzutippen dauerte länger als die Planung selbst. Die Tage und Stunden einmal auswählen und die Schichten von einer Schleife schreiben lassen löste das Problem, und das funktioniert genauso für jedes andere Objekt.

Das Muster in fünf Elementen

Ein Salesforce-Bildschirm-Flow im Flow Builder, der Schichten anlegt: ein MultiDatePick-Bildschirm, eine Aktion Parse Date Entries, eine Schleife, die jede Schicht aufbaut, und ein einziges Datensätze erstellen nach der Schleife
Der Vorlagen-Flow Add Shifts. Gespeichert wird nach der Schleife, nicht darin.
  1. Bildschirm. Ein MultiDatePick-Kalender, in dem der Benutzer alle Tage und bei Bedarf auch die Uhrzeiten auf einmal wählt.
  2. Parsen. Die Aktion Parse Date Entries from JSON macht aus der Auswahl eine Liste, die Flow durchlaufen kann.
  3. Schleife. Ein Schleifen-Element geht die Liste Eintrag für Eintrag durch.
  4. Zuweisung. Innerhalb der Schleife: Datum und Uhrzeiten des Eintrags in eine Datensatzvariable übernehmen und diesen Datensatz dann einer Datensatzsammlung hinzufügen.
  5. Datensätze erstellen. Nach der Schleife speichert ein einziges Datensätze erstellen die ganze Sammlung.

Warum nach der Schleife gespeichert wird

Es ist verlockend, Datensätze erstellen in die Schleife zu ziehen: ein Durchlauf, ein Datensatz. Bei drei Tagen klappt das, bei dreißig nicht mehr. Jedes Datensätze erstellen ist ein eigener Speichervorgang in der Datenbank, und Salesforce erlaubt 150 davon pro Transaktion, geteilt mit allen Triggern und Flows, die diese Speichervorgänge auslösen. Speichern in der Schleife verbraucht einen pro Tag.

Eine Sammlung aufbauen und einmal speichern verbraucht insgesamt einen Speichervorgang, egal wie viel der Benutzer gewählt hat. Das ist außerdem schneller und speichert entweder alles oder nichts, sodass ein Fehler nie die Hälfte der Schichten zurücklässt.

Datensätze erstellen in der SchleifeSammlung, nach der Schleife gespeichert
Speichervorgänge bei 30 Tagen301
Risiko für LimitsWächst mit jedem gewählten TagKeines durch die Schleife
Bei einem FehlerManche Datensätze gespeichert, manche nichtAlles oder nichts

Einsatzbeispiel: Schichten zu einem Auftrag hinzufügen

Die Recruiterin öffnet den Flow vom Auftrag aus, wählt die Schichttage im Kalender und die Stunden im Zeitraster und klickt auf Weiter. Der Flow schreibt pro Tag eine Schicht, verknüpft mit dem Auftrag.

MultiDatePick-Datums- und Uhrzeitauswahl in einem Salesforce-Bildschirm-Flow: drei Schichttage im November gewählt, 13:00 bis 14:00 für alle drei markiert
Drei Schichttage und ein Zeitraum, auf einem Bildschirm gewählt. Der Flow macht daraus drei Schichtdatensätze.

Der Kalender übergibt die Auswahl als JSON in seiner Ausgabe selectedDatesWithTimesJson an den Flow. Flow kann kein JSON lesen, und genau dafür ist der Parser da. Jeder Eintrag, den er zurückgibt, hat diese Felder:

FeldTypEnthält
fromDateDateDen Tag der Schicht
toDateDateBei einer Schicht derselbe Tag; bei einem Zeitraum der letzte Tag
startTimeUhrzeitDas erste gewählte Zeitfenster
endTimeUhrzeitDas Ende des letzten gewählten Zeitfensters

Aufeinanderfolgende Zeitfenster ergeben eine Schicht, aus 13:00 und 13:30 wird also 13:00 bis 14:00. Wählt man an einem Tag zwei getrennte Blöcke, etwa vormittags und nachmittags, entstehen zwei Einträge und zwei Schichten für diesen Tag.

Vorlagen-Flow: Add Shifts

Tage und Stunden wählen, dann pro Block eine Schicht speichern, verknüpft mit dem Datensatz, von dem aus der Flow gestartet wurde. MDP_Starter_Add_Shifts.flow-meta.xml

Herunterladen

Einsatzbeispiel: ein Datensatz pro freiem Tag

Urlaub wird meist pro Tag erfasst: Die Lohnabrechnung zählt Tage, und ein nur teilweise genehmigter Antrag muss ohnehin nach Tagen aufgeteilt werden. Hier brauchen Sie nicht einmal den Parser. Die Date-Komponente gibt auch selectedDates aus, eine einfache Textliste mit jedem gewählten Tag, Zeiträume Tag für Tag ausgeschrieben.

Durchlaufen Sie diese Liste direkt. Einziger Haken: Jeder Eintrag ist Text wie 2026-11-09. Eine einzeilige Formel, DATEVALUE({!Loop_Days}), macht daraus ein Datum, bevor die Zuweisung es in den Datensatz übernimmt.

Vorlagen-Flow: Record per Day

Tage und Zeiträume wählen, dann für jeden einzelnen Tag einen Datensatz speichern, ganz ohne Parser. MDP_Starter_Record_Per_Day.flow-meta.xml

Herunterladen

Einsatzbeispiel: ein Datensatz pro Zeitraum

Manches erstreckt sich über mehrere Tage, ist aber eine Sache: ein dreitägiger Workshop, eine Gerätemiete, ein Vor-Ort-Termin von Montag bis Mittwoch. Dafür wollen Sie einen Datensatz mit Start- und Enddatum, nicht drei.

Dafür gibt es die Ausgabe selectedDateRangesJson. Der Kalender fasst aufeinanderfolgende Tage zu einem Zeitraum zusammen: Wer den 9., 10. und 11. wählt, bekommt einen Eintrag vom 9. bis zum 11. Parsen, Schleife, und fromDate und toDate in die Start- und Endfelder übernehmen.

Vorlagen-Flow: Record per Range

Tage und Zeiträume wählen, dann pro Zeitraum einen Datensatz mit Start- und Enddatum speichern. MDP_Starter_Record_Per_Range.flow-meta.xml

Herunterladen
Sie buchen eine Ressource? Dann brauchen Sie keine Schleife. Die Booking-Komponente speichert ihre Buchungen selbst, prüft dabei Kapazität und Konflikte und meldet dem Flow in bookingSuccessCount, wie viele gespeichert wurden, und in bookingConflictDates, welche Tage kollidiert sind.

Einen Vorlagen-Flow in Ihrer Org verwenden

Die Vorlagen-Flows speichern in die Objekte Schedule und Event, die mit MultiDatePick mitkommen. Sie lassen sich also unverändert bereitstellen und laufen direkt nach der Installation. Tauschen Sie sie gegen Ihre eigenen Objekte aus, sobald Sie gesehen haben, dass alles funktioniert.

  1. Kopieren oder laden Sie das XML des Flows oben herunter.
  2. Stellen Sie ihn bereit, aus VS Code. Flow mit VS Code bereitstellen zeigt es Schritt für Schritt.
  3. Im Flow Builder öffnen und auf dem ersten Bildschirm auf den Kalender klicken. Geben Sie den Config Name einer Konfiguration ein, die Sie im Einrichtungsassistenten gespeichert oder aus der Config Library importiert haben, damit er Ihre Einstellungen übernimmt.
  4. Auf Ihre Objekte umstellen, falls Sie nicht Schedule und Event verwenden: Objekt der Datensatzvariable und die Felder in der Zuweisung ändern.
  5. Aktivieren und mit der Flow-Komponente oder als Aktion auf die Datensatzseite bringen. Der Flow liest die Id des Datensatzes aus seiner Variable recordId.

Fehler, die einen Nachmittag kosten

  • Speichern in der Schleife. Im Test mit drei Tagen kein Problem, in Produktion mit vierzig ein Limitfehler.
  • Den Datensatz nicht zur Sammlung hinzufügen. Die Zuweisung braucht zwei Teile: die Felder setzen, dann die Datensatzvariable per Add der Sammlung hinzufügen. Ohne den zweiten Teil hat das Speichern am Ende nichts zu speichern.
  • Text einem Datumsfeld zuweisen. Die Liste selectedDates ist Text. Jeden Eintrag zuerst in DATEVALUE() einpacken.
  • Output As JSON ausgeschaltet lassen. Die JSON-Ausgaben werden nur gefüllt, wenn die Kalendereinstellung Output As JSON eingeschaltet ist. Die Vorlagen-Flows schalten sie ein.
  • Vom falschen Ort aus starten. Der Flow verknüpft jeden Datensatz mit recordId. Starten Sie ihn vom Auftrag, Ereignis oder der Person, zu der die Datensätze gehören, sonst bleibt die Verknüpfung leer.

Häufige Fragen

Wie erstelle ich mehrere Datensätze aus einem Salesforce-Bildschirm-Flow?

Sammeln Sie die Auswahl auf einem Bildschirm und durchlaufen Sie sie mit einer Schleife. In der Schleife füllt eine Zuweisung eine Datensatzvariable und fügt sie einer Datensatzsammlung hinzu. Nach der Schleife speichert ein einziges Element Datensätze erstellen die ganze Sammlung.

Gehört Datensätze erstellen in eine Flow-Schleife?

Nein. Datensätze erstellen innerhalb einer Schleife speichert einmal pro Eintrag, und eine Transaktion erlaubt 150 solcher Speichervorgänge. Eine lange Liste scheitert also, und jede Liste läuft langsamer. Bauen Sie in der Schleife eine Datensatzsammlung auf und speichern Sie sie einmal, wenn die Schleife fertig ist.

Wie durchlaufe ich JSON in einem Salesforce Flow?

Flow kann JSON nicht selbst lesen. Machen Sie zuerst eine Sammlung daraus: MultiDatePick bringt die Aktion Parse Date Entries from JSON mit. Sie wandelt die JSON-Ausgabe des Kalenders in eine Liste von Einträgen mit fromDate, toDate, startTime und endTime um, die ein Schleifen-Element durchlaufen kann.

Wie füge ich einem Auftrag in Salesforce mehrere Schichten hinzu?

Setzen Sie eine Datums- und Uhrzeitauswahl in einen Bildschirm-Flow, der vom Auftragsdatensatz aus gestartet wird. Die Recruiterin wählt die Schichttage und Stunden, der Flow parst die Auswahl in eine Liste und baut in einer Schleife pro Tag einen Schichtdatensatz, verknüpft mit dem Auftrag. Nach der Schleife speichert ein Datensätze erstellen alle auf einmal.

Brauche ich Apex, um gewählte Tage in einer Schleife zu durchlaufen?

Nein. Die Parse-Aktion ist in MultiDatePick enthalten, und Schleife, Zuweisung und Speichern sind Standard-Flow-Elemente. Für ganze Tage brauchen Sie nicht einmal die Aktion: Der Kalender gibt auch eine einfache Liste der gewählten Tage aus.

Ein Bildschirm, jeder Datensatz, den er anlegen soll.

Kopieren Sie oben einen Vorlagen-Flow, oder testen Sie den Kalender zuerst in der Live-Demo.

  • $20/Benutzer/Monat, alle Funktionen
  • 30 Tage kostenlos, ohne Kreditkarte
  • 100 % nativ in Salesforce
  • Ohne Apex
  • Demnächst auf der Salesforce AppExchange