SnapFlow Docs

Overview

Mission Control is the screen you land on after signing in — route /. It's a single, reshaping screen rather than a set of separate "new mission" and "results" pages: when nothing is happening it's a command center built around one big text box; the moment you submit a request it becomes a live view of the swarm working, then settles into a finished report.

/
S /acme-devops
Guarded
⌘K Search or type / for commands…
🕐
🔔
A
What should the swarm do?
Describe a goal in plain language — the agents plan, provision, and execute it.
e.g. Audit my S3 buckets for public access ⌘K
Audit all my S3 buckets for public access
Provision a staging Redis cluster on AWS
Run a cloud cost audit for the last 30 days
Set up GitHub Actions CI/CD for my Node.js app

Missions
Audit S3 buckets for public access
Verified
4 agents · completed 12m ago
Provision staging Redis cluster Needs approval
Rotate exposed API keys in vault Queued
◐ Recreated illustration — Mission Control in its idle state — the "What should the swarm do?" hero, example prompt chips, and the missions list.

Starting a mission

Type what you want done into the hero box, in plain English — for example "Audit my S3 buckets for public access." A few things about the box itself:

No cloud connected yet?

If you haven't linked a cloud provider, SnapFlow tells you up front: "Running in simulated mode — results are illustrative", with a link to connect one. You can still try full missions in this mode — nothing real is touched, and simulated missions cost fewer credits — but the results are estimates, not real infrastructure changes.

The Pre-Flight Manifest

Before anything is dispatched to the swarm, SnapFlow always shows a confirmation screen — the Pre-Flight Manifest — quoting your exact request back to you along with what's about to happen and why.

/ (modal)
Pre-Flight Manifest
"Provision a staging Redis cluster on AWS"
Elevated Guarded ~2–4 credits
⏸ Runs, then pauses at the gated step for your approval
✅ Credit balance sufficient
✅ No blocking security-rule violations
▶ 2 pre-existing posture findings (not blocking)
◐ Recreated illustration — The Pre-Flight Manifest modal, showing the verdict banner, chips, and checklist.

At the top, three chips summarize the request at a glance:

ChipWhat it tells you
CriticalityHow much damage the action could do: Routine Elevated Critical.
Permission modeThe autonomy level in force for this mission — Plan only, Guarded, Autonomous, or Unattended. See Approvals & permission modes.
Estimated costA rough credit range (e.g. "~1–2.5 credits"). A tooltip clarifies this is an estimate, not the final charge.

Below the chips, a wallet preview shows your credit balance before and after the mission (in red if it would go negative), then the single most important line — the verdict:

Verdict bannerButton label
🛡️ "Runs as analysis only — nothing will be changed"Run analysis — Plan-only mode, or the request was blocked from making changes.
⏸ "Runs, then pauses at the gated step for your approval"Execute — will pause for approval.
✅ "Runs unattended"Execute — nothing in this particular request needs a pause.

Underneath, you may see contextual notices: a 🛡️ note that a critical floor is engaged (certain actions always require approval, no matter your mode — see the critical floor), a ⚙️ note if the mode was automatically tightened for this specific mission (for example because the target is production), a ⚡ simulated-mode notice with a "Connect a provider" link, and 🔐 credential rows — if the request needs a new service's access, a "Generate & store" button provisions it into the encrypted vault right there, so you never type a password into a chat box.

A checklist below shows pass/fail items (✅/⚠️/❌) — credit balance, any blocking security-rule violations (marked BLOCKING), and a collapsible list of pre-existing, non-blocking posture findings about your cloud setup unrelated to this specific request.

Finally, two buttons: the primary action (label follows the verdict, e.g. "⚠️ Request approval" if a manager must sign off first, or "Blocked by security gate", disabled, if it can't proceed) and Cancel, which closes the manifest without submitting anything.

The missions list

Beneath the intent box, a running ledger of your missions, most relevant first. The lead card is always whichever mission is currently running, awaiting your decision, or — if neither — the most recent one, shown expanded with its full step-by-step ledger. Everything older collapses into an "Earlier" section as compact rows, color-tinted by outcome: green for verified success, red for failed or cancelled, orange for unverified or needing you.

Each row shows your original request, a one-line status sentence, and a status chip. Clicking a row opens the full Mission Run detail in a slide-over panel. Rows waiting on a decision keep Approve / Reject buttons right there in the list, so you never have to open a mission just to act on it.

Nothing lost, ever

If the list is empty, SnapFlow shows "No missions yet." — there is no separate archive; every mission you've ever run stays in this same list.

Watching a mission run

This is the canonical "what's happening / what happened" panel for one mission — open by clicking any row in the missions list, or automatically shown while a mission you just started is executing.

Mission header

A pulsing colored orb (or, once settled, a glyph — ✓ verified, ✕ failed, ▲ needs you) shows live state next to "Mission · [elapsed time]" and your original request text. A status chip sits on the right; see the status vocabulary below for what each one means. Once the mission is finished, a Dismiss button clears it from the active view (it stays in the missions list).

Stage stepper

A horizontal tracker — Plan → Execute (or "Approve" while gated) → Verify → Result — with each node showing ○ upcoming, ● active, ✓ done, ▲ needs approval, ✕ failed, or ◆ verifying. The connecting line fills in green as steps complete.

Step ledger

One row per agent/step: a colored status glyph, the agent's name (each agent has its own color), the plain-language instruction it was given, and a status word — Queued, Planning, Running, Done, Failed, or Skipped. Click any row to open that step's own Task detail page.

Live activity (the flight log)

A collapsible feed of everything the swarm is doing, in real time — this is the "flight log." Two view modes, toggled with buttons:

ModeWhat you see
Pretty (default)De-noised, human-readable lines; identical repeated lines collapse into "line ×N".
VerboseThe raw, unfiltered trace of every event.

Each line is tagged by lane — PLAN, LLM, TOOL, SYS — with its own color, alongside the acting agent's name/color and a timestamp.

About the old "/runs" link

Older bookmarked or shared links to /runs/<id> still work — they now redirect straight into this same Mission Run view with the right mission already open, so nothing is lost by following an old link.

When a mission needs your approval

If a step is gated, the Mission Run panel shows a Gate Evidence card in place of the live feed: the specific action, the target environment (tagged prod in red if it's production), why it was gated, which resources are touched, a Blast radius list of anything else that would be affected, the estimated cost, and a written rollback plan.

ButtonWhat happens
ApproveOpens a confirm dialog: "Approve this plan? This dispatches real work against your infrastructure and cannot be undone." Confirm with Confirm approve.
Reject & stop missionOpens a confirm dialog: "Reject this plan? This action cannot be undone. The proposed changes will not be applied, and the mission stops here." Confirm with Confirm reject.

Neither button commits on the first click — SnapFlow always asks you to confirm before dispatching real work or discarding a plan. For everything else about approvals — including approving from your phone via a shared link, and the four permission modes that decide what needs your sign-off in the first place — see Approvals & permission modes.

When a result can't be auto-verified

Occasionally a mission finishes but SnapFlow's automated grader can't confirm the outcome. You'll see: "Work completed, but automated verification is unavailable. Review the steps above and confirm." with two buttons — Verify & charge and Reject & refund — each behind its own confirm step ("Verify and charge?" / "Reject and refund?").

Cancelling a mission

While a mission is still running (and not already paused for approval), a Cancel mission button is available — it reads "Cancel & roll back" if the mission has already failed or is blocked. This opens a modal tagged Destructive:

  1. A warning explains that cancelling stops everything immediately, tears down any cloud resources the mission already created (so nothing is left half-built), and refunds any credits held in escrow.
  2. An optional Reason field, logged for later reference — placeholder text: "e.g. wedged on a missing permission".
  3. A required checkbox: "I understand this stops the mission and destroys any resources it created."
  4. Click Cancel & roll back (disabled until the checkbox is ticked) — or Keep running to back out.

Outcome, resources, and the mission report

Once resources exist, a card lists how many were provisioned along with a verification badge — Verified by proof, Verified, or Human-verified — and each resource's cloud service, ID, region, and an Open ↗ link straight into your cloud provider's console.

The Mission Report is the readable write-up: a colored verdict line (green = good outcome, orange = issues found), collapsible sections mirroring the agent's own write-up (tables, lists, and code preserved, with the first two sections open by default), and — if the agent's findings suggest follow-up work — a Recommended actions card. Each recommendation shows an impact chip (Read-only Changes infra Deletes resources) and a button (Plan it →, Fix this →, or Run again) that — after a confirm step quoting the exact new request — starts a brand-new mission through the same Pre-Flight Manifest. SnapFlow never re-runs completed work silently.

Once billed, a settlement line shows the outcome (charged / refunded / partial charge) with a "View receipt ↗" link to a formatted HTML receipt, and — right after settlement — a brief full-screen splash confirms whether credits were used or refunded, with a link to download the receipt. It dismisses itself after 30 seconds, or you can close it.

"How to fix" boxes for missing access

If a step fails because SnapFlow doesn't have the access it needs, an inline fix-it box appears right where the failure happened:

BoxWhat it shows
🔧 Cloud Permission HintLists the exact denied AWS/GCP/Azure actions, numbered fix steps, a copyable least-privilege policy snippet (with a Copy button), and a link straight into your cloud console.
⚠️ GitHub Permission HintExplains exactly which GitHub App permission is missing (e.g. "needs 'Administration' permission", "limited to selected repositories"), with numbered fix steps and links to Go to Integrations → and GitHub App settings ↗.

The first time a task hits a credential wall, a blocking "Manual Action Required" modal can also appear automatically, with the raw error and buttons for Open Cloud Connections or Dismiss (dismissing it is remembered, so it won't nag you again for the same task).

Notifications

Small toast pop-ups confirm things as they happen: your request was dispatched, a mode reminder ("Read-Only mode — mutating steps run as read-only analysis. Toggle to Write-Enabled to execute changes."), a simulated-mode reminder, a task failing, a rejection, or an approval expiring.

Pending decisions never hide

Anything waiting on you — an approval or a credential problem — also always appears as its own card directly above the missions list, with orange (approval) or red (blocked) left borders and inline Approve/Reject/Retry buttons, so you never have to go looking for it.

Sharing a result

From a finished task's detail page, click 🔗 Share result to generate a public, no-login link and copy it to your clipboard automatically (the button briefly turns into "✅ Link copied!"). Anyone with that link sees a clean, read-only summary card — the agent's name and status, a verdict line, key metrics, findings and warnings, a timestamp, and buttons to send it to 💬 Slack, 💼 Teams, or 🔗 Copy Link — plus a closing invitation to try SnapFlow themselves. It's meant for pasting into a chat channel, not for giving someone access to your workspace.

/r/[id]
💰Ledger — Cost Analyst
✅ Complete
Found $412/mo in reclaimable spend across 6 idle resources.
$412Reclaimable / mo
6Idle resources
2Warnings
Run at Aug 5, 2026 · 14:02
📤 Share this result
◐ Recreated illustration — A shareable, public result card — the page a Slack/Teams link opens to.

Task detail

Where a "mission" is the whole multi-step operation, a task is one step of it, run by one agent. Open a task by clicking its row in the step ledger, or from an approvals/notification link.

/tasks/[id]
S /acme-devops
Guarded
⌘K Search or type / for commands…
Provision staging Redis…
🕐
🔔
A
← Tasks
🏗Terraform Task #a91f…
Running
Created14:01:02
Duration1m 42s
Clientacme-devops
StatusExecuting
Step 2 of 5 · Executing — applying Terraform plan
Live Execution Logs
TOOL$ terraform plan -out=tfplan
SYS2 to add, 0 to change, 0 to destroy
TOOL$ terraform apply tfplan
▶ Diagnostics — Verifier History, Execution Trace
◐ Recreated illustration — A task detail page for a single agent step.

Top to bottom:

When a mission pauses on something only you can fix

Sometimes a mission hits a wall that is yours to clear: a cloud role missing a permission, a GitHub App whose access was revoked, an expired token, or a connected server that has gone offline. When that happens the mission pauses. It does not fail.

A pause is not a failure, and you are not charged for one

A paused mission is still live. Its credits stay held — nothing is charged and nothing is refunded, because the work is not over. It keeps its place and picks up from exactly where it stopped, so there is nothing to re-submit and no progress to redo.

The Mission Run panel shows a Paused — waiting on you card explaining what is blocking it, and where SnapFlow can be specific (AWS, GCP and Azure permission denials) a remediation guide with the exact permissions needed, a deep link into the provider console, and a ready-to-paste least-privilege policy.

You do not have to tell SnapFlow when you have fixed it. It re-checks by itself roughly every 30 seconds and resumes the moment the blocker clears — for whichever provider the block came from, not just AWS. If you would rather not wait, the card has an "I've fixed it — re-check now" button that answers immediately and tells you what is still outstanding if it is not clear yet.

Two things end a pause other than fixing it: you can Give up & roll back at any time, and a mission left paused for 24 hours stops on its own and settles, so credits are never held indefinitely by something nobody intends to resume.

When an agent runs out of time

Agents work to a time budget. An agent that reaches it mid-task has not failed — it has run out of clock partway through real work — so SnapFlow hands the remaining work to a fresh agent rather than marking the step failed.

The hand-over is not a blind retry. After each cycle a separate assessor looks at what was actually achieved and estimates how much is left, producing a concrete list of outstanding items that becomes the next agent's brief — so it continues the work instead of starting over, and can be handed to a different specialist if the work has changed shape. If the assessor judges a different kind of expertise is now needed, the mission re-points the step accordingly.

It stops when it stops making progress — not after a fixed number of tries

The mission keeps going while the estimated remaining work is shrinking, however many hand-overs that takes. If two assessments in a row show no improvement, it is not converging: rather than retrying forever or failing, it pauses and tells you what is left so you can decide. A mission only ever ends red if it genuinely failed or you cancelled it.

Status vocabulary

SnapFlow uses one consistent set of states across missions, steps, tasks, and connections. Learn these once and they apply everywhere:

GlyphMeaning
○ Idle (gray)Queued, not started, or paused.
● Run (blue)In progress / running.
▲ Warn (orange)Needs approval, waiting on you to clear a blocker, needs attention, or unverified.
◆ Audit (purple/teal)Being verified.
✓ OK (green)Verified, done, completed, or healthy.
✕ Danger (red)Failed, rejected, or cancelled.