[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)

# Assign new Freshchat conversations to the right team

> Read each new Freshchat conversation, send it to the group that fits what the customer asks, and keep unclear ones for yourself. Runs daily.

Source: https://cotlet.dev/integrations/freshchat-api-mcp-server/assign-new-conversations

Chats pile up in the Freshchat Inbox overnight, and every morning an admin reads the first message of each one before picking an agent or a group.

Cotlet does it in your own Freshchat account with list\_conversations, list\_groups, list\_agents and assign\_conversation, 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 assigns by Assignment Rules, IntelliAssign load balancing and Topics routing (checked 22 Oct 2026). Its REST API can set the assigned agent or group on a conversation, and no official MCP server exists. The gap is judgement: nothing assigns by what the customer actually asks.

## How you do it in Freshchat today

1. An Account Owner or Admin opens the Inbox, reads the first message of each new conversation and assigns it by hand to an agent or a group, for example a technical question to a developer and a demo request to the sales team.
2. To move many at once, the admin ticks the checkbox next to several conversations and assigns them together to one agent or group.
3. For fixed patterns, the admin builds a rule under Admin > Assignment Rules > Add new rule, with an If block (message content, URL, message source, visitor attributes such as country or email, business hours, browser language) and a Then block that assigns an agent or a group.
4. Assignment Rules run before IntelliAssign, which only takes the messages that no rule matched, and a rule also wins over a Topics-to-group mapping.
5. A rule reads words and fields, not meaning, so a billing question phrased in its own way falls through to IntelliAssign or waits for someone to notice.

## How to assign new Freshchat conversations to the right team

Prompt

```
List the new, unassigned Freshchat conversations. Send billing questions to the Billing group, bugs to Support, and leave anything unclear for me with a one-line reason.
```

1. 01  
### Read the unassigned queue  
Your agent calls list\_conversations with status new and follows next\_cursor until it comes back empty, so a long overnight backlog is judged as one batch. The account must be an Admin or Account Owner, because assigning is limited to those roles; for any other role the agent stops and says so.
2. 02  
### Learn the teams  
list\_groups and list\_agents give the IDs the next call needs. list\_agents also returns each agent's status, and the agent leaves out anyone whose status is not "Active on IntelliAssign" when you asked for available people only.
3. 03  
### Check the rules first  
list\_conversations on the same queue is paired with the rules you already keep. A conversation that an Assignment Rule would catch is still assigned by the rule, so the agent only handles what reached the queue unassigned.
4. 04  
### Match meaning to a team  
Each conversation is matched to a group by what the customer asks, using the routing in your prompt. The agent quotes the sentence it relied on, and a message that fits no group stays unassigned with a one-line reason.
5. 05  
### Assign, after a fresh read  
assign\_conversation sets the group or agent. Right before the call the agent reads the conversation again, and one that a rule or a colleague already assigned is skipped. Assigning reaches no customer and is undone with one call, so it does not wait for your OK.

### What you get back

Example data

```
Unassigned conversations: 17
Assigned 12 (Billing 7, Support 5)
Left for you 5:
- "Hi, quick question about my account" (no topic)
- "Can you call me?" (needs a person)
Already assigned by a rule: 0
```

### Other ways to ask

- Every morning at 8, assign new chats from the pricing page to the Sales group and list the rest for me.
- Spread this week's new conversations evenly across the agents who are active, and do not touch the Billing group.
- Show me the unassigned queue grouped by topic, but do not assign anything yet.

## What Freshchat allows, and what to know first

- Freshchat limits assigning to the Account Owner and Admin roles; the Agent role engages in conversations, opens the People section and edits its own profile.
- Freshchat Assignment Rules run before IntelliAssign, and when a message matches several rules the highest rule on the page wins.
- Freshchat's default agent statuses are "Active on IntelliAssign" and "Unavailable", an Admin can add up to 25 custom ones, and for IntelliAssign any status except the first counts as inactive.
- Freshchat lets an Admin assign several conversations in one go by ticking their checkboxes, to agents or to groups.

assign\_conversation changes only your own Freshchat data and reach no one else, so it runs without asking first.

Sources: [Freshchat Help: Assign conversations to agents](https://support.freshchat.com/support/solutions/articles/50000000076-assign-conversations-to-agents) · [Freshchat Help: What are Assignment Rules](https://support.freshchat.com/support/solutions/articles/50000000077-what-are-assignment-rules-in-freshchat-) · [Freshchat Help: Setting up agent status](https://support.freshchat.com/support/solutions/articles/50000003151-setting-up-agent-status-in-freshchat-) · [Freshchat Help: Roles and permissions](https://support.freshchat.com/support/solutions/articles/50000000105-roles-and-permissions)

## Call assign\_conversation from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/freshchat/conversations/7c1e5a90-3b2d-4f68-a4c1-9e0d2b6f8a31/assign \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"group_id":"4d5e6f70-1a2b-4c3d-8e9f-0a1b2c3d4e5f"}'
```

Example response

```
{
"conversation_id": "7c1e5a90-3b2d-4f68-a4c1-9e0d2b6f8a31",
"status": "assigned",
"assigned_group": {
"group_id": "4d5e6f70-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
"name": "Billing"
},
"assigned_agent": null
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is freshchat\_write → assign\_conversation. 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 assign new Freshchat conversations to the right team__
| Tool | Parameters |
| -------------------- | ---------------------------------------------------- |
| list\_conversations | status, waiting, group\_id, agent\_id, limit, cursor |
| list\_groups | none |
| list\_agents | group\_id |
| assign\_conversation | conversation\_id, agent\_id, group\_id |

[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

- [Resolve idle Freshchat conversations with a label](https://cotlet.dev/integrations/freshchat-api-mcp-server/resolve-idle-conversations.md)
- [Answer waiting Freshchat chats from your canned responses](https://cotlet.dev/integrations/freshchat-api-mcp-server/answer-waiting-chats.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.
