Schedule post
schedule_postSchedules a saved draft, including any media already stored on it by save_draft, for every network in its destinations. scheduled_for is an ISO-8601 timestamp in the future and must include a timezone. Refused while a network cannot take the post as it is; the error lists each problem. destination optionally changes the LinkedIn profile or company page from list_destinations (not for a post that skips LinkedIn). Media is not accepted here; the images are published with the alt text stored on them, and media_alt_text optionally changes that alt text (one entry per image, in the order of media_urls). youtube_format optionally switches the post’s YouTube video between a normal video and a Short before it is scheduled. Once scheduled, a post with several destinations becomes one post per network: post keeps LinkedIn (or its first network), and split_posts lists the others, each with its own id to reschedule, unschedule or delete on its own. The result includes post.preview_url, a link that opens the scheduled post in PostPen; it is meant to be shown to the user.
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": {
"id": "<id>",
"scheduled_for": "<scheduled_for>"
},
"name": "schedule_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post id returned by save_draft. | |
| destination | No | Where the post goes on LinkedIn: a LinkedIn id from list_destinations. "personal" (the default on a new draft) is the personal LinkedIn profile; a company page is identified by its id from list_destinations (usually the organization URN). On schedule_post and publish_now, leaving it out keeps a company destination already saved on the draft, and "personal" switches to the profile. To post to X, Facebook, Instagram, Threads or YouTube, use destinations on save_draft. | |
| scheduled_for | Yes | Future ISO-8601 time with a timezone, for example 2026-09-28T15:00:00Z. | |
| media_alt_text | No | Optional alt text for the images already on the post, one entry per image in the order of media_urls from list_posts. A string (up to 4,086 characters; about 120 recommended) sets that image’s alt text, null or "" removes it, and images past the end of a shorter array keep theirs. Refused when the post has no images or the array is longer than its images. | |
| youtube_format | No | Optional, for a post that goes to a YouTube channel: "video" (the default) posts a normal video; "short" posts a YouTube Short, which has to be vertical or square (9:16 looks best) and up to 3 minutes. For a Short PostPen adds #Shorts to the title (or the description when the title has no room) and links to youtube.com/shorts/. A clip that is landscape or longer than 3 minutes is refused when it is published, with an error saying so, instead of going out as a normal video. Leaving it out keeps what is saved; posts saved before this option are videos. |