trigger_idstring
Unique trigger identifier
namespace_idstring required
internal_idstring required
action_type'cluster' | 'taxonomy_enrichment' | 'batch_rerun' | 'collection_trigger' | 'retriever_execution' | 'alert_evaluation' required
Type of action to execute when trigger fires.
Supported action types:
- cluster: Execute clustering on a cluster definition
- taxonomy_enrichment: Apply taxonomy enrichment to a collection
- batch_rerun: Re-execute a completed/failed batch
- collection_trigger: Re-process a collection from its sources
- retriever_execution: Execute a saved retriever with fixed inputs on a
schedule (a canary / search probe), optionally judged against acceptance
criteria (latency ceilings, minimum results, per-document LLM verdicts)
- alert_evaluation: Evaluate a retriever alert in the trigger's namespace
on the trigger's schedule. The periodic alert sweep then skips that alert
in that namespace, so it runs on this schedule only
action_configobject required
Action-specific configuration
trigger_type'cron' | 'interval' | 'event' | 'conditional' required
Type of trigger schedule.
Supported trigger types:
- cron: Schedule-based execution using cron expressions
- interval: Fixed-interval execution
- event: Event-driven execution
- conditional: Condition-based execution
schedule_configobject required
Schedule-specific configuration
status'active' | 'paused' | 'disabled' | 'failed'
last_triggered_atstring date-time nullable
last_execution_task_idstring nullable
Task ID of last execution
next_scheduled_atstring date-time nullable
Next scheduled execution time
execution_countinteger
Total successful executions
consecutive_failuresinteger
last_execution_statusstring nullable
last_execution_errorstring nullable
Error from last execution (if failed)
event_counterinteger
Current event count since last trigger
last_cooldown_atstring date-time nullable
Last time cooldown was applied
baseline_snapshotobject nullable
Baseline snapshot for drift measurement (captured after successful execution)
last_drift_measurementobject nullable
Result of most recent drift measurement check
last_volume_measurementobject nullable
Result of most recent volume (document count) condition check
last_condition_check_atstring date-time nullable
When condition was last evaluated
namestring nullable
Human-readable trigger name (surfaced in list/get responses)
descriptionstring nullable
Human-readable description
created_atstring date-time
updated_atstring date-time
created_bystring nullable
is_overdueboolean required
Whether this trigger is active, scheduled by next_scheduled_at
(cron, interval, or conditional), and that time has already passed.
next_scheduled_at is naive (implicitly UTC) right after creation --
_calculate_next_cron (shared/triggers/utils.py) strips tzinfo before
returning -- and aware once round-tripped through Mongo (tz_aware=True
on both providers). Compare on the naive side so both cases work.