schedule_post
Schedule one post, several, or every version of one to publish automatically at scheduled_for.
Every post first passes the same checks as publish_post. Several posts
come back per post in posts with scheduledCount; one that cannot be
scheduled is reported on its own and the rest still go (at most 10 per
call). schedules gives up to 25 posts each its own time in one call;
next_slot gives each post its account's next free posting slot in turn. A
cadence the user asks for ("3 a day", "an hour apart") is set once with
update_workspace(account_posting=...), and every send then holds it.
Args:
scheduled_for: ISO 8601 datetime (e.g. "2026-04-01T10:00:00Z"), in the future (Free: up to 30 days ahead; paid plans: any time); or "next_slot": the account's next free posting slot (posting.slots, shown by get_post_context), named in the answer's slot (no slots: the soonest allowed time, slotFallback).
post_ids: The posts to schedule.
campaign_id: Every version of one post (its campaignId from create_post) instead.
post_id: One post; the same as post_ids=[post_id].
workspace_id: Workspace ID or name. Optional if user has only one workspace.
tiktok_settings: As publish_post's.
schedules: Instead of the above: [{post_id, scheduled_for, tiktok_settings?}], each scheduled as a one-post call, in order.
routine_id: The Autopilot routine this run is for: its mode decides whether it may schedule or publish.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "schedule_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | The user's underlying goal for this call, in one sentence without personal details. Used for product analytics only. | |
| post_id | No | ||
| post_ids | No | ||
| llm_model | No | The model identifier of the calling assistant, or "unknown". Used for product analytics only. | |
| schedules | No | ||
| routine_id | No | ||
| campaign_id | No | ||
| workspace_id | No | ||
| scheduled_for | No | ||
| conversation_id | No | Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request. | |
| tiktok_settings | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _mcp_instructions | No | Server-issued metadata for this conversation. |