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

# Draft FreeScout replies to waiting customers

> Save a draft reply for each FreeScout conversation where the customer wrote last, read with its internal notes. You review and send.

Source: https://cotlet.dev/integrations/freescout-api-mcp-server/draft-replies-to-waiting-customers

Every morning your FreeScout mailbox holds conversations where the customer wrote last, and each one means opening the thread, reading the notes a teammate left, and typing the same kind of answer again.

Cotlet does it in your own FreeScout account with list\_conversations, get\_conversation and reply\_to\_customer, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can FreeScout do this on its own?

FreeScout offers an AI Integration module that can draft a reply with AI inside FreeScout (checked 23 Oct 2026), and the REST API of the paid API & Webhooks module can add a thread to a conversation. Neither lets an outside agent read your queue, check the internal notes and write the drafts under your rules.

## How you do it in FreeScout today

1. An agent opens the mailbox and opens each conversation in turn to see who wrote last.
2. Inside the conversation, the agent presses Reply (key R) and writes the answer. The Send dropdown sets what happens after sending, for example which status the conversation gets.
3. An unfinished answer stays as a draft, and the agent comes back to it with Edit Draft (key E) in the open conversation.
4. Anything that needs a teammate gets Assign (key A) or Add Note (key N) instead of a reply.
5. The routine repeats for every conversation and every shift, and a customer whose thread sits below a long list waits longest.

## How to draft FreeScout replies to waiting customers

Prompt

```
Go through the active conversations in my Support mailbox where the customer wrote last. Read the thread and any notes, and save a draft reply for each one you can answer. Leave refunds and legal questions for me.
```

1. 01  
### Find whose turn it is  
Your agent reads the active conversations of one mailbox with list\_conversations and follows has\_more to the last page. A conversation is a candidate when last\_reply\_from is customer, so threads where a teammate already answered are skipped.
2. 02  
### Read the whole thread  
For each candidate, get\_conversation returns the threads oldest first, with internal notes marked as notes. The agent reads the notes too, so a draft never contradicts what a teammate already found out.
3. 03  
### Keep out what needs you  
Refunds, legal questions, complaints and anything the notes and your instructions do not answer are not drafted. They go on a list for you with a one-line reason.
4. 04  
### Save the draft  
reply\_to\_customer runs with draft set to true, so the text lands in FreeScout as a draft and nothing is sent to the customer. You open it, change a word if you like and press send yourself.
5. 05  
### Check before saving  
Right before each draft, the agent reads the conversation again. If a teammate replied in the meantime, it skips the conversation, so two people never answer the same customer.

### What you get back

Example data

```
Active in Support: 14, customer wrote last: 6
Drafts saved 4 (e.g. "Invoice shows the wrong VAT number", Lena Ortiz)
Left for you 2:
- "Cancel and refund my annual plan" (refund)
- "Our lawyer needs a data processing agreement" (legal)
Open the drafts in FreeScout to review and send
```

### Other ways to ask

- Do the same for the Pending folder and draft a nudge to customers who have not answered for a week.
- Draft replies only for conversations tagged how-to, and list the rest.
- Send the replies to password and invoice questions directly instead of saving drafts.
- Every evening, count how many conversations still wait for an answer and tell me the oldest one.

## What FreeScout allows, and what to know first

- FreeScout keeps four statuses, Active, Pending, Closed and Spam, and its FAQ says no more will be added. Teams that want a Resolved state use Tags or Custom Fields.
- In FreeScout the Send dropdown on a reply sets what happens after sending, such as changing the conversation status or assigning it.
- A FreeScout agent profile can have the option "User can see only assigned conversations", and such a user does not see unassigned ones. Use an account that sees the queue you want drafted.
- FreeScout shows Add Note (key N) separately from Reply (key R), so an internal note never goes out as a reply.
- A draft is finished later in the open conversation with Edit Draft (key E).

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

Sources: [FreeScout Wiki: FAQ](https://github.com/freescout-help-desk/freescout/wiki/FAQ) · [FreeScout: Keyboard Shortcuts module](https://freescout.net/module/keyboard-shortcuts/) · [FreeScout API docs](https://api-docs.freescout.net/) · [FreeScout: help desk home page](https://freescout.net/)

## Call reply\_to\_customer from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/freescout/conversations/4821/customer/replies \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body":"Hi Lena, thanks for flagging this. The VAT number on your October invoice is a template error on our side. A corrected invoice is on its way today.","draft":true}'
```

Example response

```
{
"conversation_id": 4821,
"thread_type": "message",
"state": "draft",
"url": "https://support.yourcompany.com/conversation/4821"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is freescout\_write → reply\_to\_customer. Example data.

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

## FreeScout tools this automation uses

__Cotlet FreeScout tools used to draft FreeScout replies to waiting customers__
| Tool | Parameters |
| ------------------- | ---------------------------------------------- |
| list\_conversations | mailbox\_id, status, assigned\_to, query, page |
| get\_conversation | conversation\_id |
| reply\_to\_customer | conversation\_id, body, draft, status\_after |

[All 12 FreeScout tools with descriptions](https://cotlet.dev/integrations/freescout-api-mcp-server.md#tools)

## Frequently asked questions

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

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

- [Merge duplicate FreeScout conversations](https://cotlet.dev/integrations/freescout-api-mcp-server/merge-duplicate-conversations.md)
- [Assign unassigned FreeScout conversations by topic](https://cotlet.dev/integrations/freescout-api-mcp-server/assign-unassigned-conversations.md)
- [FreeScout API and MCP server: every tool](https://cotlet.dev/integrations/freescout-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to FreeScout.

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

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

---

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.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

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.
