Add / update / remove scheduled posts
edit_scheduleManage scheduled posts. action=add creates a scheduled draft on a date (YYYY-MM-DD, tenant timezone, at the tenant's default publish time); update patches an existing one (date, caption, post type, approval mode, slides, recurrence); remove cancels it (soft-delete); bulk_fill generates AI drafts for each empty day in the next N days. Carousels need 2-10 slides. Scheduled drafts always wait for the owner: approval_mode=email (the default) is the only accepted mode — unattended modes (auto/warning) are refused while scheduled auto-publishing is off, and publishing an approved draft takes an explicit publish_draft call or the owner's tap in the app.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | bulk_fill: how many days ahead. | |
| action | Yes | ||
| handle | No | Instagram handle (with or without @). Omit for your default account. | |
| slides | No | ||
| context | Yes | Explain why you are calling this tool and how it fits into the business owner's goal for their Instagram presence. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include personal data, credentials, or the text of a draft. Example (20 words): "Reviewing the pending drafts before approving today's story, checking the caption matches the photo the owner expects." | |
| draft_id | No | Required for update/remove. | |
| beat_slug | No | ||
| post_type | No | ||
| video_url | No | ||
| caption_mode | No | ||
| user_caption | No | ||
| approval_mode | No | ||
| scheduled_date | No | YYYY-MM-DD in the tenant's timezone (add/update/bulk_fill start). | |
| recurrence_rule | No | WEEKLY | BIWEEKLY | day list like MO,WE,FR. null clears. | |
| source_asset_id | No |