Chatwoot automation · runs daily
Reply to Chatwoot questions from canned responses
Half of the open conversations ask the same five questions, and an agent still opens each one, types a slash, picks the canned response and edits the greeting before it goes out.
Cotlet does it in your own Chatwoot account with list_canned_responses, list_conversations, get_conversation and send_reply, 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 inserts a canned response only when an agent picks it in a conversation (checked 22 Oct 2026). Automation rules can run the action Send a message on events such as Conversation created, but they send fixed text and do not choose a response by what the customer asked. The Application API can create a message, but it needs a token and code you host.
How you do it in Chatwoot today
- An admin or any agent creates a canned response under Settings > Canned Responses > Add canned response, with a Short Code of at least 2 characters and the Content.
- In a conversation, the agent types / in the reply editor, picks a response from the list or types its short code, and presses Enter to fill the reply box.
- Variables such as {{contact.first_name}} and {{agent.name}} are replaced when the response is inserted. A missing value becomes blank, so the agent checks the greeting.
- The agent edits the text if needed, attaches any image by hand, because inline images are not part of a canned response, and clicks Send.
- This repeats for every common question, and it is easy to miss a conversation that is open but waiting on us.
How to reply to Chatwoot questions from canned responses
Find open Chatwoot conversations where the customer wrote last and the question matches one of my canned responses. Send that response with the customer's first name filled in. If nothing fits, leave the conversation for me. - 01
Load your responses
list_canned_responses runs once and returns each short code with its content. Your agent matches questions only to responses that exist, and never writes an answer your team did not approve.
- 02
Find conversations that wait on you
list_conversations runs with status open. The agent keeps those where last_message.sender is contact, so a conversation where your team already answered is left alone.
- 03
Match by meaning
get_conversation brings the thread. A question that clearly matches one response goes forward. Refunds, complaints and anything not in your canned responses are listed for you.
- 04
Fill in the variables
send_reply sends the text as written, so the agent replaces {{contact.first_name}} and similar variables itself from the conversation. When the first name is missing, the greeting is dropped instead of sent blank.
- 05
Send once
send_reply goes out once per conversation through the channel of its inbox. Each reply waits for your OK until you switch confirmation off for send_reply.
- 06
Stop on new activity
Right before sending, the agent reads the conversation again. If a colleague replied in the meantime, the agent skips it, so the customer never gets two answers.
What you get back
Open conversations waiting on us: 17
Replied 9, e.g. #1851 Priya Nair: password reset steps (reset-password)
Left for you 8:
- #1853 refund request
- #1856 no canned response fits
- #1859 customer is angry and wrote three times Other ways to ask
- Only check the Website chat inbox and reply to anything older than 30 minutes that matches a canned response.
- Every evening, list the replies you would send and wait for my OK on each.
- Reply only with the response whose short code starts with faq-, and tell me which short codes were used.
What Chatwoot allows, and what to know first
- A Chatwoot short code needs at least 2 characters and must be unique in the account.
- Any agent or admin can create canned responses, and all of them are available to every agent in the account.
- Chatwoot canned response variables cover the contact (id, name, first name, last name, email, phone), the agent, the inbox, the conversation and custom attributes.
- A missing variable value is replaced with a blank, so a customer without a name would get a greeting with a gap.
- Formatting differs by channel: website chat and email show rich text, while SMS shows plain text.
send_reply asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.
Sources: Chatwoot Help: Canned responses · Chatwoot Help: How to use automation · Chatwoot developers: Create New Message
Call send_reply from a script
curl -X POST https://cotlet.dev/api/v1/chatwoot/conversations/1851/replies \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"body":"Hi Priya, you can reset your password from the sign-in page: choose Forgot your password and follow the link in the email. Tell us if it does not arrive."}' {
"message_id": 90412,
"conversation_id": 1851,
"private": false,
"status": "sent",
"created_at": "2026-10-22T07:20:00Z"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is chatwoot_write → send_reply. Example data.
Schedule it in n8n, Make, Zapier or cronChatwoot tools this automation uses
| Tool | Parameters |
|---|---|
| list_canned_responses | none |
| list_conversations | status, assignee, inbox_id, label, contact_id, query, page |
| get_conversation | conversation_id |
| send_reply | conversation_id, body |
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.