Getting started
Key concepts
A few mental models that explain how DunOps works — and why every action waits for your approval before running.
Approval gates
Every mutating action — a deploy, a DNS change, a secret rotation — goes through an approval gate. DunOps composes a plan from your intent, shows it to you as a structured card, and waits. You approve and it runs. You dismiss and nothing happens.
This is the single most important property of DunOps: the AI agent plans, but a human decides. No matter how confident DunOps is about what you want, it will not execute a change to your infrastructure without an explicit click of Confirm.
Warning
Approval gates also act as a natural checkpoint for reviewing what DunOps understood from your intent. If the plan card shows something unexpected, dismiss it and rephrase — the gate exists precisely so you can catch misinterpretations before they reach production.
Plan cards
A plan card shows exactly what will change — the provider, the resource, the action, and any parameters. For DNS changes it shows a before/after diff. For deployments it shows the branch, commit, and target environment. You review the card and click Confirm or Dismiss.
{
provider: "vercel",
action: "create-deployment",
resource: "storefront",
params: { branch: "main", env: "production" },
diff: null, // shown for DNS and config changes
requiresApproval: true
}When diff is non-null (DNS record edits, environment variable updates, config file changes), the card renders a color-coded before/after view so you can see the exact bytes that will change. Nothing is elided or summarised — you see the full diff before committing.
Actions that show a diff
- DNS record create / update / delete
- Environment variable add / update
- Config file edits
- Secret rotation (masked values)
Actions that show parameters
- Deployments (branch + commit)
- Infrastructure provisioning
- Database migrations
- Scaling operations
Playbooks
A Playbook is a saved, named graph of steps. Once you've run a flow successfully in chat, save it as a Playbook. Next time, trigger it with a single message: Run "Deploy to prod". Playbooks support parameters, conditions, and multi-step sequences — all still behind the same approval gates.
Playbooks are most useful for flows you run regularly — weekly deploys, nightly database snapshots, on-call secret rotations. Once a Playbook is saved, any member of your workspace can trigger it without needing to know the underlying steps.
What a Playbook can contain
- Sequential steps (A → B → C)
- Conditional branches (if deploy fails, roll back)
- Parameterised inputs (branch name, environment)
- Multi-provider steps (GitHub + Vercel + DNS)
- Approval gates at each step or only at the start
- Notifications on success or failure
Save from chat
Audit trail
Every action — attempted, approved, or dismissed — is logged in an immutable audit trail. You can see who approved what, when, and with what parameters. The trail is visible in Settings → Audit log.
Audit entries include:
- Who — the workspace member who triggered or approved the action
- What — the provider, resource, and action type (e.g.
vercel.create-deployment) - When — UTC timestamp at plan creation and at approval/dismissal
- Parameters — the exact inputs passed to the provider (secret values are redacted)
- Outcome — success, failure, or dismissed before execution
Note