Settingsbeginner

Recipe — Auto-close inactive Done conversations

Every day at 02:00, find Done conversations that have been untouched for 14 days and archive them. Keeps the inbox tidy without manual sweeping.

4 min read

Recipe — Auto-close inactive Done conversations

Every night, sweep the inbox: find Done conversations that have been untouched for 14 days, archive them. Keeps the active workspace tidy without manual review.

What this rule does

  • Trigger: Schedule — every day at 02:00.
  • Condition: Conversation is in Done status, with no activity for 14+ days.
  • Action: Archive the conversation (move to Archived status — Atender’s terminal “resolved” state).

A Done conversation is not terminal — a customer reply reopens it. Archive is terminal: archived conversations don’t reappear in Active queues even if the customer writes again. (A new message creates a new conversation linked to the contact.)

Build it

  • 1 — Trigger — Schedule — every day at 02:00 (workspace timezone)
  • 2 — Condition — conversation.status equals done
  • 3 — Condition (AND) — conversation.last_activity_at less than 14 days ago
  • 4 — Branch — Always
  • 5 — Action — Update statusarchived

Simulate first — really

This rule modifies many conversations at once on its first run. Always simulate before enabling.

  1. Open the rule and click Simulate Execution.
  2. Pick a scope: “All conversations from the last 90 days.”
  3. Run. Atender returns the list of conversations that would be archived on the next 02:00 run.
  4. Spot-check several. They should all be Done conversations with no recent activity. If anything in the list is actually still in progress (e.g., a status was set to Done by mistake), fix that conversation manually before enabling the rule.

If the simulation looks reasonable, enable the rule.

Variants

  • Different inactivity windows by tier. VIPs get 30 days, everyone else gets 14. Use multiple branches: If contact.customer_level = VIP AND last_activity > 30d → archive; Else if last_activity > 14d → archive.
  • Tag before archiving. If you want a clear audit trail, add a tag like auto-archived first: action 1 = Add tag auto-archived, action 2 = Update status archived.
  • Archive with reason. Some teams add a final internal note before archiving: action 1 = Add note “Auto-archived after 14 days inactive,” action 2 = Update status archived.
  • Different schedule. Weekends-only sweeping (Saturdays at 03:00) works for teams that want the inbox clean before Monday but don’t want surprise Monday-morning archive notifications.

Verify it worked

The morning after the rule’s first scheduled run, open the inbox filter status = archived AND last_status_change_at = today. The list should be the same as the simulation produced. Open a few and confirm they’re truly inactive Done conversations.

Troubleshooting

  • Symptom: Rule didn’t run at the scheduled time. Fix: Confirm the rule is enabled. Confirm the schedule’s timezone is correct (timezone issues are the #1 cause of “didn’t run when I expected”). Check Manual Executions — if there’s no entry for today, the trigger didn’t fire.

  • Symptom: Rule archived too much. Fix: Disable the rule immediately. Bulk-revert by filtering archived conversations and changing their status back. Then revisit the conditions — most often “less than 14 days ago” was wired backwards (should be: last_activity_at is older than 14 days, equivalent to less than (now - 14 days)).

  • Symptom: Rule archived a conversation that was waiting on a customer reply. Fix: Add a condition conversation.engagement_state not equals pending so anything still waiting on a customer doesn’t get archived. (See Conversation engagement states.)

See also

Tags

Recipe