
Customer.io makes Wait Until logic denser; RevOps needs a readable state contract
A single Wait Until path can now combine chained delays, nested And/Or conditions, and relationship logic. The canvas may become shorter, but the lifecycle decision becomes more expressive. Preserve timing, identity, branch meaning, exits, and test evidence before consolidating production journeys.
What Customer.io changed
Customer.io published the Wait Until update on August 26, 2026. Its official release note says a Delay path can now contain more than one delay, including time windows. The example combines a two-day hold with waiting until the next Friday at 9 AM. Conditions within a path can use And or Or and can nest groups of each, rather than joining every condition with And.
The release also extends relationship conditions in Wait Until blocks beyond workflows triggered specifically by objects or relationships. Customer.io gives an example where people move forward after matching two attributes or entering a segment. Previously, teams may have represented similar timing or decision logic with several visible blocks and branches.
The product change can make a journey easier to scan, but fewer blocks do not necessarily mean simpler behavior. A nested expression can depend on profile attributes, segments, object relationships, event arrival, timezone, and delay calculation at the same time. The official note documents the capability; it does not establish how a particular workspace should classify customers, accounts, consent, renewals, or message eligibility.
Write the lifecycle state before the Boolean expression
Start with a plain-language state contract. Name who is eligible, which event or segment starts evaluation, which attributes and relationships are authoritative, what must become true, how long the workflow waits, which timezone applies, what happens when data changes, and when a person exits without receiving a message. Then translate the contract into And, Or, groups, and delays. Do not let the canvas become the only definition.
Identity and relationship quality now matter directly to timing. A person may belong to several accounts, have an outdated plan attribute, enter a segment after a warehouse sync, or lose a relationship while waiting. Decide whether the workflow should evaluate the current state, the entry-time state, or another approved snapshot for each condition. Record the stable person and account identifiers used to join the evidence.
Or branches deserve special review because any qualifying path can release the person. Check whether a broad segment makes a stricter attribute branch irrelevant, whether missing values become false or unknown, and whether nested groups reflect the intended precedence. A readable label such as 'ready for renewal message' is not enough; operators should see why this specific person qualified at this specific time.
Replay representative profiles before consolidation
Document the current journey version, each delay, branch, message, exit, and recent path counts. Build a small test cohort with a normal profile, a late event, a missing attribute, two conflicting account relationships, a segment entered after a delay, a profile that never qualifies, a timezone boundary, and a profile that becomes ineligible before the next message. Use non-customer destinations or suppressed sends for the first test.
Run old and proposed logic against the same evidence where the product permits it, or manually replay the decision table. Compare entry time, condition evaluations, branch selected, release time, message eligibility, downstream event, and final profile state. Inspect what happens when attributes or relationships change during the wait and whether a backfill or repeated event can release someone twice.
After a bounded launch, review branch volume, median and longest wait, profiles reaching the maximum wait, missing-data cases, relationship conflicts, suppressed sends, duplicate events, message errors, and the downstream owner action. Keep a versioned screenshot or export plus the plain-language contract so a future operator can reconstruct behavior after the canvas changes again.
- Define eligibility, timing, timezone, relationship authority, and exit behavior in plain language.
- Test Boolean precedence, missing values, late events, and relationship changes explicitly.
- Compare old and consolidated paths with the same representative profiles.
- Preserve the workflow version and evidence that explains why each test profile moved.
- Monitor indefinite waits, unexpected branch volume, duplicate releases, and suppressed messages.
Decision and limits
Consolidate blocks when the new version produces the same intended lifecycle outcomes with clearer ownership and evidence. Keep separate blocks when visibility at each step is operationally valuable, when different teams own the delays, or when a single nested expression becomes difficult to review safely. Canvas compactness is not an operating success measure.
RevOps and lifecycle operations can own data definitions, CRM or warehouse joins, branch documentation, and review cadence. Marketing, Product, Customer Success, Support, Privacy, and Legal retain authority for content, customer eligibility, consent, sensitive data, and regulated communication. High-consequence messages should not become automatic merely because timing logic is more expressive.
DailyRevOps has not independently tested the update across every Customer.io plan, trigger type, integration, and workspace. Current documentation, event-delivery behavior, SDKs, data freshness, and permissions should be verified in the target environment. No revenue, retention, conversion, or productivity outcome can be inferred from the release alone.
Original source
This DailyRevOps article is written in our own words from the source signal and adds RevOps context, workflow analysis, and operator interpretation.
- Original source: Customer.io Documentation
- Original publication date: August 26, 2026
- Source link: Read the original article