8. Find Sequences Where an Event Does Not Occur
Negation lets you find sequences (a series of actions) where a specified event must not occur after the required actions.
For example, find a payment failure that was not followed by a successful payment within the checked window.
Negation is an Is Negation setting on a User Defined Event.
Build the Query
- Drag the required events onto the canvas and connect them in order.
- Add the event that must not occur as the final event, connected directly to End.
- Right-click that final event and turn on Is Negation.
- Place Any immediately before the negated event to check across subsequent activity.
Start → Payment Failed → Any → Payment Succeeded (Is Negation ON) → EndHow It Works
The behavior depends on whether Any appears immediately before the negated event.
With Any: Check across subsequent activity
Payment Failed → Any → Payment Succeeded (negated) → End
After Payment Failed matches, zinzu checks subsequent records for the same EventOwner:
- If Payment Succeeded occurs within the observation window, the sequence is incomplete.
- If the queried records for that EventOwner end without Payment Succeeded, the sequence completes.
- If the sequence record limit is reached first without Payment Succeeded, it closes with COMPLETED_LIMIT_REACHED.
Other activity can occur during this check. If there are no records after Payment Failed, the sequence also completes.
Without Any: Check only the next record
Payment Failed → Payment Succeeded (negated) → End
After Payment Failed matches, zinzu checks only the next record:
- If it matches Payment Succeeded, the sequence is incomplete.
- If it does not match Payment Succeeded, the sequence completes immediately.
A successful payment occurring later does not change that completed sequence.
If there is no next record, the sequence remains incomplete unless the preceding required event has already reached the sequence record limit.
Use Any when your question is “Did this event remain absent across subsequent activity?”
Example
Start → Payment Failed → Any → Payment Succeeded (negated) → EndThe table explains possible negation evaluation outcomes. The Results modal currently displays completed sequences only.
| Activity after Payment Failed | Result |
|---|---|
| Retry Started → Error Logged → queried records end | Completed |
| Retry Started → Payment Succeeded | Incomplete |
| No further queried records for that EventOwner | Completed |
| Other activity continues until the record limit, without Payment Succeeded | COMPLETED_LIMIT_REACHED |
When to Use It
Payment Failed → Any → Payment Succeeded (negated) → EndFind payment failures without a subsequent successful payment in the checked window.
Ticket Opened → Any → Ticket Resolved (negated) → EndFind tickets without a resolution event in the checked window.
Payment Confirmed → Any → Order Shipped (negated) → EndFind confirmed payments without a subsequent shipment event in the checked window.
Important Notes
- Only one event per query can have Is Negation enabled.
- The negated event must be the final event, connected directly to End.
- It must immediately follow a named event or Any.
- A record counts as the forbidden event only if it matches that event’s source and filter conditions.
- The absence check starts after the preceding required actions match. Earlier occurrences do not invalidate it.
- The default sequence limit is 50 records, including required actions and records captured by Any.
- Completion confirms absence only within the checked window. The event may occur outside the query’s data range or after the sequence limit.
Next: Submit the query and view results.

