Mit Iterator können Sie ein Array von Datensätzen durchlaufen und für jeden Datensatz Aktionen ausführen. Es ist unverzichtbar für Workflows, die mehrere Datensätze verarbeiten müssen, die von der Aktion „Datensätze suchen“ zurückgegeben oder über Webhooks empfangen werden.Documentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
Wann Sie Iterator verwenden sollten
| Szenario | Beispiel |
|---|---|
| Suchergebnisse verarbeiten | E-Mail an jede gefundene Person senden |
| Webhook-Arrays verarbeiten | Der Reihe nach für jedes Element Datensätze erstellen |
| Massenaktualisierungen | Mehrere Datensätze mit berechneten Werten aktualisieren |
| Benachrichtigungen | Mehrere Personen über ein Ereignis benachrichtigen |
Iterator verstehen
Iterator erwartet ein Array als Eingabe. Dann:- Nimmt das erste Element aus dem Array
- Führt alle Aktionen innerhalb des Iterators mit diesem Element aus
- Wechselt zum nächsten Element
- Wiederholt sich, bis alle Elemente verarbeitet sind
Grundlegende Einrichtung
Beispiel: E-Mail an alle in den Suchergebnissen
Ziel: Alle Kontakte in einem bestimmten Unternehmen finden und jedem eine personalisierte E-Mail senden.Schritt 1: Nach Datensätzen suchen
- Fügen Sie die Aktion Datensätze suchen hinzu
- Objekt: Personen
- Filter: Unternehmen ist gleich “Acme Inc”
- Dadurch wird ein Array von Personen zurückgegeben
Schritt 2: Prüfen, ob Ergebnisse vorhanden sind
- Fügen Sie eine Filter-Aktion hinzu
- Bedingung:
{{searchRecords.length}}ist größer als 0 - Dies verhindert Iterator-Fehler bei leeren Ergebnissen
Schritt 3: Iterator hinzufügen
- Fügen Sie eine Iterator-Aktion hinzu
- Array-Eingabe: Wählen Sie
{{searchRecords}}aus - Dadurch wird eine Schleife erstellt
Schritt 4: Aktionen im Iterator hinzufügen
Aktionen, die nach dem Iterator platziert werden, werden für jedes Element ausgeführt:- Fügen Sie eine E-Mail senden-Aktion hinzu (im Iterator)
- An:
{{iterator.currentItem.email}} - Betreff: Hallo
{{iterator.currentItem.firstName}}! - Text: Personalisierte Nachricht unter Verwendung der Felder des aktuellen Elements
Ergebnis
Wenn Datensätze suchen 5 Personen zurückgibt, führt der Iterator Folgendes aus:- Sendet E-Mail an Person 1
- Sendet E-Mail an Person 2
- … setzt dies für alle 5 fort
Zugriff auf Daten des aktuellen Elements
Im Iterator verwenden Sie{{iterator.currentItem}}, um auf den aktuellen Datensatz zuzugreifen:
| Variable | Beschreibung |
|---|---|
{{iterator.currentItem}} | Das vollständige Objekt des aktuellen Datensatzes |
{{iterator.currentItem.id}} | Datensatz-ID |
{{iterator.currentItem.email}} | E-Mail-Feld |
{{iterator.currentItem.company.name}} | Name des zugehörigen Unternehmens |
{{iterator.index}} | Aktuelle Position im Array (0-basiert) |
Häufige Muster
Mehrere Datensätze aktualisieren
Ziel: Alle überfälligen Aufgaben als “Late” markierenDatensätze aus Array erstellen
Ziel: Ein Webhook erhält eine Bestellung mit mehreren Positionen; für jede Position einen Datensatz erstellenBedingte Verarbeitung innerhalb der Schleife
Ziel: Nur E-Mails an Kontakte mit gültigen E-Mail-Adressen sendenFehlerbehebung
”Iterator erwartet ein Array”
Ursache: Sie haben einen einzelnen Datensatz statt eines Arrays übergeben. Lösung: Stellen Sie sicher, dass Sie das Ergebnis von Datensätze suchen oder ein Array-Feld übergeben, nicht einen einzelnen Datensatz.Iterator wird nicht ausgeführt
Ursache: Das Array ist leer. Lösung: Fügen Sie vor dem Iterator einen Filter hinzu, um die Array-Länge zu prüfen:Aktionen werden zu oft ausgeführt
Ursache: Datensätze suchen hat mehr Datensätze zurückgegeben als erwartet. Lösung:- Fügen Sie der Aktion „Datensätze suchen“ spezifischere Filter hinzu
- Legen Sie für die Aktion „Datensätze suchen“ ein Limit fest (max. 200)
- Fügen Sie innerhalb des Iterators einen Filter für zusätzliche Bedingungen hinzu
Leistungsaspekte
- Credit-Verbrauch: Jede Iteration verbraucht Credits für ihre Aktionen
- Zeit: Große Arrays benötigen länger für die Verarbeitung
- Grenzwerte: Ziehen Sie für sehr große Vorgänge eine Stapelverarbeitung in Betracht
- Ratenlimits: Externe API-Aufrufe können bei vielen Iterationen auf Ratenlimits stoßen
Beste Praktiken
- Prüfen Sie stets die Array-Länge vor dem Iterator, um Fehler zu vermeiden
- Fügen Sie Filter innerhalb von Schleifen hinzu, wenn nicht alle Elemente verarbeitet werden müssen
- Benennen Sie Ihren Iterator-Schritt um, um zu beschreiben, was durchlaufen wird
- Testen Sie mit kleinen Arrays, bevor Sie große Datenmengen verarbeiten
- Überwachen Sie Workflow-Ausführungen, um sicherzustellen, dass Iterationen wie erwartet abgeschlossen werden