Bei jeder Aktion für einen Datensatz, welche für die Auslöser innerhalb des Workflows relevant ist (z.B. ist für den „Auslöser: Feldänderung“ das Speichern eines Datensatzes relevant), werden sofort die entsprechenden konfigurierten Auslöser des zugehörigen Workflows geprüft und bei Eintreten mindestens eines konfigurierten Auslösers genau ein Auslöser in der Datenbank erzeugt.

Die früheste Ausführungszeit dieses Auslösers ist mit einem zeitlichen Versatz von 2 Stunden versehen (Customer.config-Parameter: „BA:Workflow.LongExecutionDelay“). Beim Schließen des Datensatzes wird dieser zeitliche Versatz verkürzt auf 5 Minuten (Customer.config-Parameter: „BA:Workflow.ShortExecutionDelay“). Dadurch wird die Gefahr minimiert, dass der Workflow läuft, während der Datensatz noch geöffnet ist.

Wird ein Datensatz mit aktivem Auslöser nochmals gespeichert und dadurch wieder ein Auslöser erzeugt, so wird der bestehende Auslöser aktualisiert. Es gibt also maximal einen aktiven Auslöser pro Datensatz.
Der Workflow-Hintergrundprozess prüft periodisch alle 5 Minuten (Customer.config-Parameter: „BA:Workflow.PeriodicCheckInterval”) nach Auslösern in der Datenbank und arbeitet dann für jeden Auslöser die konfigurierten Bedingungen und Aktionen ab.

Die Aktionen werden nicht im Namen oder mit den Rechten eines Benutzers ausgeführt, sondern laufen mit übergreifenden Berechtigungen und ohne spezifischen Benutzerkontext.