Chatwoot automation · runs weekly
Snooze or resolve stale Chatwoot conversations
Conversations that nobody closed fill the open and pending lists, hide the ones that need an answer today, and make every report on open conversations look worse than it is.
Cotlet does it in your own Chatwoot account with list_conversations, get_conversation, add_private_note and set_conversation_status, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can Chatwoot do this on its own?
Chatwoot automation rules can resolve or snooze a conversation, but the events listed in its help center are Conversation created, Conversation updated, Message created and Conversation opened (checked 22 Oct 2026). None of them is a timer on inactivity. Macros can include a Resolve Conversation step, but an agent runs them one conversation at a time.
How you do it in Chatwoot today
- An agent opens the conversation list and uses the filter icon with Conversation Status and Last activity to find conversations that went quiet.
- The agent opens each one and reads the last messages to see who wrote last, the customer or the team.
- In the conversation actions panel, under Conversation Status, the agent picks Resolved or Snoozed, or leaves it Open or Pending.
- To record why, the agent adds a Private Note, so a colleague knows what happened if the customer returns.
- Automation rules can run the actions Snooze conversation and Resolve conversation, but only on events such as Conversation created, Conversation updated and Message created, so the weekly check stays manual.
How to snooze or resolve stale Chatwoot conversations
List Chatwoot conversations in pending or open with no activity for 7 days. Resolve the ones where the customer confirmed the fix, snooze the ones waiting on a date, and leave a private note on each saying why. Do not touch conversations where the customer wrote last. - 01
Collect the quiet ones
list_conversations runs for status pending and then open, and follows the pages until has_more is false. The agent keeps those whose last_activity_at is older than your window and leaves the rest.
- 02
Check who wrote last
get_conversation brings the thread. A conversation where the customer wrote last is never closed, because someone owes that customer an answer. It goes on your list.
- 03
Decide resolve or snooze
A customer who confirmed the fix, or a thread whose last team message asked for nothing, is resolved. A thread that waits on a date you gave is snoozed until that date.
- 04
Leave the reason
add_private_note writes one line on why the conversation was closed or snoozed. It stays in the thread for whoever opens it next, and each note waits for your OK by default.
- 05
Change the status
set_conversation_status sets resolved or snoozed. It does not ask for your OK, because setting the status to open again undoes it with one call.
What you get back
Quiet conversations found: 15
Resolved 9 (customer confirmed, e.g. #1790 Tom Becker: "that fixed it")
Snoozed 3 until their date (waiting on the November invoice run)
Left for you 3 (customer wrote last) Other ways to ask
- Every Friday, resolve pending conversations in the Support email inbox with no activity for 14 days and list them.
- Snooze every conversation labeled waiting-on-customer until the customer replies.
- List the quiet conversations as a table with who wrote last, and change nothing.
- Resolve conversations labeled spam without a note.
What Chatwoot allows, and what to know first
- Chatwoot has four statuses, Open, Pending, Resolved and Snoozed, set in the conversation actions panel under Conversation Status.
- A snooze without a time lasts until the contact sends their next message, and a reply from the contact always reopens a snoozed conversation, even before the time you set.
- The Chatwoot automation event Conversation opened fires when a previously snoozed, resolved or pending conversation is opened again, so a rule built on it runs for every reopening.
- In Chatwoot, assignee and status are independent, so a resolved conversation keeps its assignee.
add_private_note asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.
Sources: Chatwoot Help: Lesson 3 (a), mastering core features · Chatwoot Help: How to use automation · Chatwoot Help: How to use conversation filters · Chatwoot developers: Toggle Status
Call set_conversation_status from a script
curl -X PUT https://cotlet.dev/api/v1/chatwoot/conversations/1790/status \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"snoozed","snoozed_until":"2026-11-02T09:00:00Z"}' {
"conversation_id": 1790,
"status": "snoozed",
"snoozed_until": "2026-11-02T09:00:00Z"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is chatwoot_write → set_conversation_status. Example data.
Schedule it in n8n, Make, Zapier or cronChatwoot tools this automation uses
| Tool | Parameters |
|---|---|
| list_conversations | status, assignee, inbox_id, label, contact_id, query, page |
| get_conversation | conversation_id |
| add_private_note | conversation_id, body |
| set_conversation_status | conversation_id, status, snoozed_until |
Frequently asked questions
Is it safe to connect Chatwoot to Cotlet?
Yes. You sign in to Chatwoot yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Chatwoot once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.
Give your agent access to Chatwoot.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Chatwoot.