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

# Triage new eDesk tickets with AI

> Assign an owner and tags to new eDesk tickets by what each customer wrote, with a note on why. Runs daily and leaves the unclear ones for you.

Source: https://cotlet.dev/integrations/edesk-api-mcp-server/triage-new-tickets

Marketplace messages land in New Tickets all night, and every morning someone opens each one to read it, pick an owner and add a tag before anybody can start answering.

Cotlet does it in your own eDesk account with list\_tickets, list\_users, list\_tags, get\_ticket, update\_ticket and add\_internal\_note, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can eDesk do this on its own?

eDesk triages by rule (checked 20 Oct 2026). Message Rules match conditions such as ticket language, ticket type, channel, order value or product title, then assign an owner, tags or a status. A rule reads those fields, not what the customer wrote. The REST API can set owner, tags and status too, but only on the Enterprise plan.

## How you do it in eDesk today

1. In the Mailbox, an agent opens New Tickets, the tickets nobody has responded to yet, and reads each one; Ticket information shows its type and the sidebar shows the channel and order.
2. From the ticket options the agent clicks Assign owner and picks a teammate, then Add tag. A ticket takes one owner at a time.
3. For a batch, the agent switches to List view, ticks the tickets and uses the bulk actions Assign owner, Add tags or Mark as Spam.
4. An admin with Message Rules access can automate part of it under Settings > Smart Tools > Message Rules, with actions such as Assign Tags and Assign ticket owner by Users (round robin).
5. Whatever no rule condition describes stays in New Tickets until a person reads it.

## How to triage new eDesk tickets with AI

Prompt

```
Go through new eDesk tickets. Assign returns to Marco and delivery questions to Priya, add the matching tag, and leave a one-line internal note with the reason. Mark obvious spam. Leave unclear ones for me.
```

1. 01  
### Read the queue once  
list\_tickets with status new returns every ticket nobody has answered. The agent follows next\_cursor to the end, so a long weekend is triaged as one batch, and skips tickets that already have an owner.
2. 02  
### Learn your people and tags  
list\_users and list\_tags run once per run. The agent assigns only to users who exist and tags only with names from your list, so it never invents a tag or an owner.
3. 03  
### Read each ticket  
get\_ticket gives the full message and the order panel. The agent matches your rule against what the customer wrote, for example "asks to send an item back" for returns, and notes the ticket type eDesk already set.
4. 04  
### Set owner and tag  
update\_ticket sets one owner and adds the tag. A ticket that is clearly spam gets status spam. Each call asks for your OK until you switch confirmation off for update\_ticket.
5. 05  
### Leave the reason  
add\_internal\_note writes one line, such as "Return request, cracked lid, assigned to Marco". Teammates see it in the thread, customers never do.
6. 06  
### Keep the doubtful ones  
A ticket that fits no rule, or mixes a return with a billing question, stays untouched in New Tickets and goes on your list with a short reason.

### What you get back

Example data

```
New tickets: 18
Assigned and tagged 13: 6 returns to Marco (Returns), 4 delivery questions to Priya (Delivery), 3 French tickets to Lena
Marked as spam 2
Left for you 3:
- #48230 asks about a return and an invoice
- #48233 is a one-word message
```

### Other ways to ask

- Every morning at 8, assign anything from the eBay channel to Marco and tag it eBay.
- Tag tickets that mention a damaged item with Damaged and mention Priya on each one.
- List new tickets with what you would assign and tag, and change nothing.
- Assign new tickets in French to Lena and the rest by round robin between Marco and Priya.

## What eDesk allows, and what to know first

- An eDesk ticket has one owner at a time, so a second assignment replaces the first.
- A user without permission to manage tags can still add them to tickets, so an Agent account can run this job.
- A Message Rule can carry the option Stop processing further rules if conditions are matched, so run the agent on what is still in New Tickets after the rules ran.
- A Resolved ticket reopens and goes back to To Do when the customer writes again, and a ticket marked Spam sits in the Spam section.
- eDesk ticket types such as Cancellation, Return request and Negative feedback are set by eDesk itself, so the agent can use them in your rule.

update\_ticket and add\_internal\_note ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: [eDesk Help: Assigning tickets in eDesk](https://support.edesk.com/mailboxtickethandling/assigning-tickets-in-edesk) · [eDesk Help: Bulk edit tickets](https://support.edesk.com/mailboxtickethandling/bulk-edit-tickets) · [eDesk Help: Message Rules](https://support.edesk.com/smarttools-rules/message-rules) · [eDesk Help: Common uses of Message Rules](https://support.edesk.com/common-uses-of-message-rules) · [eDesk Help: Ticket statuses in eDesk](https://support.edesk.com/mailboxtickethandling/ticket-statuses-in-edesk) · [eDesk Help: Role permissions](https://support.edesk.com/user-permissions/role-permissions-2)

## Call update\_ticket from a script

curl

```
curl -X PATCH https://cotlet.dev/api/v1/edesk/tickets/48212 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"owner_id":3105,"add_tags":["Returns"]}'
```

Example response

```
{
"ticket_id": 48212,
"status": "to_do",
"owner": {
"user_id": 3105,
"name": "Marco Silva"
},
"tags": [
"Returns"
],
"mentioned": [],
"snoozed_until": null
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is edesk\_write → update\_ticket. Example data.

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

## eDesk tools this automation uses

__Cotlet eDesk tools used to triage new eDesk tickets with AI__
| Tool | Parameters |
| ------------------- | -------------------------------------------------------------------------------- |
| list\_tickets | status, query, type, channel\_id, owner\_id, tag, updated\_before, limit, cursor |
| list\_users | query |
| list\_tags | none |
| get\_ticket | ticket\_id |
| update\_ticket | ticket\_id, status, owner\_id, add\_tags, mention\_user\_id, snooze\_until |
| add\_internal\_note | ticket\_id, body |

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

## Frequently asked questions

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

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

- [Answer eDesk where-is-my-order tickets with AI](https://cotlet.dev/integrations/edesk-api-mcp-server/answer-where-is-my-order.md)
- [Follow up on waiting eDesk tickets with AI](https://cotlet.dev/integrations/edesk-api-mcp-server/follow-up-waiting-tickets.md)
- [eDesk API and MCP server: every tool](https://cotlet.dev/integrations/edesk-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to eDesk.

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

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

---

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.
