Check for a Missing Event with Negation
Negation finds a required set of actions, in any order, followed by the absence of another action.
Example: Find applications where Identity Verified and Consent Received occurred, with no Application Cancelled afterward.
Build the Query
- Add Identity Verified, Consent Received, and Application Cancelled to the event basket.
- Turn on Is Negation for Application Cancelled.
- Leave Is Negation off for the two required events.
- Add any system filters needed for the required set.
How It Works
zinzu first collects the required positive events for the same EventOwner, regardless of their order. Unrelated activity between them is skipped.
Once every required occurrence matches and the system filters pass, zinzu starts checking each subsequent record for the negated event.
Checking continues until one of these happens:
| What happens | Result |
|---|---|
| The negated event appears | INCOMPLETE |
| The EventOwner’s records end within the selected query date range, without the negated event | COMPLETED |
| The sequence record limit is reached, without the negated event | COMPLETED_LIMIT_REACHED |
Unrelated records do not invalidate the sequence, but they still count toward the sequence record limit. This limit counts records from the start of the sequence; it does not restart when negation checking begins.
Examples
For the query above:
| Records in chronological order | Outcome |
|---|---|
| Identity Verified → other activity → Consent Received → other activity → end of data | COMPLETED |
| Consent Received → Identity Verified → Application Cancelled | INCOMPLETE when cancellation appears |
| Identity Verified → Consent Received → unrelated records until the sequence limit | COMPLETED_LIMIT_REACHED |
| Application Cancelled → Identity Verified → Consent Received → end of data | COMPLETED; cancellation occurred before negation checking started |
| Identity Verified → end of data | INCOMPLETE; Consent Received never matched |
If the required set qualifies on the EventOwner’s final record, the sequence can complete without any additional records.
When to Use It
Application checksFind applications with Identity Verified and Consent Received, followed by no Application Cancelled in the remaining observation period.
Operational checksFind orders with Inventory Checked and Payment Authorized, followed by no Order Cancelled in the remaining observation period.
Important Notes
- Only one event can have Is Negation enabled. At least one positive event is required.
- Negation checks records after the required set qualifies. Earlier occurrences of the negated event do not invalidate that set.
- There is no separate waiting duration for negation. Observation ends at the EventOwner’s selected data boundary or the sequence record limit.
- Duration Length constrains the required positive set; it does not limit how long negation is observed.
- A completed result confirms absence only within the records examined. COMPLETED_LIMIT_REACHED means later records were not checked for that sequence.

