Guided Selling Trigger Behavior & Formula Field Limits
Audience: Salesforce Admins & Implementers
Scope: How Guided Selling (GS) evaluates entrance/exit criteria, when triggers run, what the Account trigger covers, and how permission sets affect trigger execution.
Summary Overview
- Formula fields in entrance/exit criteria do not cause immediate entry/exit. Salesforce does not fire triggers on formula value recalculation.
- We batch-evaluate participants for exits when formula values change; we do not batch-evaluate all non‑participants for entry.
- Account trigger is narrowly scoped: it updates Participant Action Owner when Account’s delegated owner (a user-lookup) changes. It does not evaluate Contacts for sequence entry/exit.
- Triggers only run for users with GS permissions. For non‑GS users (e.g., integrations), assign Guided Selling Delegation so their transactions can cause immediate entry/exit.
How Guided Selling Evaluates Criteria
Guided Selling relies on Salesforce record‑change events to run trigger logic that:
- Evaluate entrance criteria → add eligible Leads/Contacts to Sequences.
- Evaluate exit criteria → remove participants from Sequences.
Not all field changes count as record-change event. Salesforce does not fire triggers when a formula field value changes due to recalculation. Triggers fire only when the record itself is updated by DML (insert/update/undelete) and the running user has the required permissions.
Formula Fields in Entrance & Exit Criteria
Why formula fields don’t trigger immediate evaluation
- Formula fields are computed at query/read time. A recalculation does not persist a field change to the database and does not fire triggers.
Entrance criteria using formula fields
- If a Lead/Contact meets entrance criteria only because a formula value changed, immediate entry will not occur.
- Current behavior: We do not run a batch that evaluates all non‑participants for potential entry based on formula changes.
Recommendations
- Prefer non‑formula fields for entrance criteria (checkboxes, picklists, dates) that are explicitly updated by automation (Flow/Process/Trigger) when business conditions change.
- If you must reference formula logic, consider a helper field (non‑formula) that your automation updates whenever the underlying conditions change. Use that helper field in entrance criteria.
Exit criteria using formula fields
- If a participant meets exit criteria only because a formula value changed, triggers will not run immediately.
- Current behavior: A batch job periodically checks existing participants for formula‑driven changes and exits them if they now meet exit criteria.
Recommendations
- Where immediate exit is important, use non‑formula criteria that are updated via automation on the participant record.
Note: Other computed fields (e.g., roll‑up summaries) can exhibit similar behavior. If a field doesn’t persist a DML change on the record, it won’t fire triggers. Prefer criteria based on fields that are updated by DML.
Account Trigger: Scope & Limitations
What it does
- Handles changes to participant ownership: when an Account’s delegated owner (user field) changes, the trigger updates the Participant Action Owner accordingly.
What it does NOT do
- It does not evaluate Contacts for entrance into a Sequence.
- It does not evaluate participants for exit from a Sequence.
Implications
- If an Account field update causes its Contacts to meet entrance criteria, no immediate entry occurs. A DML update on each Contact is required for the Contact trigger to evaluate entrance.
- If an Account update causes a current participant to meet exit criteria, that exit will be handled by a scheduled Apex batch job (not immediately by a trigger), unless the Contact itself is updated.
Trigger Execution & Permission Sets
Who triggers run for
Guided Selling triggers execute only when the running user of the transaction has one of these permission sets:
- Sequence Admin
- Sequence Agent
- Guided Selling Delegation
Who is the running user?
- Interactive updates: the person who clicks Save on the record.
- API/integrations: the integration user whose token performed the DML.
- Record-triggered Flows/Processes: the user whose record change fired the automation (not the Flow/Process “owner”).
- Apex/Scheduled jobs/Data loads: the job’s running user (e.g., a named integration account).
If the running user lacks one of the permission sets above, Guided Selling entrance/exit logic does not run for that transaction.
Solution for non‑GS users
- Assign Guided Selling Delegation and Guided Selling Standard Object permission sets to any non‑GS or integration users whose updates should be able to cause immediate entrance/exit.
- Intended for third‑party tools (e.g., marketing/lead routing) to ensure new/updated records are evaluated immediately.
- This permission does not grant sequence execution UI privileges; it only enables trigger logic to run.
Admin Playbook (Best Practices)
- Design criteria on DML‑updated fields. Use Flow or other automation to stamp a real field when conditions change.
- Avoid pure formula criteria for time‑sensitive entry/exit. Use helper fields updated by automation.
- Wire your integrations correctly. Assign Guided Selling Delegation to integration users that insert/update Leads/Contacts.
- Account‑level changes need record touches. If Account changes should affect Contact entrance/exit immediately, add automation to update affected Contacts (e.g., stamp a “Last Eligibility Check” date) to fire Contact triggers.
- Rely on the exit batch for formula‑driven exits. Don’t expect immediate exits from formula recalculations.
- Monitor edge cases. Build reports for: participants near exit criteria, Contacts that match entrance criteria but aren’t in a Sequence, and updates made by non‑GS users.
FAQs
Q: Can I use formula fields at all in criteria?
A: Yes, but don’t rely on them for immediate entry/exit. Use helper fields or accept the batch‑based behavior (exit only).
Q: How do I make Account‑level changes trigger Contact entrance?
A: Add automation that updates the Contact (e.g., set a checkbox/field) when relevant Account fields change. This causes the Contact trigger to evaluate entrance.
Q: Do we batch‑evaluate non‑participants for formula‑based entrance?
A: No. Batch jobs only check for current participants who should exit a sequence.
Q: What does Guided Selling Delegation grant?
A: It allows non‑GS users (e.g., integrations) to run GS triggers so their DML can immediately enter/exit records when criteria are met. It doesn’t provide the GS UI.