[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 Sprout Social Smart Inbox messages

> Tag Sprout Social Smart Inbox messages by what they say, assign problems to a queue as cases and keep edge cases for yourself. Runs daily.

Source: https://cotlet.dev/integrations/sprout-social-api-mcp-server/triage-inbox-messages

Comments and private messages from every network pile up in one Smart Inbox, and each morning someone has to read them, tag them and decide who owns the ones that need a person.

Cotlet does it in your own Sprout Social account with list\_inbox\_messages, get\_message, list\_tags, tag\_message, list\_case\_assignees and assign\_case, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Sprout Social do this on its own?

Sprout offers Automated Rules (Settings > Automated Rules), which apply fixed tags to messages that match a rule's conditions, and Sprout's help marks them an Advanced plan feature (checked 17 Oct 2026). A rule does not read a message and judge what it is about. The Sprout API returns inbox messages and cases but has no call that tags a message or creates a case, and Sprout's MCP server is documented for ChatGPT only.

## How you do it in Sprout Social today

1. Open the Smart Inbox, pick a view under Inbox Views such as All Messages or Private Messages, and narrow it with the Filter Menu across the top.
2. Read a message, click the tag icon and type the tag name; tags are created under Settings > Tags in Global Features.
3. For a message a colleague must handle, click the pushpin, choose a Queue and an Assignee (or Assign to me), keep or change the priority (Medium by default), add tags or an internal comment, and click Create Case.
4. Tick the checkbox on finished messages to complete them so they leave the feed; Bulk Mode speeds up tagging on the Professional and Advanced plans.
5. The queue refills after every campaign post, and the sorting is repeated by hand, message by message.

## How to triage Sprout Social Smart Inbox messages

Prompt

```
Go through the unanswered messages in my Sprout Smart Inbox. Tag each one with the right tag, assign billing problems to the Customer care queue as a case, and leave anything else for me with a one-line reason.
```

1. 01  
### Pull what is still open  
Your agent calls list\_inbox\_messages on the All Messages view and keeps messages that are neither replied to nor completed, paging on the cursor so a long weekend backlog is judged as one batch.
2. 02  
### Read the whole conversation  
For a short or unclear message, get\_message brings the thread and any case already attached, so a follow-up to an old complaint is not tagged as new.
3. 03  
### Match your tags and rules  
list\_tags gives the exact tag names that exist in your account. The agent applies only those, never invents a tag, and notes which words in the message decided it.
4. 04  
### Tag first, then route  
tag\_message runs for every clear match. Messages that your prompt says need a person, such as billing problems, go through assign\_case with the queue and assignee you named, after list\_case\_assignees confirms both exist.
5. 05  
### Leave the unclear ones  
A message that fits no tag, or that mentions a refund, a legal threat or a press request, stays open and appears in your report with a one-line reason. Each assign\_case call waits for your OK by default.

### What you get back

Example data

```
Open messages in All Messages: 31
Tagged 24 (Product question 11, Shipping 8, Praise 5)
Assigned 4 as cases to Customer care (all billing; case IDs in the log)
Left for you 3:
- "Your ad used my photo" (Instagram, legal)
- A journalist asking for comment (LinkedIn)
- A message in a language outside your tags
```

### Other ways to ask

- Every weekday at 8, tag unanswered Instagram comments and list the ones asking about price.
- Assign every message that mentions a delayed order to the Support queue, priority High, with an internal comment quoting the order number.
- Show me the open messages grouped by the tag you would give them, but change nothing.
- Complete every message that only says thanks, after tagging it Praise.

## What Sprout Social allows, and what to know first

- Sprout needs the Apply Tags permission to tag a message and the Manage Message Status permission to complete one, so a role without them makes those calls fail.
- A case assignee gets an email and a Notification Drawer alert that carries the case ID, which is why assign\_case reaches a person and asks for your OK by default.
- Marking a message complete in the case form removes it from the Smart Inbox view but keeps it in the assignee's Open Cases.
- Sprout lists All Messages, Private Messages, Completed Messages, Saved Messages and Reply Approvals as fixed Inbox Views that cannot be edited or deleted.
- Bulk tagging works on the Professional and Advanced plans, and in Conversation View Sprout allows only Bulk Complete, not Bulk Tag.

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

Sources: [Sprout Social Help: Message management with tagging](https://support.sproutsocial.com/hc/en-us/articles/360058625851-Message-management-with-tagging) · [Sprout Social Help: Message Actions](https://support.sproutsocial.com/hc/en-us/articles/360000576406-Message-Actions) · [Sprout Social Help: How do I use cases in Sprout?](https://support.sproutsocial.com/hc/en-us/articles/360000575123-How-do-I-use-cases-in-Sprout) · [Sprout Social Help: Inbox Views](https://support.sproutsocial.com/hc/en-us/articles/360044492991-Inbox-Views) · [Sprout Social Help: Bulk Mode](https://support.sproutsocial.com/hc/en-us/articles/360007539072-Bulk-Mode) · [Sprout Social Help: Automated Rules](https://support.sproutsocial.com/hc/en-us/articles/360016185371-Automated-Rules)

## Call assign\_case from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/sprout-social/messages/msg_88a1f4/case/assign \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"queue":"Customer care","assignee":"u_204","priority":"Medium","tags":["Billing"],"comment":"Customer says they were charged twice in October."}'
```

Example response

```
{
"case_id": "case_1182",
"message_id": "msg_88a1f4",
"queue": "Customer care",
"assignee": "u_204",
"priority": "Medium",
"tags": [
"Billing"
],
"comment": "Customer says they were charged twice in October.",
"message_completed": false
}
```

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

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

## Sprout Social tools this automation uses

__Cotlet Sprout Social tools used to triage Sprout Social Smart Inbox messages__
| Tool | Parameters |
| --------------------- | ------------------------------------------------------------------------ |
| list\_inbox\_messages | view, profile\_ids, since, cursor |
| get\_message | message\_id |
| list\_tags | none |
| tag\_message | message\_id, add\_tags, remove\_tags |
| list\_case\_assignees | none |
| assign\_case | message\_id, queue, assignee, priority, tags, comment, complete\_message |

[All 14 Sprout Social tools with descriptions](https://cotlet.dev/integrations/sprout-social-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Sprout Social to Cotlet?

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

- [Schedule social posts in Sprout Social from a brief](https://cotlet.dev/integrations/sprout-social-api-mcp-server/schedule-social-posts.md)
- [Write a weekly Sprout Social performance summary](https://cotlet.dev/integrations/sprout-social-api-mcp-server/weekly-performance-report.md)
- [Sprout Social API and MCP server: every tool](https://cotlet.dev/integrations/sprout-social-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Sprout Social.

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

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

---

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.
