gtmjosh

Triggers, preconditions, and eligibility

· 3 min read· Salesforce · HubSpot

How to distinguish the event that starts a GTM workflow from the conditions that allow it to run, with a testable eligibility checklist.

On this page

“When a lead becomes qualified, send an email” hides two separate contracts. What event counts as becoming qualified? What must be true before the email is allowed? Split them.

Trigger versus precondition

ConceptExampleWhat happens when it changes
Triggerdecision.final_outcome changes to route-to-sellerEvaluate the workflow
PreconditionsConsent is active and an owner existsContinue or stop
Step conditionThe handoff has been acceptedRun the next step
Exit conditionThe seller records a completed outcomeFinish the workflow

Avoid using a broad “record updated” trigger and filtering inside a script. It creates repeated runs and makes the real start event invisible.

Eligibility checklist

Before the first action, check:

  • the subject record still exists and is the expected object;
  • the decision is complete and its version is recorded;
  • required identity and ownership fields are present;
  • consent, suppression, and permission checks pass;
  • no active run already owns the same work;
  • the action is inside its volume, time, and risk limits; and
  • the source values have not changed since the decision was made, or a rerun is required.

Record the first failed condition. Operators need to know whether a run was suppressed, deferred, or broken.

Make re-entry explicit

An update can satisfy a trigger more than once. Choose one policy per workflow:

PolicyUse whenRequired record
Once per subjectA single handoff is enoughstarted_at, completed_at
Once per decision versionThe work restarts after a contract changedecision_version
Re-enter after exitA new event represents a new business needrun_key and exit timestamp

Never rely on the platform's default re-enrollment behavior as the business rule. Write the rule, then configure the platform to match it.

Test the boundary cases

Use records where one condition changes at a time: owner missing, consent withdrawn, duplicate active run, decision version changed, and source updated after evaluation. The expected result for each should be one of continue, suppress, defer, or fail. A successful no-op is a result worth reporting.

Record the eligibility decision

Store more than a boolean. A useful eligibility event includes the subject, trigger, policy version, evaluation time, outcome, and reason code. ineligible_missing_owner is actionable; false is not. The reason code lets operations see whether a workflow is quiet because demand fell or because a prerequisite broke.

Re-evaluate only for a named reason. A meaningful source change, an expired decision, or a manual retry can justify a new evaluation. A background save that changed nothing relevant should not. This prevents duplicate work and makes volume forecasts defensible.

Launch review

Before activation, have the business owner walk through one record that should run, one that should wait, one that should never run, and one that may re-enter later. Confirm the same outcomes in the configured platform. Then monitor eligibility reasons during rollout. An unexpected rise in suppression is often the earliest sign of a field, ownership, or integration problem.

Related: GTM workflow specification template, Exit, suppression, and completion rules, and Consent and DNC architecture.

FAQ

What is the difference between a workflow trigger and a precondition?
A trigger is the event that asks the workflow to evaluate a record. A precondition decides whether the record is eligible to proceed. A status change can trigger a check; consent, ownership, and a complete decision can still block the work.

Get the next guide

New guides and the occasional note on GTM tooling. Don't worry, I won't drop you into a three-month nurture.