Schedule / draft a post
schedule_postSchedule social media posts for Instagram, TikTok, Twitter, and Pinterest. Manage platform-specific requirements like TikTok privacy settings and Pinterest boards, or create drafts for approval.
Instructions
Create a post. Provide a future ISO scheduledAt to schedule it (omit for a draft). platforms are provider keys like "instagram", "tiktok", "twitter", "pinterest". For TIKTOK, platformData.tiktok is REQUIRED and every field in it must be an answer YOU GOT FROM THE HUMAN: who can see the post (privacy), whether comments, duet and stitch are allowed, and whether it promotes their own brand or a third party. Never invent, assume or default those values, and never carry them over from a previous post: TikTok requires the creator to choose them with nothing pre-selected. Call get_tiktok_creator_info first to see the audiences this account may pick and which interactions it has switched off. An incomplete block is rejected naming the fields still missing; in a mixed request only TikTok is refused and the other platforms are still scheduled. TikTok needs mediaUrls and posts to ONE TikTok account at a time. For PINTEREST, mediaUrls must contain exactly one image URL, and platformData.pinterest.boardId is REQUIRED — call list_boards first to get a valid boardId; content becomes the pin description (≤500 chars), platformData.pinterest.title is the pin title (≤100 chars). Optional brand: a niche/play attribution tag for per-play engagement rollups (auto-registers; see list_brands) — NOT the AI BrandVoice writing-style profile. Writing style for any post content you draft: write like the account's human owner, not like an AI. NEVER use em-dashes or en-dashes (—, –) or double hyphens (--); use a period, comma or colon instead. Skip hashtag spam (0-1 hashtags), filler openers ("Exciting news!") and rocket/sparkle emoji. Before drafting, read the account's recent posts with list_posts and match their voice, casing and rhythm. CAPABILITY: draft when scheduledAt is omitted (creates a DRAFT that never goes out on its own); publish when scheduledAt is set, because the scheduler will push it to a live audience. A draft-scoped token that passes scheduledAt gets a 403 — drop scheduledAt and hand the draft to a human.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Brand/niche tag for per-play engagement rollups (auto-registers) | |
| thread | No | X/Twitter thread: tweets 2..N published as chained replies to content | |
| content | Yes | Post text/caption | |
| mediaUrls | No | Optional media URLs | |
| platforms | Yes | Target platform provider keys | |
| scheduledAt | No | ISO-8601 timestamp in the future; omit to save as a draft | |
| platformData | No | Platform-specific fields: pinterest pin fields, and the TikTok posting choices |