Bulk Schedule Posts
bulk_schedule_postsSchedule up to 100 posts in one call to shared platforms and accounts. Each is validated independently, so one failure won't block the rest.
Instructions
Schedule up to 100 posts in one call to the same platforms and accounts. Each item supplies its own text, contentType, scheduledAt, and optional media; platforms, connection-id arrays, timezone, and platform configs are shared by every item. Items are processed independently: each is validated and created like create_post, so one bad item fails alone while the rest are scheduled. Returns { totalScheduled, totalFailed, results[] } with a postId or errorMessage per item, in input order; read every row. An item with a past scheduledAt publishes immediately rather than being rejected. Call list_accounts first; TikTok needs tiktokConfigs with privacyLevel and Pinterest needs pinterestConfigs with boardId. Use create_post for a single post or a draft; this tool has no draft mode.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| posts | Yes | 1 to 100 posts to schedule; each is created independently | |
| pageIds | No | Facebook page account ids from list_accounts (the account id; its pageId value is also accepted). Facebook has no connection-id array | |
| timezone | No | IANA timezone stored with every post for display; does not shift scheduledAt | UTC |
| platforms | Yes | Target platforms shared by every item. Each needs its connection-id array (pageIds for FACEBOOK) | |
| tiktokConfigs | No | TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum | |
| youtubeConfigs | No | YouTube per-connection config with video title, tags, privacy, etc. | |
| facebookConfigs | No | Facebook per-page config with post type and video title. pageId must match an entry in pageIds | |
| instagramConfigs | No | Instagram per-connection config to set post type (FEED, REEL, STORY) | |
| pinterestConfigs | No | Pinterest per-connection config. Each entry needs connectionId + boardId; there is no API to list boards, so ask the user for the board id | |
| tiktokConnectionIds | No | TikTok account connection IDs to post from | |
| blueskyConnectionIds | No | Bluesky account connection IDs to post from | |
| threadsConnectionIds | No | Threads account connection IDs to post from | |
| twitterConnectionIds | No | X (Twitter) account connection IDs to post from | |
| youtubeConnectionIds | No | YouTube channel connection IDs to post from | |
| linkedinConnectionIds | No | LinkedIn account connection IDs to post from | |
| instagramConnectionIds | No | Instagram account connection IDs to post from | |
| pinterestConnectionIds | No | Pinterest account connection IDs to post from |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | No | An object with totalScheduled, totalFailed, and results: one { postId, success, isScheduled, scheduledAt, errorMessage } per input item, in input order. |