Schedule post
Schedule a post for one or more profiles, optionally through an approval workflow.
MCP tool sprout_social_write → schedule_post
Schedules a post in Compose at the time you give. With approval_workflow set, the post goes to the Needs Approval tab and does not publish until someone approves it; if nobody approves it before the scheduled time, Sprout does not publish it. Without a workflow it publishes at the scheduled time to the public profile. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| profile_ids string[] required | string[] | Profile IDs from list_profiles. |
| text string required | string | Post text. |
| scheduled_at string required | string | ISO date-time with offset, in the future. |
| media_urls string[] | string[] | Public URLs of images or video to attach. |
| approval_workflow string | string | Name of an approval workflow from Settings. Needs the Professional or Advanced plan. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "sprout_social_write",
"arguments": {
"operation": "schedule_post",
"arguments": {
"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
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"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"
},
"isError": false
}