Join the waitlist

Let us know how we should get in touch with you.

Thank you for your interest! We’re excited to show you what we’re building very soon.

Close
Oops! Something went wrong while submitting the form.

Add Buying Signals to Sequences Already in Flight

·
Updated on: September 9, 2026

TL;DR: Add a buying signal to an active sequence as a state transition, not as an extra email. Resolve the event, check contact and account eligibility, read the current sequence state, and choose one action: continue, change the next unsent step, pause for a rep, or suppress. Store an idempotency key so retries cannot create duplicate touches.

How do you add signal data without restarting an active sequence?

Keep the existing enrollment and delivered-message history. A new signal should change only future work. The orchestration layer first evaluates the event against the current record, then writes a single transition. It should never create a second active sequence merely because a buyer generated another event.

Unify Intent signals provides examples of signals that can enter an outbound workflow, and Automated plays is the workflow layer used to qualify and route actions. The decision rules below are a policy template: teams should set their own freshness windows, ownership rules, and suppression conditions.

Signal-to-action matrix for contacts already in an outbound sequence
SignalInterpretationConfidence caveatSequence stageActionSuppression or stop rule
Pricing or high-intent page visitThe account may be evaluating a category or vendorAccount-level activity does not prove that a named contact visitedNot contacted or step 1 pendingPrioritize research, then enroll only an eligible personStop if no qualified person or if the account is already a customer
Repeated product-page activityInterest may be strengtheningShared networks, bots, and multiple visitors can blur identityEarly active sequenceChange the next unsent step to the relevant use caseDo not resend an earlier step or increase daily touch volume
Known contact attends an eventThe person engaged with a declared topicAttendance does not prove purchase authorityMid-sequencePause automated copy and give the owner a context-rich taskStop automation if the rep starts a live conversation
New executive or role changePriorities and ownership may be changingTitle data can lag and scope cannot be inferred from title aloneAny active stageRequalify persona and account ownership before continuingSuppress if the record cannot be verified or territory is disputed
Funding, hiring, or expansion eventThe account context may have changedCompany news is not proof of an active projectEarly or mid-sequenceUpdate the account hypothesis, then continue only if the message still fitsDo not claim the event created budget or urgency
Reply, meeting, open opportunity, or opt-outA higher-priority state now existsThe CRM and conversation owner must be currentAny stageHand control to the owner or compliance ruleImmediately stop overlapping automated outreach

Use a six-step transition routine

  • 1. Normalize the event: store signal type, source, observed time, ingestion time, account match, person match, and source event ID.
  • 2. Re-read current state: fetch lifecycle stage, opportunity status, owner, suppression, active sequence, last delivered step, reply state, and next scheduled action.
  • 3. Evaluate eligibility: apply customer, opportunity, territory, consent, recent-contact, and cooldown rules before changing anything.
  • 4. Select one transition: continue unchanged, replace only the next unsent step, pause and create a task, or suppress.
  • 5. Commit atomically: write the transition and its idempotency key before creating downstream tasks or enrollment changes.
  • 6. Record the reason: save the event, policy version, prior state, chosen action, owner, and timestamps for review.

A safe implementation pattern

Use the following pseudo-logic as an implementation contract. Variables in square brackets are team-defined values, not universal benchmarks.

  • If [SUPPRESSION_STATE] is active, return SUPPRESSED and do not schedule work.
  • If [REPLY_STATE], [MEETING_STATE], or [OPPORTUNITY_STATE] is active, return OWNER_NOTIFY.
  • If event observed time is older than [FRESHNESS_WINDOW], return STALE_NO_ACTION.
  • If [EVENT_ID + CONTACT_ID + POLICY_VERSION] already exists, return the stored result.
  • If the active sequence hypothesis still matches, return CONTINUE and update only internal context.
  • If the hypothesis changed and no step is currently sending, return REPLACE_NEXT_UNSENT_STEP.
  • If identity or ownership is ambiguous, return REVIEW_QUEUE.

The retry design follows the general principle described in Making retries safe with idempotent APIs: a stable request identifier lets the receiver recognize the same intended operation. For an outbound workflow, record terminal no-action outcomes as well as successful actions so a replay does not reopen suppressed work.

Roll out without over-messaging contacts

Rollout plan for adding buying signals to live sequences
PhaseScopeRecords to testSuccess checkFailure checkPromotion rule
1. Shadow evaluationNo sends or sequence changesKnown active, replied, opportunity, customer, opted-out, stale, and duplicate casesEvery event produces one explainable proposed transitionAny proposed touch violates ownership or suppressionPromote only after policy owners approve all expected outcomes
2. Notify onlyCreate internal tasks or alertsOne controlled segment and one signal typeOne owner receives one useful alert with source and timeDuplicate, unowned, or context-free alerts appearPromote after duplicates and routing errors are resolved
3. Next-step editsModify only unsent contentEligible early-stage sequencesDelivered history stays intact and the next step reflects the new hypothesisA contact receives an extra touch or prior content is rewrittenPromote after audit logs match actual changes
4. Governed branchingAllow approved pause, continue, or replace transitionsBroader eligible segmentEach event follows the current policy versionTwo branches or two enrollments exist for one eventPromote only with idempotency and rollback verified
5. Ongoing auditReview exceptions and policy driftSampled production events and every conflictSuppression, owner, and state precedence remain correctUnknown transitions or unexplained sends appearPause the affected path and investigate

What to change in the message

Use the signal to refine relevance, not to reveal surveillance. Replace a generic next step with the business problem suggested by the event. Do not say that a particular person visited a page unless person-level identity is both verified and appropriate to use. Do not turn a weak account event into certainty about budget, authority, or timing.

  • Use: "Teams revisiting [WORKFLOW] often need to decide [DECISION]. Is that relevant to your group?"
  • Avoid: "I saw you visited our pricing page three times."
  • Use: "Your team's public [HIRING OR PRODUCT CHANGE] suggests [HYPOTHESIS]. Is [ROLE] responsible for this?"
  • Avoid: "The new funding means you now have budget for us."

Incident stop rules

  • A contact receives two active enrollments after one signal.
  • A reply, opt-out, customer state, or open opportunity fails to suppress the transition.
  • The workflow cannot distinguish event time from ingestion time.
  • The account or person match is ambiguous.
  • The audit log does not show the prior state, policy version, and chosen action.
  • A retry creates a second task, alert, or sequence change.

How Unify fits

Teams can connect signals, qualification, owner routing, and Multi-channel Sequencing in a Play. The useful operating design is explicit: signals supply evidence, policy determines eligibility, and the current sequence state determines whether the system continues, changes, pauses, or stops.

Start using Unify to coordinate signals, Plays, sequencing, and CRM context in one governed workflow.

Frequently asked questions

Should a new signal start a second sequence?

No. Read the current enrollment first and change only future work. Create a new sequence only after the existing motion is closed and policy explicitly permits a new enrollment.

What should happen after a reply?

The human owner takes precedence. Stop automated transitions and route useful signal context to that owner.

How do you prevent a retried signal from sending twice?

Create a deterministic idempotency key, store the result before downstream actions, and return the stored result on a retry.

Can account-level intent identify the right person?

No. Use account-level intent to prioritize research, then qualify the appropriate people separately.

Which timestamps matter?

Store observed time, ingestion time, evaluation time, and action completion time.

What is the safest first rollout?

Run in shadow mode, then notify only. Allow sequence changes only after ownership, suppression, duplicate handling, and rollback are verified.

Sources