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

# Schedule social posts in Sprout Social from a brief

> Turn a content brief into Sprout Social scheduled posts for several profiles, check the Publishing Calendar first and route each one through approval.

Source: https://cotlet.dev/integrations/sprout-social-api-mcp-server/schedule-social-posts

The week's content sits in a brief or a doc, and someone has to paste each post into Compose, pick the profiles and times, and send it for approval by hand.

Cotlet does it in your own Sprout Social account with list\_profiles, list\_publishing\_posts and schedule\_post, 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 schedules posts from Compose and from Bulk Import, but both are manual (checked 17 Oct 2026). The Sprout API, on the Advanced plan, creates posts only as drafts: its docs say only drafts are supported, and scheduled times attach to a draft. Retrieved posts always show a pending delivery status. Sprout's MCP server is documented for ChatGPT only. Nothing lets an agent schedule a post that publishes.

## How you do it in Sprout Social today

1. Open Compose, pick the profiles in the Profile Picker, write the post and attach media.
2. Set the time yourself or click Use Optimal Send Times, then click Schedule.
3. If your team uses an approval workflow, pick it in the Publishing Workflows section of Compose and click Submit.
4. Check Publishing > Calendar in Day, Week or Month view for clashes with what is already queued.
5. For many posts, upload a CSV of up to 350 messages through Publishing > Calendar > ⋯ > Bulk Import, which works for X, Facebook, Instagram and LinkedIn only.

## How to schedule social posts in Sprout Social from a brief

Prompt

```
Schedule this week's three announcement posts from my brief on the LinkedIn and Instagram profiles, one per weekday at 9:00, and send each through the Brand review approval workflow.
```

1. 01  
### Resolve the profiles  
list\_profiles maps "LinkedIn and Instagram" in your brief to the profile IDs connected to your account, and stops if a network you named is not connected.
2. 02  
### Look at the calendar first  
list\_publishing\_posts with status scheduled for the week shows what is already queued, so the agent moves a new post off a slot another post holds or asks you.
3. 03  
### Fit the post to each network  
The agent checks the text and media against each network in the profile list, and splits a post that cannot be one text for both, instead of sending one text that fails on either.
4. 04  
### Schedule through approval  
schedule\_post sets the time and, when you name an approval workflow, submits the post for approval. Each call waits for your OK by default, because a scheduled post publishes to a public audience.
5. 05  
### Report what is waiting  
After the last post, the agent lists the Needs Approval tab so you see which approver still has to act before the scheduled times pass.

### What you get back

Example data

```
Profiles: LinkedIn (Acme Co), Instagram (@acme)
Calendar clashes: 1, Tuesday 09:00 moved to 09:30
Scheduled 3 posts x 2 profiles = 6
Sent to Brand review: 6, status Needs Approval
Approver action needed before Mon 09:00: 2 posts
```

### Other ways to ask

- Draft the same three posts but do not schedule them, so my team edits them in the Drafts tab first.
- Schedule a post for every Friday in November at 10:00 on the Facebook profile, no approval.
- Show everything on the calendar next week for the Instagram profile and tell me which days are empty.

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

- When Compose has more than one profile selected, Sprout creates individual drafts for each network, so each can be tailored afterwards.
- A scheduled post that needs approval does not publish until someone approves it, and then goes out at its scheduled time.
- If a post is not approved before its scheduled time, Sprout does not publish it, it stays in the Needs Approval tab, and the author gets an expired approval notification.
- Approval workflows are available on the Professional and Advanced plans, and only users with the Administration Permissions company permission can create them.
- Bulk Import takes up to 350 messages per CSV and only one X profile can be selected at a time.

schedule\_post asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.

Sources: [Sprout Social Help: Drafts](https://support.sproutsocial.com/hc/en-us/articles/360000575103-Drafts) · [Sprout Social Help: Message Approval Workflows](https://support.sproutsocial.com/hc/en-us/articles/205974715-Message-Approval-Workflows) · [Sprout Social Help: How do I use bulk scheduling?](https://support.sproutsocial.com/hc/en-us/articles/115005864203-How-do-I-use-bulk-scheduling) · [Sprout Social API documentation](https://api.sproutsocial.com/docs)

## Call schedule\_post from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/sprout-social/post/schedule \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profile_ids":["p_li_02","p_ig_01"],"text":"Our autumn release is live. Three new reports, one new export.","scheduled_at":"2026-10-21T09:00:00+02:00","approval_workflow":"Brand review"}'
```

Example response

```
{
"posts": [
{
"post_id": "pub_3301",
"profile_id": "p_li_02",
"scheduled_at": "2026-10-21T09:00:00+02:00",
"status": "needs_approval"
},
{
"post_id": "pub_3302",
"profile_id": "p_ig_01",
"scheduled_at": "2026-10-21T09:00:00+02:00",
"status": "needs_approval"
}
],
"approval_workflow": "Brand review"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is sprout\_social\_write → schedule\_post. 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 schedule social posts in Sprout Social from a brief__
| Tool | Parameters |
| ----------------------- | ------------------------------------------------------------------ |
| list\_profiles | network |
| list\_publishing\_posts | status, profile\_ids, since, until, cursor |
| schedule\_post | profile\_ids, text, scheduled\_at, media\_urls, approval\_workflow |

[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

- [Triage Sprout Social Smart Inbox messages](https://cotlet.dev/integrations/sprout-social-api-mcp-server/triage-inbox-messages.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.
