Skip to Content
RecipesBriefing & Change Watch

Morning Briefing & Change Watch

The things you check by hand every morning — industry news, market numbers, competitor prices — handled by an agent. The briefing arrives daily; change alerts arrive only when something changed.

Both live in one agent because they share the same raw material: while it’s sweeping the web each morning, it can also check what moved since yesterday.

What you get

  • A push notification at a fixed time each morning.
  • Open it and today’s must-knows are on one page.
  • If something you’re watching — a competitor’s price, say — moves meaningfully, you hear about it then, not the next morning.
  • If nothing moved, silence. “No change” every run makes notifications meaningless.

What to turn on

KindItemWhat it does here
ToolWeb SearchFind news and market moves
ToolHTTP RequestRead competitor prices and stock wording (enough for most pages)
ToolFile Read / File WriteStore yesterday’s values and compare against today’s
ToolCreate ScheduleLet the agent register its own morning run
ToolWeb BrowserOnly for pages behind a login or rendered by JavaScript

Nothing extra is needed for notifications. When the agent replies, that reply goes to the chat, and if it was running on its own, a push goes with it.

Step 1: Decide what to watch

Create the agent, then open SettingsSystem prompt:

Role: morning briefing. Daily reading: - Our industry (e.g. wholesale distribution, raw material prices) - FX and fuel prices, or anything else that moves our costs Watch for changes: - https://competitor-a.com/product/123 (list price) - https://competitor-b.com/product/456 (list price, sold-out wording) Every morning run: 1. Web-search yesterday's notable news in the areas above. 2. Check the price and sold-out wording on each watched page. 3. Read watch/last_seen.md and compare against the previous values. - If the file doesn't exist, save this run's values as the baseline and leave the change section empty. 4. Send the briefing as a single message: - One line for today (the single most important thing) - 3-5 lines of industry news (merge duplicates, attach source links) - Changes on watched pages (one line saying "no change" if none) 5. Overwrite watch/last_seen.md with this run's values. Keep it short enough to skim on a phone in a minute.

Step 2: Schedule the morning run

One line in the chat:

Register a schedule to send the briefing every day at 8 AM.

The agent creates its own schedule. Tap the approval card once. Times are computed in your account’s time zone.

Note — the Schedules tab in the UI is for recurring intervals (“every N hours”). “Once a day at a fixed time” is only supported by asking the agent, as above.

Note — to avoid many agents firing at the same instant, daily schedules may fire up to about 3 minutes after the requested time. Not landing on the exact minute every day is normal.

Step 3: Watch urgent things separately

If waiting until morning is too late for something, give it its own interval.

Check competitor prices every 3 hours separately, and tell me immediately only if they moved by 5% or more.

The threshold (“5% or more”) is the important part. Without one, rounding-level movements trigger alerts and you stop noticing the real ones.

An agent can hold at most 5 active schedules at once.

Step 4: Get ready for push

  1. Go to Settings → Notifications on the web.
  2. Confirm both the master push toggle and the Agent responses toggle are on.
  3. Install the mobile app and sign in — App Store for iPhone, Google Play for Android — and allow notifications on first launch.

Details in Notifications.

Step 5: Try it now

Don’t wait for tomorrow morning:

Build the briefing once now.

On the first run there’s nothing to compare against, so an empty change section is correct. Comparison starts on the second run.

Fix anything you don’t like in plain language: “collect the source links at the end,” “drop politics,” “cut it to 5 headlines.”

Tuning

  • Restrict sources — “search reuters.com and AP mainly” narrows the search domains. “Skip this site” works too.
  • Vary by weekday — “Mondays, lead with the weekend’s arc; Fridays, add a week-in-review.”
  • Suppress repeats — “don’t report the same change twice within 12 hours.”
  • Tone — “urgent for sharp price cuts, quiet for simple wording changes.”

Next steps


Advanced

Avoiding a false alarm on the first run

The “if the file doesn’t exist, save the baseline only” rule in the system prompt handles this. Without it, everything reads as “new” on the first run and the alerts flood in.

To set the baseline yourself, just say “save the current prices as the baseline” once in the chat.

Where previous values are stored

A file saved at a relative path like watch/last_seen.md lands in that agent’s private memory area, is readable at the same path on the next run, and is invisible to other agents on the same team.

The memory index file has a length limit, so accumulating data is safer under a subpath like watch/.

When notifications pile up

If you set quiet hours under Settings → Notifications, a change found outside those hours still runs the schedule — only the notification is held until the next allowed window. Execution is never blocked.

Once 3 or more unread responses for the same agent pile up, the server replaces the individual entries with a single grouped notification carrying the count.

When a page is noisy

  1. Narrow the extraction — target “the price number” instead of the whole page.
  2. Raise the threshold — 5% → 10%, once per 12 hours, and so on.
  3. Lengthen the interval — 3 hours → 6 hours merges the small wobbles naturally.
  4. Narrow the time window — check during business hours on weekdays instead of around the clock.

If the same schedule fails 3 times in a row (a site persistently blocking access, for instance), the system sends one failure notification. The schedule itself stays on and keeps retrying.

Cost notes

  • Shorter intervals mean more autonomous runs, and SU scale with them.
  • Web Browser costs more per call than HTTP Request. If a page needs no login, use HTTP request.
  • Telling it not to reply when nothing changed cuts the per-run response cost.
  • The default Standard tier is plenty for writing the briefing. Since this runs every day, moving it to Ultra piles up SU fast.