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

# Follow up on waiting eDesk tickets with AI

> Remind customers who never answered, then close the tickets that stay silent. Your agent works through the eDesk Waiting section on a schedule.

Source: https://cotlet.dev/integrations/edesk-api-mcp-server/follow-up-waiting-tickets

You asked the customer for a photo or an order number and moved the ticket to Waiting. Days later it is still there, buried between tickets that need you today.

Cotlet does it in your own eDesk account with list\_tickets, get\_ticket, reply\_to\_ticket and update\_ticket, 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 keeps a ticket in Waiting until a person or a rule moves it (checked 20 Oct 2026). Message Rules fire on message actions, not on the state of a ticket, so none follows up on a silent one. The Waiting section has no documented timer that reminds the customer or resolves the ticket.

## How you do it in eDesk today

1. An agent replies with the send status Waiting when the answer will not resolve the issue, which parks the ticket in the Waiting section.
2. To find the old ones, the agent opens Waiting in the Mailbox, or an admin builds a saved filter under the filter icon, with the condition Ticket Status Waiting and Last Message Item Type.
3. The agent opens each ticket, checks that the last message is the team's question and writes a reminder in the Reply box.
4. For tickets nobody will answer, the agent uses the status dropdown in the ticket, or ticks them in List view and picks Mark as Resolved.
5. A customer reply moves the ticket back to To Do by itself, but nothing moves a ticket that stays quiet.

## How to follow up on waiting eDesk tickets with AI

Prompt

```
Look at tickets in Waiting whose last message is older than 7 days. If the customer never answered my question, send a short reminder and keep it waiting. If I already reminded them once, mark the ticket resolved.
```

1. 01  
### Find the silent tickets  
list\_tickets with status waiting and updated\_before set to your cut-off date returns tickets whose latest message is older than that. Tickets with newer activity are left alone.
2. 02  
### Check who spoke last  
get\_ticket shows the thread. The agent continues only when the last item is a reply from your team. A customer message or a note from a colleague after it means a person is already on it, and the ticket is skipped.
3. 03  
### Count earlier reminders  
The same thread tells the agent whether a reminder already went out. One earlier reminder means the ticket is due to close, none means it is due for the first reminder.
4. 04  
### Remind once  
reply\_to\_ticket repeats the open question in one or two sentences and keeps send status waiting. The reply goes to the customer, so it asks for your OK until you switch confirmation off.
5. 05  
### Close the quiet ones  
update\_ticket sets status resolved on tickets that already had a reminder. A customer who writes later reopens the ticket in To Do, so closing loses nothing.

### What you get back

Example data

```
Waiting tickets older than 7 days: 14
Reminder sent 8, e.g. #48177 (asked for a photo on 11 Oct)
Resolved 4 (reminded on 10 Oct, no answer)
Skipped 2: a colleague replied after the question
```

### Other ways to ask

- Every Monday, remind customers on tickets that have waited 5 days and list the ones I should call.
- Resolve Waiting tickets of type Negative feedback only after I approve the list.
- List Waiting tickets older than 14 days with the customer, order number and what we asked, and change nothing.

## What eDesk allows, and what to know first

- A Resolved eDesk ticket reopens and goes back to To Do when the customer responds or sends another email.
- Mailbox Settings has a Default send message status, so replies go out as Resolved or Waiting unless the agent sets send\_status.
- Snoozed is a separate state: a snoozed ticket returns to the section it came from when the time is up, so it is not a Waiting ticket.
- eDesk lets you select tickets in List view and Mark as Resolved in bulk, and an admin can save a filter on Ticket Status and Last Message Item Type.
- eDesk defines Waiting as tickets that have been handled but are not ready to be closed, so closing one stays a decision you make in your prompt.

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

Sources: [eDesk Help: Ticket statuses in eDesk](https://support.edesk.com/mailboxtickethandling/ticket-statuses-in-edesk) · [eDesk Help: Replying to a ticket](https://support.edesk.com/mailboxtickethandling/respond) · [eDesk Help: Bulk edit tickets](https://support.edesk.com/mailboxtickethandling/bulk-edit-tickets) · [eDesk Help: Search and filters](https://support.edesk.com/mailboxtickethandling/search-and-filters) · [eDesk Help: Using Message Rules in eDesk](https://support.edesk.com/message-rules)

## Call list\_tickets from a script

curl

```
curl "https://cotlet.dev/api/v1/edesk/tickets?status=waiting&updated_before=2026-10-13" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"tickets": [
{
"ticket_id": 48199,
"subject": "Parcel has not arrived",
"status": "waiting",
"type": "Shipping query",
"channel": "Amazon UK - Brightside Home",
"customer": "Emma Wright",
"owner": null,
"tags": [],
"replies": 1,
"order_number": "026-3350917-1184029",
"last_updated_at": "2026-10-12 08:15:00"
},
{
"ticket_id": 48177,
"subject": "Item arrived with a cracked lid",
"status": "waiting",
"type": "Return request",
"channel": "eBay UK - Brightside Home",
"customer": "Tom Hale",
"owner": "Marco Silva",
"tags": [
"Returns"
],
"replies": 2,
"order_number": "15-11874-62103",
"last_updated_at": "2026-10-11 16:40:00"
}
],
"next_cursor": null
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is edesk\_read → list\_tickets. 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 follow up on waiting eDesk tickets with AI__
| Tool | Parameters |
| ----------------- | -------------------------------------------------------------------------------- |
| list\_tickets | status, query, type, channel\_id, owner\_id, tag, updated\_before, limit, cursor |
| get\_ticket | ticket\_id |
| reply\_to\_ticket | ticket\_id, body, send\_status |
| update\_ticket | ticket\_id, status, owner\_id, add\_tags, mention\_user\_id, snooze\_until |

[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

- [Triage new eDesk tickets with AI](https://cotlet.dev/integrations/edesk-api-mcp-server/triage-new-tickets.md)
- [Answer eDesk where-is-my-order tickets with AI](https://cotlet.dev/integrations/edesk-api-mcp-server/answer-where-is-my-order.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.
