Playbooks
Node types
Every node in a playbook canvas represents one unit of work. Here's the full reference.
Trigger
Every playbook has exactly one Trigger. It defines how the playbook starts.
| Trigger kind | How to start |
|---|---|
| Chat | Say Run [playbook name] in any chat thread |
| Manual | Click Run in the Playbooks list |
| Schedule | Set a cron expression in the Trigger node properties |
Note
Action
An Action node runs one capability step — a deploy, DNS write, log read, secret rotation, or any other operation DunOps supports. Configure it by choosing the provider, then the capability key.
{
type: "action",
provider: "vercel",
capability: "vercel.create-deployment",
params: {
project: "{{inputs.project}}", // parameter reference
branch: "{{inputs.branch}}"
}
}Condition
A Condition node evaluates an expression against a previous step's output and routes to the true or false branch. Use it to retry on failure, skip steps for certain environments, or fan out to different providers.
{{ steps.deploy.status === "succeeded" }}Wait
A Wait node pauses the playbook until either a condition is met (polling a step output) or a timeout expires. Use it after a deploy to wait until the deployment is healthy before continuing.
Approval
An explicit Approval node surfaces a confirm card in chat — even if all other mutations in the playbook are auto-approved. Use it for high-stakes steps like a production database migration.
Tip