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

# Reply to customer

> Send a reply to the customer, or save it as a draft for you to send. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/freescout/reply_to_customer

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Send a reply to the customer, or save it as a draft for you to send.

FreeScout API: https://cotlet.dev/docs/api/freescout.md

`POST https://cotlet.dev/api/v1/freescout/conversations/{conversation_id}/customer/replies`

Access: write. Confirm: waits for the user's OK before it runs.

Writes a reply under your name. With draft set to true the text is saved in FreeScout as a draft, nothing leaves FreeScout, and you finish it with Edit Draft. Without draft the email goes to the customer at once. status_after sets the status once the reply is sent, like the Send dropdown. By default you confirm each call; you can switch that off for this tool.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `conversation_id` | integer | yes | Conversation ID from list_conversations or get_conversation. It is not the #number shown in the list. |
| `body` | string | yes | Text of the reply. |
| `draft` | boolean | no | true saves a draft and sends nothing. Default false. |
| `status_after` | string | no | active, pending or closed. Leave out to keep what the Send dropdown shows by default. |

## Request

**cURL**

```bash
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}'
```

**Python**

```python
result = client.call("freescout", "reply_to_customer", {"conversation_id":4821,"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})
```

**Node.js**

```js
const result = await cotlet.call('freescout', 'reply_to_customer', {"conversation_id":4821,"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});
```

**CLI**

```bash
cotlet call freescout reply_to_customer --data '{"conversation_id":4821,"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

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

Previous: [Add internal note](https://cotlet.dev/docs/api/freescout/add_note.md)
Next: [Set conversation status](https://cotlet.dev/docs/api/freescout/set_conversation_status.md)

---

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.
