SmartFields
SmartFields sind benannte Platzhalter, die du in eine Schritt-Konfiguration einsetzt; AutoFlow löst sie auf, wenn der Schritt läuft. Ein Token wie {{customer.no}} liest die Kundennummer aus dem Flow-Kontext aus, kurz bevor der Schritt läuft – der Schritt selbst sieht nur den aufgelösten Text. So vergleicht eine Entscheidung Werte aus einem vorgelagerten Schritt, so füllt ein Insert-Record-Schritt seine Feldwerte, so bestimmt ein Sleep-Schritt seine Wartezeit, und so setzt ein HTTP-Request-Schritt seine URL oder seinen Body zusammen.
Zwei Konzepte decken das meiste ab, was du wissen musst:
- Ein SmartField hat einen Typ. Ein Value-SmartField löst zu einem Text auf (ein Name, eine Zahl, ein Datum). Ein Reference-SmartField löst zu einem Datensatz auf – nützlich für nachgelagerte Schritte, die mit dem Datensatz selbst arbeiten, etwa Modify Record oder Delete Record.
- Referenzen lassen sich aufschlüsseln. Sobald ein SmartField auf einen Datensatz zeigt, kannst du ein Feld auf diesem Datensatz auswählen (
{{customer.name}}) oder – wenn das Feld wiederum eine andere Tabelle referenziert – tiefer einsteigen ({{customer.salesperson.email}}). Der Picker geht die Kette für dich Schritt für Schritt durch.
Wo die SmartFields tatsächlich herkommen, hängt vom Flow ab:
- Der Trigger registriert SmartFields, wenn er feuert (ein Webhook-Trigger stellt zum Beispiel das geparste Payload bereit).
- Jeder Schritt registriert seine Outputs als SmartFields unter dem Namen des Schritts (
parser.amount,httpRequest.responseBody,findRecords.results). - Die eigenen SmartField-Definitionen des Flows (der Dialog SmartFields bearbeiten, siehe unten) deklarieren zusätzliche Felder, die aus den Datensätzen des Flows berechnet werden – typischerweise Reference-SmartFields auf Business-Central-Tabellen wie Kunde oder Artikel.
Der Schritt-Slug
Der Name des Schritts in {{slug_feld}} ist der Slug des Schritts – ein kurzer, lower-kebab Identifier, der beim Einfügen des Schritts automatisch aus der Beschreibung erzeugt wird (E-Mail senden → e-mail-senden, bei Kollision e-mail-senden-1). Der Slug ist rein intern und taucht beim Ausführen des Flows nirgends auf.
Auf jeder Schritt-Konfigurationsseite findest du den Slug direkt unter der Beschreibung als reguläres Feld, das du jederzeit umbenennen kannst, wenn der automatisch generierte Name unhandlich ist. Die Regeln: kein Unterstrich (der Parser splittet am ersten _), höchstens 15 Zeichen, eindeutig innerhalb des Flows. Beim Umbenennen wird jede {{alter-slug_*}}-Referenz in der gesamten Flow-Definition automatisch mit umgeschrieben – nachgelagerte Schritte funktionieren ohne manuelles Nachziehen weiter.
Diese Seite beschreibt die zwei Oberflächen, über die du SmartFields verwaltest und referenzierst:
- Den Dialog SmartFields bearbeiten, der von einer Flow-Karte oder -Version aus geöffnet wird; hier pflegst du die eigenen SmartField-Definitionen des Flows.
- Den SmartField-Picker, der über den Assist-Edit-Button (...) auf jedem SmartField-fähigen Feld einer Schritt-Konfigurationsseite öffnet; hier wählst du ein bestehendes SmartField, das in dein Eingabefeld eingefügt wird.
SmartFields bearbeiten (von der Flow-Karte aus)
Öffne einen Flow und klicke in der Aktionsleiste auf SmartFields bearbeiten. Der Dialog ist auch von der Seite einer Flow-Version aus erreichbar, wenn du die SmartFields prüfen möchtest, die auf einer bestimmten Version gespeichert sind.
Die Aktion arbeitet auf der Entwurfs-Version des Flows. Ist der Flow gerade veröffentlicht, legt AutoFlow zuerst einen Entwurf aus der veröffentlichten Version an und bearbeitet dann diesen Entwurf – exakt dieselbe Konvention wie beim Flow-Editor selbst. Die veröffentlichte Version bleibt unverändert, bis du den Entwurf veröffentlichst.
Was der Dialog zeigt
Der Dialog öffnet sich auf der Liste SmartField Sets. Jede Zeile ist eine Business-Central-Tabelle, für die der Flow SmartFields definiert.
| Spalte | Bedeutung |
|---|---|
| Table No. | Die Object-ID der BC-Tabelle. Standardmäßig ausgeblendet – nutze sie, wenn die Tabellenbezeichnung allein nicht eindeutig ist. |
| Caption | Die Bezeichnung der Tabelle, zum Beispiel Kunde oder Verkaufskopf. Drill-down öffnet die Set-Karte. |
| SmartFields | Wie viele SmartFields für diese Tabelle registriert sind. Drill-down öffnet ebenfalls die Set-Karte. |
Um ein neues Set anzulegen, schreib in die leere Zeile am Ende der Liste, wähle über den Assist-Edit auf Table eine Tabelle aus und speichere. Das Set wird auf der Entwurfs-Definition des Flows angelegt – außerhalb des Flows wird es nirgends gespeichert.
Innerhalb eines Sets: SmartField-Definitionen
Öffne ein Set (Drill-down auf der Spalte Caption oder SmartFields); du landest auf der Karte SmartField Set. Die Karte besteht aus zwei Bereichen:
- Eine General-Gruppe oben, die die Tabelle anzeigt, an die das Set gebunden ist.
- Ein SmartFields-ListPart darunter, in dem jede Zeile eine SmartField-Definition ist.
Pro Definition füllst du aus:
- SmartField Name – der Token-Name. Genau das schreibst du später innerhalb von
{{ }}. Namen sind auf das Set begrenzt; zwei verschiedene Tabellen dürfen also beide einname-SmartField haben, ohne dass es kollidiert. - Type – Value (löst zu einem Text auf) oder Reference (löst zu einem Datensatz auf).
- Caption – schreibgeschützte Zusammenfassung dessen, worauf das Feld auflöst. Drill-down auf dieser Spalte öffnet:
- Bei einem Value-Feld: das BC-Feld auf der Set-Tabelle, dessen Inhalt das SmartField zurückgibt. Der Picker ist das Standard-Fields Lookup.
- Bei einem Reference-Feld: die BC-Tabelle, auf die das SmartField zeigt, und die Filter, mit denen beim Ausführen des Flows der richtige Datensatz gefunden wird (siehe unten).
Die Spalte Format String auf einer Value-Definition ist optional und steuert, wie der aufgelöste Wert dargestellt wird (BCs Standard-Format-Strings – nützlich für Datumswerte und Dezimalzahlen).
Referenz-Filter
Ein Reference-SmartField benennt nicht nur eine Zieltabelle – es muss auch beschreiben, welche Zeile dieser Tabelle zurückgegeben wird. Das konfigurierst du auf der Karte Table Lookup, die du über den Drill-down der Spalte Caption eines Reference-Felds öffnest.
Die Karte enthält:
- Ref. Table – die Tabelle, auf die die Referenz zeigt. Drill-down zur Auswahl.
- Filters – ein ListPart, in dem jede Zeile ein Filter ist, der die Zieltabelle einschränkt.
Jede Filterzeile hat ein Field (eine Spalte auf der referenzierten Tabelle), einen Lookup-Typ und entweder einen Lookup-Text oder ein Lookup-Field:
- Const – der Filterwert ist der Literaltext in Lookup Text. Für feste Werte:
Type = Artikel,Blocked = ''. - Field – der Filterwert wird beim Ausführen des Flows aus einem Feld auf der übergeordneten Tabelle (der Set-Tabelle) gelesen. Der Drill-down auf Lookup Field wählt dieses Feld aus.
- Filter – der Filterwert ist ein freier Filterausdruck in Lookup Text. Für Bereiche (
>=01.01.2026), Wildcards (@ABC*) oder andere BC-Filtersyntax.
Zusammen sagen diese Filter AutoFlow, wie beim Ausführen des Flows aus dem übergeordneten Datensatz der referenzierte Datensatz gefunden werden soll – zum Beispiel: "der Kunde, dessen Nr. der Verk. an Debitorennr. des Verkaufskopfs entspricht".
Speichern
Der Dialog ist modal: Wenn du ihn schließt, werden die SmartField-Definitionen in einer Transaktion zurück in die Entwurfs-Version des Flows geschrieben. Es gibt keinen separaten Speichern-Button – das Schließen ist der Commit. AutoFlow nutzt die neuen Definitionen, sobald der Entwurf das nächste Mal läuft.
Der SmartField-Picker (von einer Schritt-Konfigurationsseite aus)
Viele Schritt-Konfigurationsseiten haben ein oder mehrere Felder, die SmartFields akzeptieren – die URL bei einem HTTP-Request, der Input bei einem Parser, die Bedingung bei einer Entscheidung, die Reference bei Modify- oder Delete-Record, die Dauer bei einem Sleep, die Nachricht bei einem Error-Schritt usw. Auf jedem solchen Feld öffnet der Assist-Edit-Button (...) den SmartField-Picker.
Der Picker zeigt die volle Menge an SmartFields, die an der Position des Schritts verfügbar ist – also alles, was der Trigger und jeder vorgelagerte Schritt registriert haben, plus die eigenen SmartField-Definitionen des Flows für alle Tabellen, die diese Vorgänger referenzieren.
Liste durchsuchen
Der Dialog rendert zunächst eine flache Liste – jede Zeile ist ein SmartField mit Name und Typ:
| Spalte | Bedeutung |
|---|---|
| Variable Name | Der reine Token (customer, responseBody, parser_amount). |
| Table | Bei Reference-Feldern die BC-Tabelle, auf die die Referenz auflöst. Bei Value-Feldern leer. |
Über das Filter-Feld am oberen Rand des Pickers schränkst du die Liste durch Tippen ein – praktisch, wenn ein Vorgängerschritt dutzende Outputs registriert.
In eine Referenz hineingehen
Ein Reference-SmartField ist begehbar. Klick hinein, und die Liste wechselt zu den Feldern, die du aus dieser Referenz auslesen kannst – also den Value- und Reference-SmartFields, die der Flow auf dieser Tabelle registriert hat. Aus einer Referenz kannst du:
- Ein Value-Feld auswählen – der Picker liefert einen verketteten Token wie
customer.name. - In eine weitere Referenz hineingehen – die Kette fortsetzen (
customer.salesperson.email). - Die Referenz selbst auswählen – über die Aktion Select Reference Itself, wenn du den Datensatz willst, nicht ein Feld auf ihm. Genau das ist die richtige Wahl, wenn du das Reference-Eingabefeld eines Modify-Record-, Delete-Record- oder PDF-Print-Schritts füllst.
Die Brotkrumen über der Liste zeigen den Pfad an, in den du bisher hineingegangen bist. Mit Back gehst du eine Ebene zurück.
Ein SmartField unterwegs anlegen
Wenn du tief in einer Referenz bist und merkst, dass das gewünschte Feld noch nicht registriert ist, öffnet die Aktion + SmartField im Picker die SmartField Set-Karte für die Tabelle, die du gerade durchsuchst. Lege die neue Definition dort an, schließe die Karte, und der Picker aktualisiert sich – dein neues SmartField ist jetzt Teil der Liste und kann wie jedes andere ausgewählt werden.
Auf der obersten Ebene (keine Referenz ausgewählt) öffnet + SmartField die vollständige Liste SmartField Sets – dieselbe Sicht, die du über SmartFields bearbeiten von der Flow-Karte aus erreichst. Nutze sie, wenn du eine völlig neue Tabelle registrieren musst.
Auswahl bestätigen
Wenn das gewünschte SmartField markiert ist, klicke auf Copy & Close. Der Picker:
- schließt den Dialog.
- kopiert den ausgewählten Platzhalter in die Zwischenablage des Betriebssystems – bereits in
{{ }}eingewickelt, sofern angemessen.
Anschließend fügst du den Inhalt mit Strg+V in das Feld ein, das den Picker geöffnet hat. AutoFlow nimmt diesen Umweg über die Zwischenablage, statt direkt in das Feld zu schreiben, damit der Picker nicht-destruktiv ist – du kannst längere Ausdrücke zusammensetzen, indem du den Token mitten in vorhandenen Text einfügst, ohne etwas zu überschreiben.
Eine Handvoll Felder erwartet einen SmartField-Selector statt eines Tokens – zum Beispiel der Selector eines For-Each-Loops, die Datensatz-Referenz eines Parsers oder die Reference eines PDF-Prints. Die Wire-Form ist die gleiche Picker-Ausgabe ({{name}}), die überall sonst verwendet wird; der Platzhalter wird einfach unverändert eingefügt. Der Resolver des Schrittes entscheidet, ob der Platzhalter ersetzt wird (für skalare Werte) oder verbatim an den konsumierenden Schritt durchgereicht wird (für Referenzen, Arrays und nicht auflösbare Namen) – das ToolTip auf der Konfigurationskarte des jeweiligen Felds beschreibt, welche Form erwartet wird.
Wann nutzt du welche Oberfläche
- Du willst ein bestehendes SmartField für eine Schritt-Eingabe auswählen → öffne den Picker über den Assist-Edit (...) auf dieser Eingabe.
- Du willst die SmartFields ändern, die der Flow für eine seiner Tabellen bereitstellt → nutze SmartFields bearbeiten auf der Flow-Karte. Den gleichen Editor erreichst du auch über den Picker via + SmartField, was mitten in einer Konfiguration praktisch ist.
- Du willst die SmartFields prüfen oder bearbeiten, die auf einer bestimmten Version gespeichert sind → öffne die Flow-Version und klicke SmartFields bearbeiten. Der Dialog arbeitet direkt auf dieser Version – einen Entwurf legt er hier nicht an. Sei also bewusst, wenn du die veröffentlichte Version geöffnet hast.