Naming workflows predictably
A workflow name states its subject, its trigger, and its outcome. Anyone scanning the workflow list then reads intent without opening anything. Use a single fixed pattern and apply it to every workflow in the workspace:Deals - Stage won -> Slack alert. They already know it watches the Deals object, fires when a deal reaches a won stage, and posts to Slack. That is enough to decide whether it is the workflow they are looking for.
Documenting owner and intent
The description carries the operating facts the name has no room for. It is the first thing a future maintainer reads when a workflow misbehaves. Treat it as the workflow’s runbook entry rather than a label, and include every field in this set:
A complete description for the deal-alert workflow reads: owner Priya Sharma; purpose notify the deal team the moment a deal is won; trigger deal stage changes to Won; ~120 runs per month; one Slack message per run through a third-party block, no credit-bearing AI blocks; rollback set the workflow to Off and re-publish.
That single paragraph lets a teammate who has never seen the workflow disable it correctly during an incident, even if Priya is on holiday.
Granting the least access that works
Three separate permission systems sit behind every workflow. Governance means setting each to the minimum that still lets the workflow run. The detail lives in Permissions & workflow access. The governance rule is short. Set workspace access to the lowest level anyone should have, usually Read only. Then grant Read and write or Full access upward to the specific people who maintain automations. This matters because of one non-obvious rule. More specific settings can only grant additional access, never reduce it. So an individual “No access” assignment does nothing if the workspace default is already Full.Reviewing weekly, then monthly
A governance review is a recurring read of the run history that catches drift before it becomes an incident. It runs on a fixed cadence rather than only after something breaks. I check this weekly for the first month after a workflow launches, then settle into a lighter monthly pass once it is stable. The first-month weekly review looks for problems that show up early and cheaply:- Failed runs, traced in the workflow’s run history to the first block that produced a wrong value.
- Credit usage, compared against the expected per-run cost recorded in the description.
- Duplicate records or tasks, the classic sign of a self-triggering workflow or a missing dedupe guard.
- Actual run volume against the expected monthly volume in the description.
- The named owner is still at the company and still owns it.
- Every attribute the workflow reads or writes still exists and still has the expected type.
- Downstream app credentials, such as a connected Slack workspace, are still authorized.
- No run has been left paused and forgotten.
stage attribute was renamed last week. The trigger now matches nothing. That is a silent failure the run count exposes immediately, because the expected ~120 runs dropped to zero.
Credit usage is one of the most important review signals. The full per-block cost table and plan allowances live in one place: Credits & pricing explained. Baseline each workflow’s expected spend against that page rather than guessing.
See also
- Permissions & workflow access
- Runs, debugging & publishing
- Production runbook
- Credits & pricing explained
- Overview of workflows
Sources: Overview of workflows, Manage access to objects, and Manage workspace and seat credits (Attio Help Center). Last reviewed against the Attio Help Center, June 2026.