<!-- canonical: https://opsblu.com/docs/recipes/morning-agent-check/ -->
# Morning agent check: "anything new since yesterday?"

Source: https://opsblu.com/docs/recipes/morning-agent-check/

**Goal.** A one-prompt daily briefing: what changed in your saved territories in the last 24 hours, grouped by change type, with no credits spent.

**For:** Anyone with an agent connected via MCP (https://opsblu.com/agents)

**MCP tools used:** `get_changes_since`, `territory_stats`

**Cost.** Free. The briefing lists names and signals only. Credits are spent only if you ask the agent to open records (3 or 10 each).

## REST walkthrough

### 1. The REST call behind it

```bash
curl -s -H "Authorization: Bearer ob_live_YOUR_KEY" \
  "https://opsblu.com/v1/changes?state=oregon&city=portland&since=$(date -u -d '24 hours ago' +%FT%TZ)" \
  | jq 'group_by(.type) | map({type: .[0].type, count: length, sample: [.[0:3][].business.name]})'
```

### 2. Save it as a scheduled prompt

In Claude or ChatGPT, save the agent prompt below as a scheduled task or a project instruction. In Claude Code, add it to a cron-style routine.

## Agent prompt

Paste into Claude, ChatGPT or Cursor with the OpsBlu MCP server connected (`https://opsblu.com/mcp`).

```text
Good morning. Using OpsBlu get_changes_since with since = 24 hours ago for each of my saved territories, tell me: how many new businesses, how many sites launched, how many platform or pixel changes, how many closures. For each group give up to 3 example names with their signals. Flag anything with ads_no_tracking = true. End with the total credit cost if I opened everything. Do not open any records.
```

## Example reply

```text
Portland metro, last 24h: 4 new businesses (2 restaurants, 1 salon, 1 HVAC contractor; 3 have no website), 2 sites launched (Squarespace, WordPress), 1 pixel added (a dentist added Meta Pixel, still no server-side tracking → ads_no_tracking), 0 closures. Opening all 7 would cost 70 credits ($0.70).
```

## Gotchas

- Use a stable `since` (yesterday 08:00 local) rather than "now minus 24h" if you want no gaps or overlaps between runs.
- Spend caps protect you: set a per-key cap on the agent's key in /app/api-keys so a runaway loop cannot drain the balance.

More recipes: https://opsblu.com/docs/recipes/ · API reference: https://opsblu.com/docs/api · MCP setup: https://opsblu.com/docs/mcp · Pricing: https://opsblu.com/pricing
