Capabilities
Every capability, the mechanism behind it, and a way to check it yourself. Last updated October 20, 2026.
Alert types
| Capability | Mechanism | Verify |
|---|---|---|
| Price alerts on any store: target price, percent drop, any drop, new all-time low, 10%+ under the running average | Reads schema.org Offer in JSON-LD, product price meta tags, Shopify /products/<handle>.js feeds, then page text, then a model read as the last resort. Alerts once per price; re-alerts only on a lower price. | Create a price alert and press Read the page: the price, stock status and page text appear before you save. |
| Restock alerts | schema.org availability (InStock, OutOfStock, PreOrder), store feeds, then page wording ("Add to Bag", "Sold out"). Fires on the flip to in stock. | The alert page shows "Right now: In stock / Out of stock" from the latest check. |
| Page and region change | Text of the whole page or a CSS-selected region (read with a standards-based HTML parser), hashed per check; added and removed lines diffed; optional minimum change percent and number-ignoring; a model judges meaning against your stated intent. | Timeline rows show added text in green and removed text struck through. |
| Keyword appear or disappear | Case-insensitive match on the watched text; fires on the transition. | Timeline shows the line where the keyword was found. |
| News on a topic | Google News RSS search for your query, or any RSS/Atom feed you paste; new items by their unique ID; optional headline keyword filter. | Each alert lists the new headlines with links. |
| Competitor promotions | Diff of newly added text, promotion phrase detection (percent off, codes, free shipping, limited time), then a model extracts the offer, code and end date. | Alert text reads "New promotion: <offer> (code <code>)". |
| Launches and pre-orders | Launch phrases ("pre-order", "order now", "available now") or your own words, plus an optional plain-English rule a model checks. | Fires once when the page goes live. |
| Any plain-English condition | A model reads the page text against your sentence and returns met or not, with the deciding phrase as evidence. | The evidence phrase appears on the alert and in the notification. |
Managing alerts
| Capability | Mechanism | Verify |
|---|---|---|
| Create from a sentence or a link | Rules parse URLs, prices and percents first; a model fills the rest into a typed alert you review before saving. | The new-alert form opens pre-filled and labeled "read by AI" or "read by rules". |
| Edit, pause, resume, snooze, duplicate | Each action writes a timeline event; editing the page or type starts a fresh reading. | The alert timeline lists every change with its time. |
| Share | A public link per alert showing title, page link, reading, price chart and what fired, with a copy-this-alert button; owner email, notes and channels are never shown. Sharing turns off in one tap. | Open the share link in a private window. |
| Archive and Trash | Archive stops checks and keeps history. Trash keeps alerts restorable for 30 days, then erases them with their history. | Archive & Trash screen. |
| Bulk actions | Pause, resume, check now, archive or delete any selection. | Alerts list: select rows. |
| Import and export | camelcamelcamel CSV and JSON import; JSON export of all alerts. | Settings, Import and export. |
Delivery
| Capability | Mechanism | Verify |
|---|---|---|
| Email with before and after | Subject leads with the change and the number; preheader carries the second fact; was/now/low/high/target block; one primary button; one-tap snooze and pause links that work without signing in (signed per alert), plus edit, history and share links into the app; a useful-or-not vote; plain-text part; dark mode. | Settings: Send a test email. |
| Text message | Through the Epiphani account's verified phone and opt-in. | Settings: Test a text. |
| Slack, Discord, Microsoft Teams, webhooks | Payload shape picked from the URL; any other URL gets JSON with the alert, summary and detail. | Settings: Test the webhook. |
| Desktop notifications | The Chrome extension polls for new alerts every few minutes and raises a system notification. | Install the extension and press Check now on an alert. |
| Do not disturb hours and daily digest | Held alerts collect and go out as one email at your digest hour or when do not disturb hours end. After three alerts from one watch in a day, the rest wait for the digest. | Settings, Timing. |
| Failing-monitor notice | At the third consecutive failed read you get one notice in plain words; retries then space out (doubling up to daily) so a broken page does not flood your inbox. | Alert page shows the reason in red. |
For assistants and developers
| Capability | Mechanism | Verify |
|---|---|---|
| MCP server (Model Context Protocol) | Streamable HTTP JSON-RPC at /mcp: create_alert, create_alert_from_text, list_alerts, get_alert, update_alert, alert_action, recent_activity, find_used_sources. Bearer token from Settings. | GET /mcp lists the tools. |
| JSON API | OpenAPI 3.1 at /openapi.json. | /api/v1/health |
| Used-market source directory | More than 160 curated sources across 15 categories with authentication, warranty and return terms, and search links where the source offers one; each marked verified or not. | /api/v1/sources?q=rolex |
Runs on
Any modern browser on desktop and phone; the extension runs in Chrome and Chromium browsers.