particle_alert_preview
Preview how often an alert would fire BEFORE creating it. Sweeps the past N days (default 7, max 30) for the given entity and returns the total match count, a per-day breakdown, and a small sample of the most recent matches with episode context. Use this to size an alert (REALTIME vs DAILY vs WEEKLY cadence) or to confirm the entity slug watches the right thing, then call particle_alert_create with the same entity. Pass the same filters you plan to save so the estimate matches what the alert would surface — the languages and speaker_roles axes narrow the sweep; relevance and source_popularity are read-time projections that don't, so the count is an upper bound when relevance=RELEVANT. Read-only — it creates nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Signal to preview. Defaults to ENTITY_MENTION. | |
| filters | No | Same as particle_alert_create.filters. Pass the filters you intend to save so the estimate reflects what the alert would actually surface. Only languages and speaker_roles narrow the historical sweep; relevance and source_popularity are read-time projections that don't run on historical episodes, so setting them leaves the count unchanged (the estimate is an upper bound when relevance=RELEVANT). | |
| entities | Yes | The entity to preview, as a single slug (from the resolve tools), same as particle_alert_create.entities — exactly one. | |
| window_days | No | How many days back to sweep (1-30, default 7). | |
| output_format | No | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matters; the JSON shape is larger and noisier for an LLM to read. |