Enforce Trello Card Lifecycle with Butler Rules to Prevent Manual Drift
Use Butler to make Done deterministic. Configure a rule that labels cards on entry to Done, records completion, and schedules archival, then verify via the activity log and test board.
08 Aug 2025, 04:21 UTC

Problem: Done cards stay messy without enforcement
Teams move cards into a Done list and then forget to label them, add completion dates, or archive them. The result is a Done list that grows indefinitely and reports become unreliable. A Butler rule can make the transition deterministic: when a card enters Done, the board applies the same completion metadata and schedules cleanup automatically.
Butler is Trello's native board automation. A rule pairs a trigger with one or more actions. Triggers include card moved to a list, due date arrives, label added. Actions include add label, add comment, move card, archive card, and schedule actions with a delay.
Desired outcome
When a card is moved into the Done list, the board automatically:
- Adds a Completed label for reporting consistency.
- Records a completion timestamp in the card description or comments.
- Schedules archival after a fixed retention window so the list stays clean.
The rule should be idempotent and not re-fire on cards already processed.
Prerequisites
Board access with permission to create automations. Butler rules are configured per board via the Automation or Butler menu. Workspace-level or advanced Butler capabilities can require a paid plan and admin permissions. Check your plan for available triggers and actions before building.
Create a test board that mirrors production lists. Use the same list names and labels you intend to enforce. This limits risk while you validate trigger and action behavior.
Configure the lifecycle rule
Open the board and select Automation > Rules > Create Rule. Choose a custom rule rather than a template so you control guard conditions.
Trigger: Card moved into list. Set List to {Done List}. Add a guard to avoid loops, for example “only if label Completed is not present”. Guard conditions prevent a rule from re-triggering itself when its own actions move or modify the card.
Actions in order:
- Add label: {Completed Label}. Use an existing label color that your team recognizes for reporting.
- Add comment: “Completed on {{date}} by {{user}}”. The comment provides an auditable timestamp without editing the description.
- Archive card after 14 days. This is a delayed action. The card remains visible for review but is automatically archived after the retention window.
Example rule summary you can paste into Butler’s natural language builder:
when a card is moved into list Done and label Completed is not present, add label Completed to the card, add comment "Completed on {{date}} by {{user}}" to the card, archive the card after 14 daysSave the rule and name it clearly, e.g., "Done lifecycle: label + archive". Avoid naming that collides with existing rules.
Expected checks
Verification is manual in the UI. Butler does not provide a CLI.
Move a test card into {Done List} from an earlier list. Check the card within a few minutes:
- The {Completed Label} is present.
- A comment with the completion date and user is added.
- The Butler activity log shows the rule execution. Open Automation > Butler > Activity to confirm the rule name, trigger time, and actions taken.
Inspect card history for unintended changes. If you scheduled archival, confirm the card is not archived immediately but has a pending delayed action. The activity log lists scheduled actions separately from immediate actions.
Temporarily disable the rule and move another test card to verify no further automated changes occur. Re-enable when behavior matches expectations.
Recovery options
Rules change board state. Recovery is available before permanent edits.
Disable the rule from Automation > Rules without deleting it. Disabling stops future executions while preserving configuration for review.
Manually revert unintended card changes. Remove the label, delete the comment, or unarchive a card if it was archived prematurely. Card history shows who made each change.
Review the Butler log to identify which cards were affected and when. Use the log to scope manual cleanup if a rule fired too broadly.
Limitations and practical checks
Available triggers, actions, and limits vary by Trello plan and can change over time. Validate rule behavior in a test board first.
Rules can create loops if an action re-triggers the same rule. Use guard conditions such as “label is not present” or separate source and target lists.
Delayed actions depend on Butler’s scheduler. Expect execution within the stated delay, not instantly. Check the activity log for scheduled items rather than assuming immediate archival.
Keep a single source of truth for completion. If other automations also add or remove the Completed label, the guard condition may be bypassed. Audit existing rules before adding a new lifecycle rule.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.