Skip to main content

Notification Events

Every notification carries an event and an event_level. Upload events are chosen once per channel. Task events are chosen per pipeline step and only fire for tasks in that step.

Upload events​

EventFires when
UPLOAD_IN_REVIEWThe upload needs attention: at least one task is in review or failed, or an export was rejected and the upload moved back to review.
UPLOAD_PROCESSEDEvery task is finalized and the export succeeded. The upload is complete.
UPLOAD_DUPLICATE_DETECTEDDuplicate filtering recognised the upload as a copy of an earlier one. Processing stopped. The payload names the earlier upload.
UPLOAD_ALL_FILTEREDEvery file in the upload was filtered out, so nothing is left to process. Fires in addition to UPLOAD_IN_REVIEW or UPLOAD_PROCESSED.

Task events​

EventFires when
TASK_IN_REVIEWThe task needs manual review, either because the step requires it or because processing hit a recoverable error (soft_fail_reason).
TASK_COMPLETEDThe task finished this step and its results moved on.
TASK_FAILEDProcessing failed permanently (failure_reason), or the file could not be parsed at all (status is UNPROCESSABLE).
TASK_FILTEREDThe filter model, or a reviewer who discarded with "filter this out", filtered the task out.
TASK_UNLOCKEDA reviewer undid a filter or unlocked a completed task for editing. Earlier TASK_FILTERED or TASK_COMPLETED results no longer apply.
TASK_DISCARDEDA reviewer discarded the task. The payload carries the discard reason in issue.
TASK_REPORTEDA reviewer reported an issue on the task. The payload carries the report in issue.
TASK_EXPORT_FAILEDThe export connector rejected the task, or the export mail bounced. The upload moves back to review.

How events relate​

A few common sequences, for a project with one extraction step:

  • Straight through: TASK_COMPLETED → UPLOAD_PROCESSED.
  • Needs a reviewer: TASK_IN_REVIEW → UPLOAD_IN_REVIEW → after approval TASK_COMPLETED → UPLOAD_PROCESSED.
  • Filtered out: TASK_FILTERED → UPLOAD_ALL_FILTERED → UPLOAD_IN_REVIEW (kept for review) or UPLOAD_PROCESSED (finalized), depending on the project's filter settings.
  • Undo a filter: TASK_UNLOCKED → the task runs again and continues with TASK_IN_REVIEW or TASK_COMPLETED.
  • Discarded: TASK_DISCARDED → UPLOAD_PROCESSED once the remaining tasks are done.
  • Duplicate: UPLOAD_DUPLICATE_DETECTED, nothing else.
  • Export rejected: TASK_EXPORT_FAILED → UPLOAD_IN_REVIEW. After the issue is fixed and the task is unlocked and re-approved, the normal sequence resumes.

Upload-level and task-level events are independent subscriptions: a channel that only ticks upload events never receives task events, and the other way round.

Next: Notification Payloads →