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 standardmäßig 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. Dieses Verhalten kann pro Auslöser auch so geändert werden, daß der Auslöser sofort ausgeführt wird.
Die Bedingung „Warten bis” erzeugt weitere Auslöser für einen Datensatz zu einer bestimmten Zeit.
Wird ein Datensatz mit aktivem Auslöser nochmals gespeichert und dadurch wieder ein Auslöser erzeugt, so werden bestehende Auslöser dadurch aktualisiert. Bestehende „Warten bis”-Auslöser werden nicht wieder entfernt, wenn Vorbedingungen nicht mehr zutreffen. Sie werden jedoch auch aktualisiert und können entfernt werden, indem man ihnen einen Nullwert als Zeit zuweist.
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.
Änderungen, die der Workflow an einem Datensatz vornimmt, können nicht automatisch dazu führen, dass der Workflow erneut ausgelöst wird. Um diesen Effekt zu erreichen, bedarf es der Aktion „Auslöser prüfen”.
Während sich ein Datensatz im Papierkorb befindet, werden für ihn keine Workflows ausgelöst oder ausgeführt. Wird er wiederhergestellt, werden Workflows wieder ausgelöst und ausgeführt inklusive solcher, die vor dem Verschieben schon ausgelöst aber nicht ausgeführt waren. Dies gilt explizit auch für „Warten bis”-Aktionen. Zum Löschen gibt es hier weitere zusammenhängende Informationen.