Skip to main content
Create an alert that watches one or more entities and emails you whenever they are mentioned on a podcast episode (kind=ENTITY_MENTION) or appear as a speaker (kind=PODCAST_SPEAKER). This is a mutating tool — it creates a real alert in your project. Watch targets are passed as entity slugs from a resolve tool — the same slug→edge contract as the rest of the surface. Resolve a name once with particle_entity_resolve, particle_person_resolve, or particle_company_resolve, then create the alert with the slug it returns. The tool resolves each slug to its (entity_type, entity_id) internally, so you never handle a raw entity id; the resolved type and name are echoed back in the response. Every MCP request is scoped to exactly one project by your credential, so the alert is created in that project — there is no project parameter. After creation the alert immediately backfills matches from the past 7 days (visible via particle_alert_list_matches, flagged is_backfilled and never emailed). To see what an alert would catch before committing, run particle_alert_preview first.
Alerts require a plan that includes them (Team, Business, or Enterprise) and an available alert allowance. On a plan without alerts or at the allowance limit, the call returns an isError result with upgrade guidance.

Inputs

Filter object

filters is an optional object with up to four independent axes. Omit filters (or any individual field) to leave that axis unfiltered. The same shape is accepted on particle_alert_update and is echoed back on every read tool (particle_alert_get, particle_alert_list). See Alerts → Filtering matches for the wire-level spec.

Output

A markdown document rendering the created alert’s full configuration: the title as an H2, then **ID:**, **Kind:**, **Delivery:**, and **Status:** (active/paused) KV rows, an optional **Description:** row, a ### Watching (N) section listing each resolved entity as Name — type · id, and a **Notify:** row with the recipient emails. When the alert has any active filters, a ### Filters section follows with one bullet per configured axis (**Languages:**, **Relevance:**, **Source popularity:**, **Speaker roles:**). The **ID:** row is the alert id — feed it into particle_alert_get, particle_alert_update, particle_alert_delete, and particle_alert_list_matches. Sample (title="OpenAI mentions", entities=["sam-altman"], delivery_cadence="DAILY"):
Passing output_format: "json" returns the same fields as compact JSON.

Example