1
Make ownership explicit
- Every automation needs an owner: who changes it, who gets alerts, who approves edits.
- Use a simple change process for automations touching critical systems.
- Document what inputs it needs and what it does when it fails.
2
Design for failure
- Handle retries safely and avoid duplicate actions.
- Log outcomes and errors in a place your team will actually check.
- Use least privilege and secrets management and avoid hardcoding tokens.
3
Keep it understandable
- Prefer small, composable steps over mega-flows.
- Name things clearly and add comments where it saves time later.
- Measure usefulness: remove automations that are noisy or rarely used.