Loading
Salesforce Enforces New Security Requirements in Summer 2026Read More
. Trigger Handlers by Object

Trigger Handlers by Object

Review the names, descriptions, and trigger conditions of the trigger handlers associated with each object.

Required Editions

Available in: Lightning Experience
Available in: Enterprise and Unlimited Editions with Life Sciences Cloud, Life Sciences Cloud for Customer Engagement Add-on license, and the Life Sciences Customer Engagement managed package.

Account

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Account object.

Trigger Name Description Trigger condition
NewAccountSampleLimitInitHandlerforHCO Initializes the HCO accounts for the Provider Sample Limit Template. afterInsert
NewAccountSampleLimitInitHandler Initializes the HCP accounts for the Provider Sample Limit Template. afterInsert

AccountPlan

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the AccountPlan object.

Trigger Name Description Trigger condition
AccountPlanDeleteChildrenHandler Handles the deletion of Account Plan Children records. beforeDelete
AccountPlanChangeStatusHandler Updates the completion percentage of the Account Plan records based on updates in the related Account Plan Objective records. beforeInsert, beforeUpdate

AccountPlanObjective

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the AccountPlanObjective object.

Trigger Name Description Trigger condition
SetAccPlanPercentCompleteHandler Updates the completion percentage of the Account Plan Objective records based on updates in the related Action Plan records. beforeInsert, afterInsert, beforeUpdate, afterUpdate, afterDelete

AccountPlanParticipant

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the AccountPlanParticipant object.

Trigger Name Description Trigger condition
AccountPlanToParticipantSharingHandler Shares Account Plan and hierarchical records with participants. afterInsert, afterUpdate, afterDelete

ActionPlan

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ActionPlan object.

Trigger Name Description Trigger condition
SetAccObjectPercentCompleteHandler Updates the completion percentage of the Action Plan records to 100% when the parent Account Plan’s status is changed to Completed. beforeInsert, afterInsert, beforeUpdate, afterUpdate, afterDelete
ActionPlanDeleteChildrenHandler Deletes all the action plans related to a parent account plan when the account plan is deleted. beforeDelete, afterDelete
SetSprintPercentCompleteHandler Updates the completion percentage of the sprint based on the average completion percentages of the related action plans. afterInsert, afterUpdate, afterDelete
SetGoalAsgmtPercentCompleteHandler Updates the Completion Percentage of Goal Assignment records. beforeInsert, afterInsert, beforeUpdate, afterUpdate, afterDelete

ActivityPlan

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ActivityPlan object.

Trigger Name Description Trigger condition
ActivityPlanTerritoryValidationHandler Validates the alignment of territories with activity plans and displays an error message if the conditions aren’t met. beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete, afterUndelete
ActivityPlanValidationHandler Identifies and prevents duplicate activity plan records and displays an error message if the conditions aren’t met. beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete, afterUndelete
PAPATerritoryUpdateHandler Adjusts the activity plan goals and creates the corresponding sharing record for the adjusted territory. beforeInsert, beforeUpdate, afterInsert
PAPAApproveProcessHandler Prevents users from creating more than the allowed number of provider activity plan adjustment requests. beforeInsert, beforeUpdate

ActivityPlanTerritory

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ActivityPlanTerritory object.

Trigger Name Description Trigger condition
ActivityPlanTerritoryModHandler Validates and prevents an update of the Territory field in an Activity Plan Territory record or deletion of the Activity Plan Territory record if the associated activity plan is active or the status of the activity plan is not In Progress. If either condition is met, an error is displayed on the record page, preventing the update or deletion. beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete, afterUndelete
ActivityPlanTerritorySharingHandler Manages the creation of sharing records upon territory alignment and supports the update and deletion of sharing records to reflect territory re-alignment or removal. beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete, afterUndelete

ALL

Review the names, descriptions, and trigger conditions of the trigger handlers associated with all objects.

Trigger Name Description Trigger condition
StagePathPermissionsHandler Enforces permissions defined in Life Sciences workflows. Validates whether users can create, edit, or delete records or work with related files at the current stage in the workflow path. Shows an error message if users don’t have permission to perform actions at that workflow stage. afterInsert, beforeUpdate, beforeDelete

AppAlertTerritory

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the AppAlertTerritory object.

Trigger Name Description Trigger condition
NotificationTerritorySharingHandler Creates sharing records once a territory has been assigned to an alert. afterInsert, afterUpdate

AssessmentTask

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the AssessmentTask object.

Trigger Name Description Trigger condition
SetActionPlanPercentCompleteHandler Updates the completion percentage of Action Plan records. afterInsert, afterUpdate
AssessmentTaskDeleteAPItemHandler Deletes all the assessment tasks related to an action plan when the action plan is deleted. beforeDelete
AssessmentTaskSharingHandler Shares Assessment Task records with assignees. afterInsert, afterUpdate

Case

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Case object.

Trigger Name Description Trigger condition
CaseMSLQueueHandler Monitors and manages case status changes. Handles the medical inquiry queue of the medical science liaison users before a case record is updated. When an inquiry is submitted and the status changes to Submitted, the trigger handler assigns the case to the appropriate MSL queue. When the status changes to Assigned, the trigger handler reassigns ownership to the current user for handling the inquiry. beforeUpdate
CaseChangeOwnershipHandler Handles the sharing of the medical inquiry records with the sales representatives after a case record is updated. When a case transitions to Submitted or Responded status, the handler creates CaseShare records to give read access to the case creator or owner. This process maintains data transparency in inquiry management workflows by ensuring that the original creator or owner retains visibility into the case, even if ownership changes. afterUpdate
CaseShareToCreatorHandler Handles the change of ownership of the medical inquiries between the sales representative and the medical science liaison users after a case record is updated. When a case's OwnerId changes, the ownership change automatically cascades to all related inquiry objects, such as InquiryQuestions and SubjectAssignments. The handler queries for cases with updated ownership, retrieves the related records, and updates the Owner on these child objects, ensuring data consistency. afterUpdate

CommSubConsentCmplSnpsht

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the CommSubConsentCmplSnpsht object.

Trigger Name Description Trigger condition
ConsentGiverSnapshotHandler Validates if the consent giver is valid. beforeInsert
ConsentSnapshotSharingHandler Shares the consent snapshot with territories that are aligned with the account. afterInsert

CommSubscription

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the CommSubscription object.

Trigger Name Description Trigger condition
ConsentNameCommSubHandler Updates Communication Subscription Consent records when related Communication Subscription record names are changed. beforeUpdate

CommSubscriptionConsent

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the CommSubscriptionConsent object.

Trigger Name Description Trigger condition
ConsentGiverConsentHandler Validates if the consent-giver account exists and it's the same for the snapshot record. beforeInsert, beforeUpdate
ConsentSharingHandler Shares consent with territories that are aligned with the account. afterInsert
ConsentUniqueRecordHandler Handles changes to CommSubscriptionConsent and maintains unique records. beforeInsert

ContactPointAddress

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ContactPointAddress object.

Trigger Name Description Trigger condition
AccountAddressPrimaryHandler Ensures that each account maintains only one primary contact point address. It gets triggered whenever a contact point address record is created or updated, guaranteeing that the one primary rule is always enforced. beforeInsert, afterInsert, beforeUpdate, afterUpdate
RelatedContactPointAddressHandler Validates contact point address hierarchy rules to ensure child addresses are associated with person accounts and parent addresses are associated with business accounts. beforeInsert, beforeUpdate

ContactPointEmail

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ContactPointEmail object.

Trigger Name Description Trigger condition
ContactPointEmailPopulateHandler Updates healthcare provider records to maintain an accurate list of associated email addresses whenever contact point email records are created, modified, removed, or restored. This ensures the EmailIds field on the healthcare provider record reflects the current related email addresses and avoids unnecessary processing. afterInsert, afterUpdate, afterDelete, afterUndelete

ContactPointPhone

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ContactPointPhone object.

Trigger Name Description Trigger condition
ContactPointPhoneHandler Updates healthcare provider records to maintain an accurate list of associated phone numbers whenever contact point phone records are created, modified, removed, or restored. This ensures the PhoneNumbers field on the healthcare provider record reflects the current related telephone numbers and prevents redundant processing. afterInsert, afterUpdate, afterDelete, afterUndelete

ContactPointSocial

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ContactPointSocial object.

Trigger Name Description Trigger condition
ContactPointSocialPopulateHandler Updates healthcare provider records to maintain an accurate list of associated social media handles whenever contact point social records are created, modified, removed, or restored. This ensures the SocialIdentifiers field on the healthcare provider record reflects the current related social handles and prevents unnecessary execution. afterInsert, afterUpdate, afterDelete, afterUndelete

ContentDocument

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ContentDocument object.

Trigger Name Description Trigger condition
ConsentContentDocumentHandler Handles changes to ContentDocument. afterInsert, afterUpdate, afterDelete, afterUndelete
ContentDocumentLockHandler Prevents delete operation to Documents linked to Submitted Visits or related entities. beforeUpdate, beforeDelete

ContentDocumentLink

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ContentDocumentLink object.

Trigger Name Description Trigger condition
ConsentContentDocumentLinkHandler Handles changes to ContentDocumentLink. beforeInsert, beforeDelete
ContentDocumentLinkLockHandler Prevents insert/delete operation to Document Links for Submitted Visits or related entities. beforeInsert, beforeDelete

Estimated Expense

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Estimated Expense object.

Trigger Name Description Trigger condition
EstimatedExpenseHandler Validates that all estimated expenses for the same expense type on a field event are unique. If no duplicates, auto-populates the parent category field based on the selected line item. beforeInsert

EventMgmtParticipantRole

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Event Management Participant Role object.

Trigger Name Description Trigger condition
EventMgmtParticipantRoleHandler Verifies that each Event Management Participant Role record has a unique combination of values in the Role and Standard Role fields. beforeInsert, beforeUpdate

EventMgmtParticipantType

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Event Management Participant Type object.

Trigger Name Description Trigger condition
EventMgmtParticipantTypeHandler Verifies that each Event Management Participant Type record has a unique combination of values in the Type and Standard Type fields. beforeInsert, beforeUpdate

EventMgmtPtcpTypeRoleMap

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Event Management Participant Type Role Mapping object.

Trigger Name Description Trigger condition
EventMgmtPtcpTypeRoleMapHandler Verifies that each Event Management Participant Type Role Mapping record has a unique combination of Event Management Participant Type, Event Management Participant Role, and Managed Event Type. beforeInsert, beforeUpdate

Expense

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Expense object.

Trigger Name Description Trigger condition
ExpenseLockHandler Prevents insert/update/delete operation on Expense if it is locked. beforeInsert, beforeUpdate, beforeDelete
ExpenseMonetaryCapsHandler Tracks monetary caps for Expense records when expenses are modified or deleted. beforeInsert, afterUpdate, beforeDelete
RecalculateExpPtcpOnExpChangeHandler Recalculates the portions of an expense allocated to each participant after the amount is updated. This handler runs only if the expense is evenly distributed. afterUpdate

ExpenseParticipant

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ExpenseParticipant object.

Trigger Name Description Trigger condition
ExpenseParticipantNameHandler Stores the Account/Contact Participant name as the Expense Participant Name. beforeInsert
ExpenseParticipantLockHandler Prevents insert/update/delete operation on ExpenseParticipant/Allocations if it is locked. beforeInsert, beforeUpdate, beforeDelete
ExpenseParticipantMonetaryCapsHandler Recalculates the monetary cap utilization of the associated Provider Activity Goal Measure record when an Expense Participant record is created, updated, or deleted. afterInsert, afterUpdate, beforeDelete, beforeInsert, beforeUpdate

Expert

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Expert object.

Trigger Name Description Trigger condition
ExpertDuplicateValidationHandler Prevents multiple Expert records from being associated with an account. afterUpdate, afterUndelete, afterInsert
ExpertPopulateHealthcareProviderHandler Sets IsSpeaker on the Healthcare Provider record to true when an Expert record is created. When an active expert for a healthcare provider is deleted, the trigger handler sets the IsSpeaker field to false. afterInsert, afterDelete

GoalAssignment

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the GoalAssignment object.

Trigger Name Description Trigger condition
GoalAssignmentDeleteHandler Deletes Goal Assignment records. beforeDelete
SetTerrBusPlanPrcntCompleteHandler Updates the Completion Percentage of Territory Business Plan records. beforeInsert, afterInsert, beforeUpdate, afterUpdate, afterDelete

HealthcareProvider

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the HealthcareProvider object.

Trigger Name Description Trigger condition
HealthcareProviderHandler Manages updates to healthcare provider records after creation, restoration, or modification. This trigger fetches and updates related email addresses, phone numbers, social identifiers, specialties, and NPI from their respective related records, while also preventing self-calling updates. beforeInsert, beforeUpdate
HealthcareProviderAffiliationHandler Creates a primary affiliation between a parent organization and an account on the Healthcare Provider object. If an existing affiliation is found, the handler will just set or unset the primary flag on that record. The role for the new affiliation defaults to the selected value from the active picklist on the provider affiliation; if no default role is selected, the handler throws a custom error. afterInsert, afterUpdate
HealthcareProviderExpertHandler Manages the expert related to the primary healthcare provider when the HealthcareProvider record's IsSpeaker field is set to true, and blocks updates to it if the IsSpeaker field is set to false while an active Expert record is associated with it. afterInsert, afterUpdate

HealthcareProviderNpi

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the HealthcareProviderNpi object.

Trigger Name Description Trigger condition
HealthcareProviderNpiHandler Updates healthcare provider records to maintain the correct National Provider Identifier (NPI) whenever healthcare provider NPI records are created, modified, removed, or restored. This ensures the NationalProviderIdentifier field on the healthcare provider record reflects the current associated NPI and avoids unnecessary execution. beforeInsert, afterInsert, beforeUpdate, afterUpdate, afterDelete, afterUndelete

HealthcareProviderSpecialty

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the HealthcareProviderSpecialty object.

Trigger Name Description Trigger condition
HealthcareProviderSpecialityHandler Updates healthcare provider records to maintain an accurate list of associated specialty types whenever healthcare provider specialty records are created, modified, removed, or restored. This ensures the Specialties field on the healthcare provider record reflects the current related specialties and avoids redundant processing. beforeInsert, afterInsert, beforeUpdate, afterUpdate, afterDelete, afterUndelete

InventoryCntProdtBatchItem

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the InventoryCntProdtBatchItem object.

Trigger Name Description Trigger condition
InventoryCountPBILockHandler Prevents modifications to Inventory Count Product Batch Item records when the associated inventory count assessment is locked. beforeUpdate, beforeDelete
InventoryCntPBIValidationHandler Prevents update/delete operation on InventoryCntProdtBatchItem's if unresolved Product disbursement records are present for the same product. beforeInsert, beforeUpdate

InventoryCountAssessment

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the InventoryCountAssessment object.

Trigger Name Description Trigger condition
InventoryCountAssessmentLockHandler Prevents modifications to Inventory Count Assessment records when they're in a locked state, and prevents the creation of duplicate "Initial" type inventory count assessments. beforeInsert, afterInsert, beforeUpdate, beforeDelete

InventoryOperation

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the InventoryOperation object.

Trigger Name Description Trigger condition
InventoryOperationLockHandler Prevents modifications to Inventory Operation records when they're in a locked state. afterInsert, beforeUpdate, beforeDelete
InventoryOperationSyncTxnHandler Prevents the creation of Return, Adjustment, Transfer In, and Transfer Out type operations when the inventory operation is in its final state, and checks for pending sync transactions before updating the Inventory Operation records. beforeInsert, beforeUpdate

LifeScienceEmail

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the LifeScienceEmail object.

Trigger Name Description Trigger condition
EmailQueueImmediateHandler Handles emails that are sent immediately instead of from a batch job. afterInsert, afterUpdate
EmailQueueRecipientHandler Populates additional information for email recipients. beforeInsert, beforeUpdate
EmailQueueSenderHandler Populates additional information for the email sender. beforeInsert
EmailAttachmentHandler Populates email attachments. beforeInsert
SyncEmailResponseStatusToObjectHandler Updates the invitation status on related records based on the email response status. afterUpdate

LifeSciMarketableProduct

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the LifeSciMarketableProduct object.

Trigger Name Description Trigger condition
LifeSciMarketableProductMetadataHandler Creates or updates the ProductMetadata field value in the Life Science Marketable Product object. afterInsert, afterUpdate, beforeDelete, afterDelete

LifeSciStageOperation

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the LifeSciStageOperation object.

Trigger Name Description Trigger condition
LifeSciStageOpCtrlByHandler Manages the IsControlledByField on a LifeSciStageObject based on the status of its associated stage operations. If an operation belonging to an active path exists, the handler sets this field to true. afterInsert, beforeDelete, afterUndelete

LifeSciStagePath

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the LifeSciStagePath object.

Trigger Name Description Trigger condition
LifeSciStagePathCtrlByHandler Manages the IsControlledByField on a LifeSciStageObject based on the status of its associated stage paths. If an active path exists, the handler sets this field to true. afterInsert, afterUpdate, beforeDelete, afterUndelete

Location

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Location object.

Trigger Name Description Trigger condition
LocationUserDupHandler Prevents duplicate primary user assignments to inventory locations. beforeInsert, beforeUpdate
LocationUserSharingHandler Shares records with the primary user assigned to an inventory location. beforeInsert, beforeUpdate, afterUpdate

ManagedEvent

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ManagedEventParticipant object.

Trigger Name Description Trigger condition
CreateMngEventPtcpHandler Validates permissions and ownership, tracks event status, and auto-creates participants with appropriate roles when a managed event is inserted. beforeInsert, afterInsert
MngEventBusinessHoursHandler Checks whether the event record is scheduled within the event's business hours. beforeInsert, beforeUpdate
MngEventComplianceStatementsHandler Populates the compliance statement related to a managed event and sets the agreement status. beforeInsert
MngEventDateTimeValidationHandler Validates whether the managed event date and time overlaps with the event owner’s time off territory periods or holidays. beforeInsert, beforeUpdate
MngEventMonetaryCapsHandler Recalculates the monetary caps utilization of the associated Provider Activity Goal Measure record when a managed event's status or one of its controlling fields changes. afterUpdate
MngEventTerritorySharingHandler Creates sharing records for the territory related to a managed event. afterInsert, afterDelete
SubjectAssignmentComplianceHandler Validates start date time changes so that no two events have the same participants for the same subject assignment and event start and end dates. afterUpdate

ManagedEventParticipant

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ManagedEventParticipant object.

Trigger Name Description Trigger condition
AttendeeQuotaCountOfAttendeesHandler Manages and enforces colleague attribution quotas for attendees and non-profiled attendees. Corrects a colleague's quota count and updates the invitation quota, or throws an error if the quota is exceeded. beforeUpdate, afterInsert, afterUpdate, afterDelete
ColleagueSurveySharingHandler Shares survey invitations with managed event colleagues. afterInsert, afterDelete, afterUpdate
MngEventParticipantDuplicateHandler Checks if a managed event participant is added multiple times to a managed event. If the participant is already added, it returns an error message. beforeInsert, beforeUpdate
MngEventParticipantExpertRefHandler Populates the Managed Event Participant record's Participant ID field with the ID of the newly created Expert record when the mobile app syncs with the web, after a healthcare provider is nominated as an expert on offline mode in the mobile. beforeInsert
MngEventParticipantInvitedByHandler Populates the Invited By ID field with information about the user who creates the managed event participant record when the participant type is attendee or non-profiled attendee. beforeInsert
MngEventParticipantSharingHandler Creates sharing records for the user or the territory related to a managed event participant. afterInsert, afterUpdate, afterDelete
MngEventPartMonetaryCapsHandler Manages monetary cap validations for Managed Event Participant records by validating limits and recalculating caps when the participant records are updated. afterInsert, afterUpdate
MngEventPartTOTValidationHandler Prevents meeting conflicts by validating managed event participant acceptance against time-off territory records. beforeUpdate
MngEventPtcpSetAttendeeQuotaHandler Sets the invitation quota for a contributor colleague participant based on the managed event’s colleague attendee quota. beforeInsert, beforeUpdate
MngEvtParticipantFieldPopulationHandler Automatically populates the date and time at which an invitation is sent to a managed event participant. beforeInsert, beforeUpdate
WriteInToAttendeeHandler Converts reconciled write-in participants to attendees, updates the record type, and populates required attendee data to ensure accurate tracking. beforeUpdate
WriteInToColleagueHandler2 Converts a write-in participant to a colleague when a Managed Event Participant record is updated. beforeUpdate
WriteInToExpertHandler Converts a a write-in participant to an expert when a manual participant-to-expert reconciliation is completed or when a participant ID is set with the ID of an expert. beforeUpdate

ManagedEventResource

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ManagedEventResource object.

Trigger Name Description Trigger condition
MngEventResourceLocationHandler Adds the first confirmed location or address on a Managed Event record from the resources available for an event. afterInsert, afterUpdate
MngEventResourceValidationHandler Verifies that a managed event isn't associated with both venue and healthcare organization resource types. beforeInsert, beforeUpdate

ManagedEventResourcePreference

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ManagedEventResourcePreference object.

Trigger Name Description Trigger condition
MngEventResourcePrefLocationHandler Adds the first confirmed location or address on a Managed Event record from the resource preferences available for an event. afterInsert, afterUpdate

MedicalInsight

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the MedicalInsight object. To learn more about Medical Insights visibility and sharing, see Manage Medical Insight Sharing and Visibility.

Trigger Name Description Trigger condition
PublishMedicalInsightEventHandler Publishes MedicalInsightEvent platform events whenever a medical insight record is created, updated, or deleted. This facilitates real-time event streaming and integration with external systems. afterInsert, afterUpdate, afterDelete
RecalculateParentLinkedInsightsHandler Updates the rollup summary fields on parent medical insight records when child insights are modified. This includes updating the ChildMedicalInsightCount, UpvoteCount, and LastUpvotedDate fields to make sure roll-up summaries are accurate. afterInsert, afterUpdate, afterDelete
MedicalInsightSharingHandler Shares medical insights records with users in the same territory and profile as the record owner, with read-only access, when the record is created. To use your own sharing settings or create custom sharing rules, turn off the MedicalInsightSharingHandler trigger. afterInsert
InsightCascadeDeleteTriggerHandler Automatically deletes child medical insight records when a top-level parent record is deleted. This cascade deletion prevents orphan records and keeps the insight hierarchy clean. beforeDelete

Presentation

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Presentation object.

Trigger Name Description Trigger condition
PresentationSharingHandler Recalculates how Presentation Page records are shared after a presentation is deleted. beforeDelete

PresentationForum

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the PresentationForum object.

Trigger Name Description Trigger condition
PresentationForumLockHandler Prevents creating, editing, or deleting Presentation Forum records if the related presentation is locked. beforeInsert, beforeUpdate, beforeDelete

PresentationLinkedPage

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the PresentationLinkedPage object.

Trigger Name Description Trigger condition
PresentationLinkedPageSharingHandler Recalculates how Presentation Page records are shared after Presentation Linked Pages are added or removed. beforeInsert, beforeDelete

ProductBatchItem

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductBatchItem object.

Trigger Name Description Trigger condition
ProductBatchItemOwnershipHandler Shares records in product batch item to sales rep in ProductBatchItem.AssigneeId. afterInsert

ProductDisbursement

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductDisbursement object.

Trigger Name Description Trigger condition
ProductDisbursementInventoryOpCreation Creates a corresponding Inventory Operation record when a disbursement is made. afterInsert, afterUpdate
ProductDisbursementSubmitLockHandler Prevents modifications to Product Disbursement records when the related Visit record is in a locked state, that is, when the visit is signed or submitted. beforeInsert, beforeUpdate, beforeDelete

ProductGuidance

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductGuidance object.

Trigger Name Description Trigger condition
ProductGuidanceDeactivationHandler Removes sharing if the Product Guidance record was deactivated. afterUpdate

ProductionBatch

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductionBatch object.

Trigger Name Description Trigger condition
ProductBatchItemUpdateByLotHandler Shares Product Batch Item records with the assignee or the current user if the Assignee ID is not specified. afterUpdate

ProductRequest

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductRequest object.

Trigger Name Description Trigger condition
ProductRequestLockHandler Prevents modifications to Product Request records when they're in a locked state. beforeUpdate, beforeDelete

ProductRequestLineItem

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductRequestLineItem object.

Trigger Name Description Trigger condition
ProductRequestLineItemLockHandler Updates the ordered quantity in the Territory Product Quantity Allocation record when a product request line item is modified. beforeInsert, beforeUpdate, beforeDelete
PrdReqLineItmUpdateAllocationHandler Prevents modifications to Product Request Line Item records when the associated product request is locked. afterInsert, afterUpdate

ProductTerrDtlAvailability

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductTerrDtlAvailability object.

Trigger Name Description Trigger condition
ProductTerrDtlAvailabilityHandler On trigger of these events the Product Guidance records shared with Territory are deleted. afterUpdate, afterDelete

ProductTerritoryAvailability

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductTerritoryAvailability object.

Trigger Name Description Trigger condition
ProductTerritoryAvailabilityExclHandler Deletes ProductGuidance share records when an Exclusion rule is created in ProductTerritoryAvailability. afterInsert, afterUpdate

ProductTransfer

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProductTransfer object.

Trigger Name Description Trigger condition
ProductTransferLockHandler Prevents modifications to Product Transfer records when the associated inventory operation is locked. beforeUpdate, beforeDelete
ProductTransferValidationHandler Prevents invalid Transfer In and Transfer Out operations by checking transfer directions, and source and destination locations. beforeInsert, beforeUpdate
ReceivedProductAllocationHandler Updates Territory Product Quantity Allocation records when a product transfer is received. afterInsert, afterUpdate
TransferOutTriggerHandler Creates a Transfer In record when a user receives a product transfer due to another user submitting a Transfer Out record. afterInsert, afterUpdate

ProviderAcctProductInfo

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderAcctProductInfo object.

Trigger Name Description Trigger condition
ProviderAcctProductInfoHandler Sets the value of the Territory field on the provider account product information record to Null whenever a record is created or updated. beforeInsert, beforeUpdate

ProviderAcctTerritoryInfo

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderAcctTerritoryInfo object.

Trigger Name Description Trigger condition
AccountTerritoryFieldsHandler Handles a valid territory check for an account and manages Provider Account Territory Information Sharing. beforeInsert, afterInsert, beforeUpdate
ATFPreferredAddressHandler Updates the Preferred Address field on the Provider Account Territory Information object from the account's Primary address in the Contact Point Address Object. This preferred address then displays in the Account Territory Fields component on the Account Dashboard. beforeInsert, beforeUpdate
NewAlignmentConsentSharingHandler Creates sharing records for Consent and Snapshot records based on territory assignments. afterInsert, afterUpdate
PATIRejectionHandler Deletes provider account territory info sharing and object territory association records when the status of the associated provider account territory info records changes to Rejected. beforeUpdate

ProviderActivityGoal

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderActivityGoal object.

Trigger Name Description Trigger condition
ProviderActivityGoalHandler Validates and prevents the creation of duplicate Provider Activity Goals by ensuring the combination of Activity Plan and Account is unique. The trigger performs this validation when you create or update a Provider Activity Goal record. If a duplicate combination is found, an error is displayed, preventing the creation or update of the record. beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete, afterUndelete

ProviderAffiliation

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderAffiliation object.

Trigger Name Description Trigger condition
AffiliationUniquenessGenericHandler Ensures a unique combination of fields configured in the field set of the Provider Affiliation object, preventing duplicates and maintaining accurate records. beforeInsert, beforeUpdate
AffiliationUniquenessHandler Ensures affiliation uniqueness by enforcing a unique combination of account, related account, and role values. This prevents duplicate affiliations and maintains data integrity. beforeInsert, beforeUpdate
HardAffiliationHandler

Assigns the affiliation type of provider affiliation records as either hard or soft. Primary Affiliations are designated as Hard Affiliations. The HardAffiliationHandler trigger handler also ensures that duplicate Hard type affiliations between the same two accounts aren't created.

Sets the affiliation type of workplace affiliations between an HCP and an HCO to Hard. It also sets the affiliation between an account and its related account to Hard when the related account is the preferred workspace of the account's provider account territory info (PATI) record. Lastly, it sets the affiliation type of reciprocal affiliations to None.

beforeInsert, afterInsert, beforeUpdate
AffiliationReciprocalHandler Manages the creation, updating, and deletion of reciprocal affiliations. It ensures that the inverse affiliation is maintained whenever a ProviderAffiliation is created, updated, or deleted. Reverse Affiliations are only created if the Influence Type field on the Provider Affiliation object is selected as either Unidirectional, Bidirectional, or Neutral. afterInsert, afterUpdate, beforeDelete
AffiliationPrimaryChangeHandler Ensures a single primary affiliation between an account and a related healthcare organization account. When a new primary affiliation is created, the trigger deselects the primary flag on any prior affiliations with the same Account and Related Account. Additionally, it updates the associated Healthcare Provider's Primary Organization Account to the affiliation's Related Account, or creates a new Healthcare Provider record if one doesn't exist, populating it with the affiliation's Account and Related Account. afterInsert, afterUpdate
AffiliationAccountUpdateHandler Prevents the modification of the account and the related account after an affiliation is created. beforeUpdate

ProviderVisit

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisit object.

Trigger Name Description Trigger condition
PVUpdateChildFieldsHandler Maintains data consistency for group visits by syncing child provider visit records with the parent provider visit records. Automatically updates key fields (Planned Visit Start Time, Planned Visit End Time, and Channel) when the parent visit is modified. afterUpdate
PVLockHandler Prevents editing provider visit data based on the visit's status and signature state to maintain data integrity. beforeUpdate, beforeDelete
RemoteSessionInvitationPVHandler Manages remote session invitations by creating video calls, email notifications, and session keys for provider visit records. afterInsert, afterUpdate, beforeDelete

ProviderVisitChangedEvent

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisitChangedEvent object.

Trigger Name Description Trigger condition
VisitChangedEventShareHandler Creates visit shares with the users who have access to the associated account. Provider visit records are shared automatically through their relationship to the parent visit. afterInsert
PVChangedEventUpdateAccountTerrInfo Processes provider visit changed events and updates provider visit related fields on Provider Account Territory Information records. afterInsert

ProviderVisitDtlProductMsg

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisitDtlProductMsg object.

Trigger Name Description Trigger condition
ProviderVisitDtlProductMsgLockHandler Locks the ProviderVisitDtlProductMsg record when Visit is Submitted or Signed. beforeInsert, beforeUpdate, beforeDelete

ProviderVisitMarketingItem

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisitMarketingItem object.

Trigger Name Description Trigger condition
ProviderVisitMarketingItemLockHandler Locks the ProviderVisitMarketingItem record when Visit is Submitted or Signed. beforeInsert, beforeUpdate, beforeDelete

ProviderVisitProdDetailing

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisitProdDetailing object.

Trigger Name Description Trigger condition
ProviderVisitProdDtlNameHandler Generates and populates the Product Hierarchy Name field for the Provider Visit Product Detailing record. beforeInsert, beforeDelete
ProviderVisitProdDtlLockHandler Locks the ProviderVisitProdDetailing record when Visit is Submitted or Signed. beforeInsert, beforeUpdate, beforeDelete

ProviderVisitProdDiscussion

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisitProdDiscussion object.

Trigger Name Description Trigger condition
ProviderVisitProdDiscussionLockHandler Locks the ProviderVisitProdDiscussion record when Visit is Submitted or Signed. beforeInsert, beforeUpdate, beforeDelete

ProviderVisitRqstSample

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the ProviderVisitRqstSample object.

Trigger Name Description Trigger condition
ProviderVisitRqstSampleLockHandler Locks the ProviderVisitRqstSample record when Visit is Submitted or Signed. beforeInsert, beforeUpdate, beforeDelete
CalculateShippedQuantityHandler Manages Provider Visit Request Sample shipped quantity on Visit. afterUpdate

PrvdVstSmplLmtTransaction

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the PrvdVstSmplLmtTransaction object.

Trigger Name Description Trigger condition
SampleLimitTransactionHandler Processes Sample Limit Records using Rule which comes from Web and Mobile as Provider Visit Sample Limit Transaction records. afterInsert

Subject

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Subject object.

Trigger Name Description Trigger condition
TopicValidationHandler Prevents the creation of circular parent-child relationships when updating Subject records for medical insights. This makes sure a valid single-parent hierarchy structure. beforeUpdate

SubjectAssignment

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the SubjectAssignment object.

Trigger Name Description Trigger condition
RecalculateInsightTopicNameHandler Updates the TopicNames field on the related medical insight record whenever a Subject Assignment is created or deleted. This makes sure the processed insight accurately reflects the set of topics currently assigned to the record. afterInsert, afterDelete

SurveySubject

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the SurveySubject object.

Trigger Name Description Trigger condition
SurveyInvitationSharingHandler

Applies survey sharing logic on the Survey Subject object. When survey subject records are created or updated, this trigger handler automatically creates survey invitation share records based on one of three strategies:

Account-Based Sharing: When a survey subject is linked to an account, the trigger handler automatically creates survey invitation share records for accounts listed in the related account's account share records. This sharing logic doesn't apply to records where the rowCause field is set to Owner.

Life Sciences Marketable Product-Based Sharing: When you link a survey subject record to a Life Sciences marketable product, the corresponding survey invitation share records are created for either accounts or territories based on the product territory availability records. The availability of the product is determined by the product territory availability object, which includes an alignment type field with options such as territory subordinates, territory inclusion, or territory exclusion.

Territory-Based Sharing: When a survey subject record is linked to a territory, survey invitation share records are created for that territory and its subordinates.

beforeInsert, afterInsert, afterUpdate

Territory2

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Territory2 object.

Trigger Name Description Trigger condition
Territory2Handler Prevents the deletion of a Territory2 record when related records like ProviderAcctTerritoryInfo, Inquiry, ContactPointBestContactTime, TerritoryAcctRcmdAction, TerritoryAccountScore, TerritoryAcctProdMsgScore, TerritoryUserDowntime, or TerritoryBusinessPlan records reference it. beforeDelete

TerritoryAcctRcmdAction

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the TerritoryAcctRcmdAction object.

Trigger Name Description Trigger condition
TerrAcctRcmdActionSharingHandler Shares the territory account recommended action records with the specified territory. afterInsert, afterUpdate
TerrAccRcmActStatusUpdateHandler Updates the status of the territory account recommended action when a visit is created. afterInsert, afterUpdate

TerritoryBusinessPlan

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the TerritoryBusinessPlan object.

Trigger Name Description Trigger condition
TerritoryBusinessPlanDeleteHandler Deletes Territory Business Plan records. beforeDelete
TerritoryBusPlanChangeStatusHandler Updates the statuses of Territory Business Plan records. beforeInsert, beforeUpdate

TerritoryContentTmplAsgnt

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the TerritoryContentTmplAsgnt object.

Trigger Name Description Trigger condition
EmailTemplateTerritorySharingHandler Updates territory sharing based on Territory Content Template Assignment records. afterInsert, afterUpdate, afterDelete

TerritoryUserDowntime

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the TerritoryUserDowntime object.

Trigger Name Description Trigger condition
TUDUpdateHandler Updates the start time and end time of time off territory records based on the time slot interval configuration. beforeInsert, beforeUpdate
UDBHValidationHandler Prevents the creation of time off territory records with start and end times outside of the org's business hours. beforeInsert, beforeUpdate
TUDSharingHandler Shares a user's time off territory records with other users in the same territory, giving them read-only access. afterInsert
TUDVisitValidationHandler Prevents the creation of time off territory during a visit. beforeInsert, beforeUpdate
TUDHolidayValidationHandler Prevents the creation of time off territory records on holidays. beforeInsert, beforeUpdate
TUDOverlapHandler Prevents the creation of overlapping time off territory records. beforeInsert, beforeUpdate
TUDEventValidationHandler Prevents the creation of time off territory during a general event. beforeInsert, beforeUpdate

UserReaction

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the UserReaction object.

Trigger Name Description Trigger condition
UserReactionMedicalInsightHandler Updates the UpvoteCount field on Medical Insight records when User Reaction (upvote) records are created or deleted. Duplicate user reactions from the same user on the same medical insight aren't allowed. You can't insert user reactions with type as downvote. afterInsert, beforeInsert, afterDelete

To learn more about Medical Insights visibility and sharing, see Manage Medical Insight Sharing and Visibility.

Visit

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Visit object.

Trigger Name Description Trigger condition
VisitLockHandler Prevents editing visit data to maintain data integrity. Visits are locked when their status is Completed. Signing any visit in a group visit hierarchy locks critical fields on all visits in that hierarchy. Child visits inherit the parent visit's lock state. beforeInsert, beforeUpdate
VisitTimeOffValidationHandler Prevents scheduling a visit that conflicts with a time-off territory to support scheduling efficiency and accurate visit reporting. beforeInsert, beforeUpdate
VisitLifeScienceAccountListLinkHandler Clears the Life Science Account List field on the provider visit record if the Planned Start Time is changed on a visit created by applying a routine. beforeUpdate
VisitHolidayValidationHandler Prevents scheduling a visit on holidays or outside of business hours to maintain compliance with company policies. beforeInsert, beforeUpdate
VisitPopulateEndTimeHandler Calculates and sets the visit's Planned End Time by adding the default duration defined in the "Set blank date/time in Planned Start Time" Visit Administration setting in the Admin Console. beforeInsert, beforeUpdate
FutureVisitLimitValidationHandler Prevents scheduling visits beyond the limit specified in the "Future Visit Limit in Days" setting in Visit Administration in the Admin Console. beforeInsert, beforeUpdate
VisitUpdateChildFieldsHandler Maintains data consistency in group visits by synchronizing child visit records with their parent visits. Automatically updates key fields (Planned Visit Start Time, Planned Visit End Time, and Channel) when the parent visit is modified. Manual edits to these fields on a child visit are overwritten the next time the parent visit is saved while this handler is active. afterUpdate
VisitDelayReasonHandler Clears the previously entered reason for delay if a user changes the visit date and time and the date no longer exceeds the submission delay threshold. beforeUpdate
VisitCascadeDeleteHandler Deletes attendee visits automatically when the parent group visit is deleted, maintaining data integrity. No warning or confirmation dialog appears before the deletion. Deletion is blocked if the parent visit has a status of Completed, or if any child visit in the group is signed. beforeDelete
VisitSurveyInviteCascadeDeleteHandler Deletes survey invitations linked to a visit when a visit is deleted, and prevents deleting them if the visit is submitted to maintain data integrity. beforeDelete
RemoteSessionInvitationVisitHandler Manages remote session invitations by creating video calls, email notifications, and session keys for visit records. afterUpdate, beforeDelete
VisitMyBestTimeValidationHandler Prevents scheduling visits outside of best times defined for the account address and user's territory, improving scheduling efficiency and aligning with account availability. beforeInsert, beforeUpdate
VisitChangePrimaryAccountHandler Performs validations, updates related records, and prepopulates fields in the visit to maintain data consistency when the primary account is changed. beforeInsert, beforeUpdate, afterUpdate

Visitor

Review the names, descriptions, and trigger conditions of the trigger handlers associated with the Visitor object.

Trigger Name Description Trigger condition
VisitHolidayValidationHandler Prevents the creation or the update of a visit during a holiday or outside configured call business hours. Requires Call Business Hours and First Day of Week to be set in Planner Administration. beforeInsert, beforeUpdate
VisitorLockHandler Prevents insert/update/delete operation on Visitor if it is locked. beforeInsert, beforeUpdate, beforeDelete
VisitorShareHandler Shares the Visit record with the Visitors (employees). afterInsert, afterUpdate, afterDelete
VisitTimeOffValidationHandler Validates that a visit does not conflict with the user's Time Off Territory (TOT) records. With TOT Call Rules enabled, only TOT types marked "Not Allowed" for the Call dimension block. beforeInsert, beforeUpdate
.
 
Loading
Salesforce Help | Article