Triggers

Triggers are system-defined or custom automation points that execute specific logic in response to application events. They control workflows, data validations, and UI behavior, and can attach to objects, fields, or pages.

In the Partial Locking Framework, Triggers follow the same locking framework principles as other Partial Locking components, ensuring that upgrade integrity is maintained while allowing controlled customization.

Locking Behavior

The lock state of a trigger is determined during application installation or upgrade based on its source definition. A trigger may be in one of four states:

  • Unlocked (Custom) – Created in the destination tenant.

  • Unlocked – Originates from the source tenant but has no lock restrictions.

  • Partially Locked – Editable only in specific, controlled areas.

  • Locked – Fully protected from modification.

If a trigger is associated with multiple installed applications, the latest update from any source determines its effective lock status.

Tenant Admin Permissions

Tenant Admin permissions on triggers are scoped based on their lock state. The table below lists the supported actions.

Object-Level Object Actions

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Object

Unlocked Object

Partially Locked Object

Locked Object

New Trigger

(error)

Reorder

Partially Allowed

Only custom triggers can be reordered; they must activate after source-defined triggers.

(error)

Run Triggers

Debug

Log

Trigger-Specific Actions & Properties

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Clone

View Queue

Delete

Trigger Name

Integration Name

Deployment Status

Partially Allowed

Only Send Email Triggers

Timing

On Field Change

Trigger Condition Formula / Script - View

Trigger Condition Formula / Script - Edit

Run as Large job

Run Relative To

Recursion

Validate Formula

Debug Formula

Test Query

Log

Trigger Type-Specific Actions & Properties

Trigger Type: Send Email

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Email Recipient

  • Send To

  • CC

  • BCC

Email Template

Trigger Type: Create Audit Trail

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Trail Object

Trail Template

Trigger Type: Validate Record Data

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Treat this trigger as a Warning

Trigger Type: Unique Fields Combination

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Treat this trigger as a Warning

Error Message

Unique Fields Combination

Ignore combinations…

Trigger Type: Update Field Value

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Record

Field to Change

Access Control Policy

Update if the formula returns null

Trigger Type: Change Workflow Status

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

New Workflow Status

Access Control Policy

Trigger Type: Create New Record

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Conversion Map

Access Control Policy

Trigger Type: Attach Related Record

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Relationship

Trigger Type: Create Template Document

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Document Template or Template Picklist

File Field

Send To

Email Template

Trigger Type: Run Triggers on Related Records

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Relationship

Timing Option

Group of Triggers

Trigger Type: REST Service

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Retry Parameters

REST Service Configuration

Trigger Type: Send HTTP GET Request / Trigger Type: Send HTTP POST Request / Send SMS Message

 

Built on Destination Tenant

Built on Source Tenant & Pushed to Destination Tenant

Action/Property

Unlocked (Custom) Trigger

Unlocked Trigger

Partially Locked Trigger

Locked Trigger

Retry Parameters

Trigger Properties

Super Admins have full administrative control over all the triggers, regardless of their lock status. This includes the ability to preview, clone, synchronise, rename, delete, and modify.

If a Super Admin modifies properties that are restricted for Tenant Admins, the component continues to remain on the upgrade path. These changes are treated as temporary overrides and will be replaced by the source during the next application upgrade.

Upgrade Compatibility

When a permitted change is made to a Partially Locked Trigger, the system automatically sets an Modified flag. This flag indicates that the trigger has diverged from its source version and influences upgrade behaviour. This information is displayed in the trigger table within this Object definition page. Likewise, a red exclamation triangle icon is rendered within the trigger view page that undergoes any modification.

Restoring Upgrade Path

To revert a Partially Locked Trigger to its original state, use the Restore Upgrade Compatibility action. This is available only for triggers marked as Modified components.

To restore the modified trigger to its original state, do the following:

  • Navigate to the trigger table from the Object Definition page.

  • Select the desired trigger that needs to be restored from the list of triggers.

  • From the trigger view page, select Restore Upgrade Compatibility.

  • A confirmation dialogue indicating that this action is irreversible. Confirm and proceed to restore the modified trigger to its original state, and the Modified flag is cleared.

    • During the next upgrade, all local configurations are overwritten, and the trigger is restored to its source version.

Trigger Reordering on Application Upgrades

During an application upgrade, the order of triggers in the destination tenant is updated based on the source tenant’s structure. However, any custom triggers added by the destination tenant are preserved and never removed. The following rules explain how triggers are added, reordered, or removed during upgrades:

Scenario

Behavior in Destination Tenant after Upgrade

Custom Trigger Impact

A new trigger is added in the source

Added to the destination with its defined event, condition, and action.

Custom triggers remain unaffected.

A trigger is updated in the source

Destination trigger is updated unless marked as Modified.

Modified triggers retain local changes.

A trigger is deleted in the source

Removed from destination unless it has been locally customized and detached from the upgrade path.

Detached custom triggers are preserved.

Custom trigger in destination

Preserved during upgrade.

Not overwritten by source.