Create a social media post (draft, scheduled, or immediate)
posts_createCreate a social media post. Can be saved as DRAFT, SCHEDULED, or PUBLISHED immediately.
⚠️ IMPORTANT - Choose the correct mode based on user intent:
DRAFT MODE (is_draft=True) Use when user says: "draft", "borrador", "save for later", "don't publish", "save it", "guardar" → Post is saved but NOT published and NOT scheduled. User can edit it later.
IMMEDIATE MODE (publish_now=True) Use when user says: "publish now", "post now", "publica ya", "immediately", "right now", "ahora" → Post goes live IMMEDIATELY.
SCHEDULED MODE (default) Use when user says: "schedule", "programar", "in X minutes/hours", "at 3pm", "tomorrow" → Post is scheduled for future publication. Use schedule_minutes to set the delay.
⚠️ MULTI-ACCOUNT USERS (agencies, multi-client setups):
If the user has more than one account on the target platform, you MUST pass
account_id. Call accounts_list (or profiles_list then accounts_list)
first to discover the right ID. If you omit account_id when multiple accounts
exist, the tool returns an error listing the candidates - use it to retry.
Examples:
"Create a draft tweet" → is_draft=True
"Post this to Twitter now" → publish_now=True
"Schedule a LinkedIn post for 2 hours from now" → schedule_minutes=120
"Post this to Acme's Twitter" → call accounts_list, find Acme's twitter ID, pass account_id
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Post title (required for YouTube, recommended for Pinterest) Default: . | |
| content | Yes | The post text/content (required) | |
| is_draft | No | Set to True to save as DRAFT (not published, not scheduled). Use when user wants to save without publishing Default: False. | |
| platform | Yes | Target platform: twitter, instagram, linkedin, tiktok, bluesky, facebook, youtube, pinterest, threads (required) | |
| account_id | No | Specific account ID to post from. REQUIRED when the user has multiple accounts on this platform. Call accounts_list first to find IDs. Leave empty only if there is exactly one account for this platform. Default: . | |
| media_urls | No | Comma-separated URLs of media files to attach (images, videos) Default: . | |
| profile_id | No | Scope account resolution to one profile (e.g. one client in an agency setup). Use when account_id is unknown but the target profile is. Call profiles_list to find IDs. Default: . | |
| publish_now | No | Set to True to publish IMMEDIATELY. Post goes live right now Default: False. | |
| schedule_minutes | No | Minutes from now to schedule. Only used when is_draft=False AND publish_now=False Default: 60. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |