Create repurposing workflow
create_repurposing_workflowCreates a Repurposing workflow that reposts a source's posts to other connected accounts. The source is exactly one of source_connection_id (an Instagram or Facebook Page account) or source_integration 'twitch' (the user's connected Twitch channel, see Settings > Integrations: clips go out in the vertical version when Twitch has one, with the clip title as the caption; either kind, and kind 'existing' can use publish_order 'most_viewed') or source_integration 'rss' with feed_url (an Apple Podcasts link or any RSS/Atom feed, such as a podcast or blog; YouTube channels are not supported: each item is posted as its video when the feed has one, else its cover art, with the title as the caption and the item's link under it on X, Bluesky, Threads, Mastodon, LinkedIn, Facebook, Telegram, Discord, Tumblr and Reddit, as the pin link on Pinterest and as a Learn more button on Google Business Profile; Instagram, TikTok and Snapchat get the title only). kind 'new_posts' (default) reposts each new post: publish_mode 'immediate' publishes it right away, 'draft' (the API default) saves it to the library. kind 'existing' reposts older posts on a weekly timetable and needs schedule_slots and timezone; it schedules posts into the library up to 30 days ahead, where they can be edited or cancelled. Each repost counts as one upload on the plan. The original caption is used (first line as the title where a platform has one), Instagram and Facebook video covers are carried over, and ShortSync's own posts to the source are never reposted. Returns the created workflow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'new_posts' (default) for each new post as it's published; 'existing' to repost older posts on a timetable. Can't be changed later. | |
| name | No | Optional name for the workflow (max 80 characters), e.g. 'Reels to TikTok'. null or empty shows the default label for its kind. | |
| enabled | No | false pauses the workflow, true turns it back on. | |
| feed_url | No | With source_integration 'rss': an Apple Podcasts show link or an RSS/Atom feed URL. YouTube channel links are refused. Feeds are checked about every 15 minutes. | |
| timezone | No | Scheduled workflows: IANA time zone the slots are in, e.g. 'Europe/Helsinki'. | |
| include_from | No | Scheduled workflows: only repost source posts published on or after this date (ISO 8601). | |
| publish_mode | No | New-posts workflows only: 'immediate' publishes each repost right away, 'draft' saves it to the library for review. Scheduled ('existing') workflows always schedule. | |
| workspace_id | Yes | Workspace to create it in. Get one from list_workspaces. | |
| content_types | No | Which post types to repost. Default: all three. | |
| include_until | No | Scheduled workflows: only repost source posts published on or before this date (ISO 8601). | |
| publish_order | No | Scheduled workflows: work through the source's posts newest or oldest first, or (Twitch only) most viewed first. Default newest. | |
| caption_suffix | No | Optional text added to every repost's caption (max 500 characters). null clears it. | |
| schedule_slots | No | Scheduled ('existing') workflows: publishing times per weekday, keys '0' (Sunday) to '6' (Saturday), values 'HH:mm' lists, up to 5 a day. Example: { "1": ["10:00"], "3": ["10:00", "16:00"] }. | |
| target_options | No | Per-target options: { pinterest?: { board_id, board_name? }, reddit?: { subreddit }, discord?: { channel_ids: [] }, google_business?: { location_ids: [] }, caption_mode?: 'title_and_description' | 'split' | 'title', settings?: { <platform>: { ... } } }. Board ids come from list_pinterest_boards, channel ids from list_discord_channels. caption_mode: on YouTube, Pinterest, Reddit and Tumblr the title is the caption's first line; the description is the whole caption (title_and_description), the caption without its first line (split) or empty (title). settings: per-platform settings in the same camelCase shape as update_post's platform_settings (e.g. { youtube: { privacyStatus: 'unlisted', categoryId: '20' }, tiktok: { privacyLevel: 'SELF_ONLY' } }); anything unset uses the member's saved upload settings (YouTube defaults to public). Per-post fields (titles, alt text, subtitles, polls) are ignored. | |
| idempotency_key | No | Optional client-generated key (e.g., a UUID) to make retries safe. Identical calls with the same key within 10 minutes return the original result instead of running the write twice. | |
| source_integration | No | 'twitch': repost clips from the user's connected Twitch channel (needs Twitch connected in Settings > Integrations). 'rss': post items from the feed in feed_url. Either way every new item (kind 'new_posts') or older items on a timetable (kind 'existing'). Can't be changed later. | |
| source_connection_id | No | The Instagram or Facebook Page connection to repost from (list_platform_connections). Omit when source_integration is set. Can't be changed later. | |
| target_connection_ids | Yes | Connections to repost to (ids from list_platform_connections), not the source. Pinterest needs target_options.pinterest.board_id and Reddit needs target_options.reddit.subreddit. |