How To Add a Common Events on Procedures
A Common Event is a mechanism for executing standard or custom logic on injecting or inserting ad-hoc procedures. For example, the ability to send an email every time a Procedure is injected. Or to validate that all information is correct before a Task will be created.
Configuring a Common Event
Common Events for Procedures are configured in the DCM Setup by navigating to DCM Setup → Case Setup (1) → Procedures → select a Procedure → Common Events tab
When are Common Events Executed
A Common Event can be an ACTION or a VALIDATION. They can be fired BEFORE or AFTER the following moments in a Create/Update/Delete Entity operation:
Context | Moment |
---|---|
PROCEDURE | Inject Adhoc Procedure |
PROCEDURE | Insert Adhoc Procedure |
Type of Common Events
The actions allowed to be executed are:
- Assign Case
- Change Case Priority
- Execute Rule
- Send Email
- Send SMS with Twilio
- Write to History
Overview of Custom Rules for Common Events
The most popular use case for Common Events is to execute some sort of custom logic either to validate a user action or to do additional processing after the action has been completed.
Below is an example of how Common Events work for the Create Case process. Similar to all Common Events, the order that they get executed can be diagrammed below.
First any VALIDATION custom rules gets executed. If any of the validation rules returns an error, then the user will not be able to the create a Case and the user will see an error message on their screen.
Second any ACTION - BEFORE custom rules get executed. All custom rules deployed as SQL FUNCTIONs will execute synchronously. All NON-SQL FUNCTION rules such a C# or SQL NonQuery will execute through the AppBase Queue asynchronously. Errors are suppressed.
Third the actual process of Case Create occurs.
Fourth any ACTION - AFTER custom rules get executed. All custom rules deployed as SQL FUNCTIONs will execute synchronously. All NON-SQL FUNCTION rules such a C# or SQL NonQuery will execute through the AppBase Queue asynchronously. Errors are suppressed.
Supported custom rule types
Not all types of rules are supported for every type of Common Event. For example, a VALIDATION rule can only be an SQL FUNCTION. While an ACTION can be any type of AppBase rule.
An SQL FUNCTION will always execute synchronously, while all other rule types will execute through the AppBase Queue asynchronously.
Moment | SQL NonQuery Function | SQL NonQuery | C# |
---|---|---|---|
AFTER - ACTION | YES | YES | YES |
BEFORE - ACTION | YES | NO | NO |
BEFORE - VALIDATION | YES | NO | NO |