[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Answer waiting Freshchat chats from your canned responses

> Find Freshchat chats with no first reply, pick the canned response that answers each question and send it with a personal line.

Source: https://cotlet.dev/integrations/freshchat-api-mcp-server/answer-waiting-chats

The chats that wait longest for a first reply are the simple ones, and an agent finds them by scrolling the Inbox and typing the same shortcodes all day.

Cotlet does it in your own Freshchat account with list\_conversations, get\_conversation, list\_canned\_responses and send\_reply, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=freshchat) [All Freshchat tools](https://cotlet.dev/integrations/freshchat-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Freshchat do this on its own?

Freshchat offers Priority Inbox and canned responses that an agent picks by hand (checked 22 Oct 2026). Its REST API can post a message to a conversation, and the endpoints we checked list no canned responses. Nothing matches a saved reply to the question in a chat.

## How you do it in Freshchat today

1. An agent opens the Inbox and switches to Priority Inbox, which sorts conversations by who has waited longest and marks each one First Response Due, Response Due or No Response Due.
2. The agent opens a First Response Due chat, reads the question, then types "/" and the shortcode, or clicks the canned response icon below the reply box to search and preview a saved reply.
3. An Account Owner or Admin keeps the library under Admin > Canned Responses > New Canned Response: a title, a reply body with emojis or images, a shortcode and a folder.
4. Freshchat's own tip is to add a personal note at the start or end of a saved reply so it does not read as a template.
5. Choosing the right reply and adding the note is the slow part, and it repeats for every chat in the queue.

## How to answer waiting Freshchat chats from your canned responses

Prompt

```
Find Freshchat conversations still waiting for a first reply. Where one of our canned responses answers the question, send it with a short personal line, and list the rest for me.
```

1. 01  
### Collect the first-reply queue  
list\_conversations runs with waiting set to first\_response\_due, the "First Response Due" state, and follows next\_cursor to the end, oldest wait first, so the longest-waiting customers are answered before the rest.
2. 02  
### Read the whole chat  
get\_conversation brings the messages. A chat where an agent already replied since the list was read is skipped, and a chat about a refund, a complaint or an account problem is listed for you instead of answered.
3. 03  
### Match a saved reply  
list\_canned\_responses returns title, shortcode, folder and body for the personal and shared folders your account can see. The agent picks a response only when its body answers the question, and a chat with no fit is listed with the closest title.
4. 04  
### Add the personal line  
The agent adds the customer's first name and one sentence tied to their question, following the tip from Freshchat's own canned responses guide, so the reply does not read as a template.
5. 05  
### Send after a fresh read  
send\_reply posts the text to the customer. It sends text only, so a canned response that relies on an image goes on your list. Each send reaches a customer and waits for your OK by default.

### What you get back

Example data

```
Chats waiting for a first reply: 9
Replied 6 (shortcodes: pswd 3, invoice 2, hours 1)
Left for you 3:
- "I was charged twice" (billing)
- "The app crashes on login" (needs support)
- "Do you have a partner program?" (no saved reply)
```

### Other ways to ask

- Only reply to chats from the pricing page and use the pricing folder.
- Draft the replies in this chat, with the canned response each one comes from, and send nothing.
- Every hour in business hours, answer first-reply chats and tell me how many are left.

## What Freshchat allows, and what to know first

- Freshchat's three Priority Inbox states are First Response Due, Response Due and No Response Due.
- Freshchat canned responses live in personal folders, visible to their creator only, or shared folders that other agents also use.
- Freshchat's canned response guide names Admin and Account Owner as the roles that create canned responses for themselves and for their agents.
- Freshchat canned response bodies can hold emojis and images, and agents insert them with "/" and the shortcode or from the icon below the reply box.

send\_reply asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Freshchat Help: Priority Inbox](https://support.freshchat.com/support/solutions/articles/50000000090-priority-inbox-in-freshchat-) · [Freshchat Help: Canned Responses](https://support.freshchat.com/support/solutions/articles/50000000087-canned-responses) · [Freshchat API reference](https://developers.freshchat.com/api/)

## Call send\_reply from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/freshchat/conversations/e2a7c4b1-8d3f-4e59-b6a0-1f9c3d5e7a82/replies \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body":"Hi Priya, to change your password open Settings, choose Security and click Reset password. Tell me if the email does not arrive."}'
```

Example response

```
{
"message_id": "3f6a8c1d-7e2b-4d95-a0c4-6b1e9d2f5a78",
"conversation_id": "e2a7c4b1-8d3f-4e59-b6a0-1f9c3d5e7a82",
"status": "sent",
"sent_at": "2026-10-22T07:31:00Z"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is freshchat\_write → send\_reply. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/freshchat-api-mcp-server.md#automations)

## Freshchat tools this automation uses

__Cotlet Freshchat tools used to answer waiting Freshchat chats from your canned responses__
| Tool | Parameters |
| ----------------------- | ---------------------------------------------------- |
| list\_conversations | status, waiting, group\_id, agent\_id, limit, cursor |
| get\_conversation | conversation\_id |
| list\_canned\_responses | query |
| send\_reply | conversation\_id, body |

[All 11 Freshchat tools with descriptions](https://cotlet.dev/integrations/freshchat-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Freshchat to Cotlet?

Yes. You sign in to Freshchat yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Freshchat 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.

## More Freshchat automations

- [Assign new Freshchat conversations to the right team](https://cotlet.dev/integrations/freshchat-api-mcp-server/assign-new-conversations.md)
- [Resolve idle Freshchat conversations with a label](https://cotlet.dev/integrations/freshchat-api-mcp-server/resolve-idle-conversations.md)
- [Freshchat API and MCP server: every tool](https://cotlet.dev/integrations/freshchat-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Freshchat.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Freshchat.

[Sign up free](https://cotlet.dev/app/signup?app=freshchat)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
