Schedule a post
schedule_postAdd a post to the user's scheduled queue, to publish unattended at a time they choose. Call it once WITHOUT confirmation_token to get a preview and a token, then again with the token only if the user agrees. The time must be UTC ISO-8601 and at least ten minutes in the future.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"content": "<content>",
"platform": "<platform>",
"scheduled_for": "<scheduled_for>"
},
"name": "schedule_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Twitter only. long_post is one post up to 25,000 characters and needs X Premium. Default post. | |
| content | Yes | The exact post text. | |
| platform | Yes | Which platform. | |
| signature | No | Optional. "none" posts without the profile's signature. Leave it out otherwise. | |
| tone_used | No | Optional tone label. | |
| account_id | No | The connected account to post to, from list_profiles. Only needed when more than one account is connected on that platform. | |
| content_type | No | Twitter only. Ignored on LinkedIn, which has no threads. | |
| made_with_ai | No | Twitter only. Adds Twitter's Made with AI label to the post. Only when the user asks for it. | |
| scheduled_for | Yes | UTC ISO-8601 timestamp, at least ten minutes from now. | |
| reply_settings | No | Twitter only. Who can reply. Default everyone. On a thread it applies to the first post. | |
| confirmation_token | No | Leave this out on the first call. The tool then returns a preview and a token without posting anything. Pass the token back, with identical arguments, only after the user has confirmed. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The live post, once published. | |
| kind | Yes | post_preview: nothing has been posted yet. post_result: the post went out or was queued. | |
| parts | No | The post exactly as it will go out. More than one part is a Twitter thread. | |
| action | Yes | The tool this card belongs to. | |
| length | No | ||
| status | Yes | ||
| platform | Yes | ||
| expires_at | No | When this preview stops being confirmable, UTC ISO-8601. | |
| see_more_at | No | LinkedIn only: the character in the post where "see more" falls on a computer. | |
| account_name | Yes | The connected profile's handle or name, as the user sees it. | |
| calendar_url | No | VoiceMoat's calendar, once scheduled. | |
| scheduled_for | No | UTC ISO-8601. schedule_post only. | |
| duplicate_minutes_ago | No | Set when this exact text went out to this account that many minutes ago. |