Sprout Social automation · runs weekly
Schedule social posts in Sprout Social from a brief
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.
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
- Open Compose, pick the profiles in the Profile Picker, write the post and attach media.
- Set the time yourself or click Use Optimal Send Times, then click Schedule.
- If your team uses an approval workflow, pick it in the Publishing Workflows section of Compose and click Submit.
- Check Publishing > Calendar in Day, Week or Month view for clashes with what is already queued.
- 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
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. - 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.
- 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.
- 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.
- 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.
- 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
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 · Sprout Social Help: Message Approval Workflows · Sprout Social Help: How do I use bulk scheduling? · Sprout Social API documentation
Call schedule_post from a script
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"}' {
"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 cronSprout Social tools this automation uses
| 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 |
Frequently asked questions
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.