How it works

The same four stages, every briefing.

Collect, analyze, brief, approve. Every officer runs this loop. Every finding lands with an evidence chain. Every action waits for your tap. That's the whole product.

01
Collect

The officers go get the data.

Every officer runs on its own schedule. Monday 8am, daily 7:30am, whenever — you decide when. At its scheduled time, the officer pulls from the sources you've wired up.

  • Pulls from first-party connectors (Slack threads, Notion, Linear, Stripe, GA, Search Console) and public sources (competitor sites, review platforms, social listening).
  • Each fetch is logged with a timestamp, source URL, and response hash — the evidence chain starts here.
  • If a source is rate-limited or unreachable, the officer retries with exponential backoff and marks the run "incomplete" rather than hallucinating around the gap.
  • Per-tenant isolated runtime — your data never shares a process with another customer.
02
Analyze

Compare against your baseline.

Raw data becomes a finding only when something changed versus what the officer knew last time. Every finding carries four required fields — source, time range, baseline, trigger reason.

  • The officer loads its MEMORY.md — last week's competitive snapshot, last month's keyword positions, last quarter's CAC.
  • Diffs today's data against the stored baseline. A new competitor feature, a ranking drop, a landing-page price change — all surface here.
  • Findings missing any of the four evidence fields are automatically downgraded to "suggestion" and never trigger an approval card.
  • Evidence coverage runs ≥ 95% across production deployments — we measure and report it.
03
Brief

Push a readable summary to your IM.

A briefing is a crisp 3–6-sentence writeup per finding — not a report to analyze. Drops straight into Slack, Discord, or Telegram, formatted to be skimmable in 30 seconds.

  • Structured as: headline · the finding in one sentence · why it matters · the proposed action · the evidence chain as footer.
  • Every source link is clickable — click through to the original Notion doc, the competitor's pricing page, the ranking dashboard.
  • Delivered to the channel you specify at onboarding. Threaded if you want; top-level if you don't.
  • No duplicate pings — the officer tracks which findings you've already seen and won't re-surface them without a genuine change.
04
Approve

One tap, then the officer executes.

Each briefing has three buttons: Approve, Ask, Archive. Approve → the officer runs the action immediately. Ask → the officer digs deeper and reports back. Archive → it disappears from your feed.

  • Approvals are a state machine: proposed → pending_approval → approved → executed (or failed, or expired after 48h).
  • Only an approved, non-expired token reaches the execution layer. The officer cannot take action without your explicit tap — by design, not by config.
  • Every approval is auditable: who tapped when, what evidence the tap was based on, what the officer did as a result.
  • If execution fails, the officer retries, then dead-letters to the ops team. You're told what happened, not left wondering.
Memory architecture

The structured state that makes stage 2 trustworthy.

Naive "agent with long context" setups remember everything and mean nothing — they drift into noise and rewrite themselves into mush. We built a structured memory layer instead. Two files, four sections, one discipline.

USER.md

The company brief every officer reads

Generated at onboarding from your inputs — company name, industry, target customer, competitors, channels, goals. Shared by every officer on your tenant, read at each session start. Hard-capped at 20,000 characters, enforced.

# Acme · company brief industry: restaurant SaaS competitors: SevenRooms, Tock, Resy goals: Q2 · +30% demo requests
MEMORY.md

Four named sections, per officer

  • Last observations — one line per competitor, keyword, or campaign. The baseline the next evidence chain compares against.
  • Run log — one line per run, with a 1–5 self-assessment score. How drift gets caught.
  • Durable facts — operator-curated truths that survive every dreaming cycle. Pin "Competitor X was acquired in Q3" or "don't monitor company Y" and it stays.
  • Bootstrap — first-boot rules so a freshly provisioned officer doesn't cold-start blind.
Dreaming

Consolidation between runs

An offline consolidation pass compresses the day's observations into durable knowledge — overnight, not mid-run. The agent itself only ever appends during a run. It never rewrites its own memory. That's how we prevent the self-corruption failure mode.

Tenant isolation

No cross-client memory

Each tenant runs on its own isolated runtime. MEMORY.md and USER.md live in a per-tenant workspace. Nothing your agents learn about your business informs any other customer's agents — enforced at the runtime boundary, not just policy.

Evidence-chain anchor

Memory is what makes findings trustworthy

Every finding's baseline field comes from MEMORY.md's last observation. No baseline → no approval card, auto-downgraded to suggestion. The memory layer is what lets stage 2 say "something changed" instead of "something exists."

The evidence chain

Four fields, no exceptions —
every finding carries them.

This is the contract. A finding that can't produce all four fields never reaches you as an approval card — it gets downgraded to a suggestion and logged for the ops team to investigate.

Source
Required
sevenrooms.com/features/waitlist

A URL, file ID, or API response hash you can click and verify. Never "my training data" or "general knowledge."

Time range
Required
2026-04-13 → 2026-04-20

The window the finding covers. So you know whether this is this-week news or last-quarter trend.

Baseline
Required
Feature didn't exist as of 2026-04-12

What the officer knew before. A finding without a baseline is just an observation.

Trigger reason
Required
Page changed. Diff: +waitlist module, +FAQ section, +demo CTA.

The specific change that lifted this above noise. Makes review fast — you don't have to compare yourself.

A real briefing

Here's what lands
in your Slack.

# growth-officer
CI
Competitor IntelAPP · Mon 8:02 AM
SevenRooms shipped a waitlist feature — we should have positioning ready by Thursday.
Their marketing page updated Tuesday 2026-04-16 with a new waitlist module, FAQ section, and demo CTA. No announcement post yet — they're warming it up before launch. This is a direct hit on our "no-wait-host" messaging. Recommend: publish our comparison post by Thursday, brief sales by Friday.
Source: sevenrooms.com/features/waitlist
Time range: 2026-04-13 → 2026-04-20
Baseline: Feature didn't exist as of 2026-04-12
Trigger: +waitlist module, +FAQ section, +demo CTA on their features page
Approve → draft comparison post in NotionAsk a follow-upArchive
JL
Jake8:07 AM
Approved
CI
Competitor IntelAPP · 8:07 AM
On it. Draft page "SevenRooms vs us — waitlist comparison" created in Notion · assigned to @jake · due Thursday. I'll check back Friday for status.
Good questions

A few things worth spelling out.

What if an officer gets something wrong?

You have three outs. Reject the briefing (doesn't execute, archived with reason). Ask a follow-up (officer digs in, adjusts baseline, tries again). Flag it to the ops team (we review the evidence chain, tune the officer's memory, and credit your account if it was our fault).

Can I change the schedule?

Yes. Every officer has a cron expression you edit from the Portal. Daily, weekly, hourly, or ad-hoc "run now" from the dashboard. Schedule changes take effect on the next run.

What happens during the first week?

Onboarding run: the officer builds its baseline. You'll get a summary briefing of the current state (not yet a diff). From week two onward, briefings are change-only.

Where do approvals live after they execute?

Every approval plus the action it triggered is stored in your tenant's run history, accessible from the Portal dashboard and exportable as JSON. 30-day retention after cancellation, then cryptographic purge.

Ready to see the loop on your business?

Paste a URL. First briefing lands in an hour. No 20-field form.

Start free trialSee pricing
How it works · Ceres