Skip to main content
Glama

create_post

Schedule or immediately publish one social media post. DESTRUCTIVE WRITE that creates content on the user's connected social account. Always confirm caption + scheduled_at + account_id/workspace with the user before calling. For Instagram, distinguish caption @mentions from native instagram_settings.user_tags and co-author instagram_settings.collaborators; call list_platforms with view=schema and account_id before either native feature. Native media tags work with eligible direct or Meta-linked accounts; collaborators require an eligible Meta-linked account. Instagram caption add-ons (caption_addon poll or comment prompt) need a Facebook Login account, a caption, and a feed photo, Reel, or carousel. Stories are rejected, and a poll cannot be combined with a comment prompt. Third-party media URLs are copied into posterly storage before the post is saved; short-lived signed URLs must still be live when this tool runs. For multiple posts, prefer create_posts_batch after confirming every item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
captionNoPost caption/text. On Instagram, @username creates a caption mention only; it is not a native media tag or collaborator invitation. Ignored when thread_posts is provided.
confirmYesMust be true after the user explicitly confirms the post/account/workspace/schedule.
metadataNo
platformNoPlatform name when using username. Supported: instagram, facebook, tiktok, twitter, linkedin, youtube, pinterest, threads, google_business, telegram, bluesky, discord, slack, mastodon, devto, hashnode, wordpress, lemmy. Aliases x, gmb, and instagram-standalone are also accepted by the API.
settingsNoDeprecated alias of platform_settings (or instagram_settings for Instagram). Prefer those instead.
usernameNoAccount username; requires platform.
media_urlNoMedia URL. Posterly storage URLs are used as-is; third-party HTTP(S) URLs are copied into posterly storage before the post is saved. Short-lived signed URLs must still be live when this tool runs.
post_typeNoOptional post type. Omit for auto-detection from media. Supported semantic values include text, image, video, carousel, reel, story, story_series, document, x_thread, threads_thread, photo, and cover_photo.
account_idNoSocial account ID from list_accounts.
media_urlsNoMedia URLs. Posterly storage URLs are used as-is; third-party HTTP(S) URLs are copied into posterly storage before the post is saved.
scheduled_atNoISO 8601 UTC datetime. Omit to publish immediately.
thread_postsNoFor X or Threads: 2+ entries, one per post in the reply chain.
workspace_idNoWorkspace ID from whoami.
platform_settingsNoPlatform-specific composer controls, flattened across all platforms (unrelated fields ignored). Required: YouTube title; Pinterest board_id (cover_image_url also required for video Pins); Lemmy community. Accepted via passthrough but not listed below: Lemmy community/title, Dev.to canonical_url, Hashnode publication_id, Telegram parse_mode/disable_web_page_preview, Google Business post_type (STANDARD/EVENT/OFFER, alias topic_type), TikTok auto_add_music/photo_cover_index/media_type, Facebook post_type (incl. cover_photo), Mastodon language. Call list_platforms with view=schema and account_id for the full field list and examples.
instagram_settingsNoInstagram-specific settings. Distinguish caption @mentions (put @username in caption) from native media tags (user_tags) and co-author invitations (collaborators). Call list_platforms with view=schema and account_id first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / platform_settings / properties / article
      Added value: +{
      +  "description": "X Article (needs an X Premium account): publish the caption as an Article. Pass null to turn Article mode off. The caption is the Markdown body (headings, bold, italic, lists, quotes, code blocks, tables, dividers); reference attached images with ![caption](media:1). Cannot be combined with poll, thread_posts, paid_partnership, video, or GIF.",
      +  "properties": {
      +    "cover": {
      +      "description": "Use the first attached image as the Article cover (default) or none.",
      +      "enum": [
      +        "first_image",
      +        "none"
      +      ],
      +      "type": "string"
      +    },
      +    "title": {
      +      "description": "Article title (required).",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "title"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources