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

# Answer open SuiteCRM cases with AI

> Find SuiteCRM cases where the customer wrote last, read the Case Updates thread and post a reply or an internal note. Runs every morning.

Source: https://cotlet.dev/integrations/suitecrm-api-mcp-server/answer-open-cases

A customer replies to a case overnight, the reply sits in the Case Updates thread, and nobody sees it until the agent assigned to the case opens it.

Cotlet does it in your own SuiteCRM account with list\_records, list\_case\_updates and add\_case\_update, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can SuiteCRM do this on its own?

SuiteCRM notifies the assigned user of case activity by its own settings and can create cases from inbound email, but nothing reads a thread and answers it (checked 23 Oct 2026). Its v8 API documents generic module calls only, not the Case Updates thread.

## How you do it in SuiteCRM today

1. In Cases, switch on My Items and filter by State Open to see your cases.
2. Open each case and read its Case Updates tab, a chronological threaded log of updates from users and responses from contacts.
3. Type the answer in the Update field and click Save; SuiteCRM emails all Contacts related to the case.
4. For a private note, check Internal Update first: it stays in the thread and is not emailed or shown on the customer portal.
5. Statuses such as New, Assigned and Pending Input are changed by hand, and a quiet case is easy to miss in a long list.

## How to answer open SuiteCRM cases with AI

Prompt

```
List open SuiteCRM cases assigned to me where the last update came from the customer. Draft a reply to each, and post the ones that only need a status answer. Keep the rest for me.
```

1. 01  
### List the open cases  
list\_records runs on Cases with assigned\_to\_me and status filters for New, Assigned or Pending Input. It follows next\_cursor so a long list is read completely.
2. 02  
### Read each thread  
list\_case\_updates returns the Case Updates thread in order, with author, text and an internal flag. A case whose last update is from a user on your team is skipped, because the customer is not waiting.
3. 03  
### Decide what needs you  
Refunds, complaints and anything not answered by the Resolution field of earlier cases or your own notes are listed for you instead of answered.
4. 04  
### Post the update  
add\_case\_update posts the reply to the thread. With internal set to false, SuiteCRM emails every related Contact, so each call waits for your OK by default. Notes for your team go in with internal set to true.
5. 05  
### Report the state  
The reply lists each case with what was posted, so you can open the ones you still own.

### What you get back

Example data

```
Open cases assigned to you: 9
Customer wrote last: 4
Replied to 2 (Case 1042: reset steps sent, Case 1045: invoice copy sent)
Internal note added to 1
Left for you 1: refund request
```

### Other ways to ask

- Every morning, list cases where the customer replied overnight and add an internal summary to each, posting nothing to customers.
- Find open cases with no update for a week and post a check-in to the customer.
- Draft replies for my P1 cases in this chat and post nothing.

## What SuiteCRM allows, and what to know first

- SuiteCRM cases have a State of Open or Closed, and a Status such as New, Assigned or Pending Input while open.
- Case Priority is P1 (Urgent), P2 (High) or P3 (Medium).
- SuiteCRM saves every case update in the thread and emails all Contacts related to the case, unless Internal Update is checked.
- Internal updates are not visible on the customer portal, if one is set up.
- The Resolution field of a closed case builds a knowledge base of solutions that later cases can reuse.

add\_case\_update asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [SuiteCRM 8 Guide: Cases](https://docs.suitecrm.com/8.x/user/customer-service/cases/) · [SuiteCRM 8 Guide: Searching](https://docs.suitecrm.com/8.x/user/core-concepts/searching/) · [SuiteCRM Docs: API v8 endpoints](https://docs.suitecrm.com/developer/integration-api/v8/endpoints/)

## Call add\_case\_update from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/suitecrm/cases/2b7e9c14-5a30-d8f6-41e2-9c0a7b3d5e18/update \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hi Maria, to reset the device hold the side button for 10 seconds, then try the app again. Tell us if it still fails.","internal":false}'
```

Example response

```
{
"update_id": "c58e0b3a-4f17-4d92-8a6e-3b1d7f9c2e40",
"case_id": "2b7e9c14-5a30-d8f6-41e2-9c0a7b3d5e18",
"internal": false,
"emailed_contacts": 1,
"created_at": "2026-10-23T09:20:00"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is suitecrm\_write → add\_case\_update. Example data.

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

## SuiteCRM tools this automation uses

__Cotlet SuiteCRM tools used to answer open SuiteCRM cases with AI__
| Tool | Parameters |
| ------------------- | ---------------------------------------------------------------- |
| list\_records | module, query, status, assigned\_to\_me, modified\_since, cursor |
| list\_case\_updates | case\_id, cursor |
| add\_case\_update | case\_id, text, internal |

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

## Frequently asked questions

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

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

- [Qualify and convert new SuiteCRM leads](https://cotlet.dev/integrations/suitecrm-api-mcp-server/convert-qualified-leads.md)
- [Log a SuiteCRM call and create the follow-up task](https://cotlet.dev/integrations/suitecrm-api-mcp-server/log-call-and-follow-up.md)
- [Review stale SuiteCRM opportunities and create follow-ups](https://cotlet.dev/integrations/suitecrm-api-mcp-server/review-stale-opportunities.md)
- [SuiteCRM API and MCP server: every tool](https://cotlet.dev/integrations/suitecrm-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to SuiteCRM.

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

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

---

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.
