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:

ContextMoment
PROCEDUREInject Adhoc Procedure
PROCEDUREInsert 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. 

MomentSQL NonQuery FunctionSQL NonQueryC#
AFTER - ACTION

YES

YES

YES

BEFORE - ACTION

YES

NO

NO

BEFORE - VALIDATION

YES

NO

NO