Event listener module are used to wait for specific events or initiate new workflow instances when event occurs. Events are triggered on domain scope and may receive events from other processes.
In addition to common properties you can also configure the following properties for an automation task;
Event Name
Name of event. Event name can set to a plain text value (Ex: Customer.New) or may contain data template expressions to include data from data model. (Ex: "PaymentComplete.{{Id}}" )
You may also specify multiple event names with semicolon delimited format. (Ex: "Customer.New;Customer.Update.{{Id}}" )
Handle Script
Script to handle event and take action to continue workflow instance. If not set worfklow engine automatically selects the first action.
Attached event data can be accessed with $Input variable as XmlNode instance.
If task configured as start point a new workflow instance is initiated and event data copied to current workflow data model for name matching nodes. If handling script does not take any action workflow instance is reverted.
If task is not set as start point, workflow instance paused and waits until event is occurs. If handling script does not take any action then workflow instance continues to wait until next event occur.
System Events
Emakin automatically fires the following events for integrating with certain operations.
User Events
User.Register
Fired when a new user registered to system. Registration is occurs when first time user has logged in to system under usage terms, not the user creation. If tenant usage terms changed registration is automatically re-initiated with new terms.
This event does not contain any input and expect a new workflow instance is created that assigned to user. If no workflow instance is created registration automatically completed.
This event is designed to comply with GDPR requirements with consent acceptance.
Case Events
Following events are fired when operation is completed on a case instance. $Case scripting variable is automatically set to case instance event triggered on.
Input Data
Case events contains the following example xml data as input and can be accessed with $Input variable.
Case.Open
Fired when Case status has set to Open state.
Case.Assign
Fired when Case assigned to a user or cleared assignment.
Case.Update
Fired when case properties (Subject, Description, Deadline, Profile etc.) has been updated.
Case.Close
Fired when case status has set to Closed state.
Case.Delete
Fired when case has been deleted from system.
Case.Deadline
Fired when case deadline has occurs.
Case.Reply
Fired when case received a reply from mail or another system.
Remarks
Events are processed in synchronous behavior and if any exception occurs transaction is rollbacked.