Declare Trigger rules
To define correlations between events in your case types, create Declare Trigger rules to cause an activity to run when a specified event takes place in a case. By creating Declare Trigger rules, you automate your business processes and flexibly respond to dynamic business needs.
Declare Trigger rules are a part of the declarative rules that implement the declarative programming paradigm in Pega Platform.
For each Declare Trigger rule, Pega Platform monitors database operations for objects that you specify as the Applies To class, and concrete classes that are derived from that class, such as a class that stores your case type. When a change affects a specified property, Pega Platform uses the Change Tracking feature to monitor updates to the property values and run triggers accordingly.
For example, a Declare Trigger rule can invoke an activity each time a user changes a postal code in their personal details. By changing their postal code, the user modifies a Data-Party.pyPostalCode property in an instance of the Data-Party-Person class. The activity that you specify in the Declare Trigger rule sends an email message to the customer service representative (CSR) whose territory includes the new address. Similarly, a Declare Trigger rule can implement a form of logging or audit history for a class by recording the date, time, and other facts. You can run Declare Trigger rules in the following scenarios:
- Page Save
- In context
- In background
- Page Delete
- Page Commit
Nested Declare Trigger rules
To resolve complex use cases, you can nest a Declare Trigger rule within another Declare Trigger rule. Nested Declare Trigger rules work in the context of the other Declare Trigger rule. For example, you can define a Declare Trigger rule that sends an email to a CSR when a customer updates their address details. Then you can create and nest another Declare Trigger rule that creates a document with the updated details after the case moves to the next stage. You can only nest rules of the Save and Save and types that run immediately. Nesting rules in the context of the Commit type rules might result in adding an excessive number of deferred operations during one database transaction. To avoid recursion during nesting of declare triggers, you can only nest a trigger in a trigger that is not already running on a page in the execution stack. For example, if a Page A save leads to a save of Page B and a trigger on Page B again leads to a save of Page A, the declare trigger does not run again on the Page A save.
The following figure presents how nested Declare Trigger rules start events in a case:
To nest triggers, set the value of the declaratives/nestedTriggersEnabled dynamic system setting to true. For more information, see Creating a dynamic system setting.
Applying Declare Trigger rules
Immediately after you save the rule, your application runs a Declare Trigger rule according to your provided configuration.
- Creating Declare Trigger rules
Define correlations between events in your case types by creating Declare Trigger rules. Declare Trigger rules run activities as a response to a specified event in a case. As a result, you provide flexible applications that precisely meet your business needs.
- Declare Trigger form - Completing the Pages & Classes tab
Use this tab to list the clipboard pages referenced by name in the Triggers tab. See How to Complete a Pages & Classes tab for basic instructions.
- More about Declare Trigger rules
Create Declare Trigger rules to cause an activity to run when instances of a specific class are created, updated, or deleted in the database. This implements a form of forward chaining.
- Flow Actions - Completing the New or Save As form
- Viewing rule history
You can view the saved history of a rule to see when it was changed and by whom. You can also compare the current version with a previous version or restore a previous version of a rule for testing purposes, or if the current version is faulty.