Skip to main content
Glama

Update a pending post

update_publication
DestructiveIdempotent

Edit draft or ready social posts before publishing, including text, media, schedule, visibility, and platform-specific options. Fix a Pinterest pin missing its board by setting the destination.

Instructions

Change the text, media or scheduled date of a post that has NOT gone out yet (state draft or ready). A published post cannot be edited through PlanVortex; if you try, the error will say so. A Pinterest pin saved without a board (error 987) is fixed here by passing destination_id. On TikTok and YouTube the visibility and the other settings the user chose can be changed here too.

Input Schema

NameRequiredDescriptionDefault
linkNoPinterest: the pin's destination URL.
textNo
filesNo
stateNo
titleNo
visibilityNoYouTube and TikTok only: who can see the post. On TikTok, the user's choice.
interactionsNoTikTok only: comments, duet, stitch, each true or false.
publish_dateNoISO 8601.
made_for_kidsNoYouTube only: whether the video is made for kids (COPPA).
destination_idNoPinterest: the board, an id from list_destinations.
id_publicationYes
id_organizationNoThe PlanVortex organization id. Optional.
commercial_contentNoTikTok only: your_brand and/or branded_content (a paid partnership cannot be private).

Output Schema

NameRequiredDescriptionDefault
publicationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.12.0
    • addedInput schema / properties / commercial_content
      Added value: +{
      +  "description": "TikTok only: your_brand and/or branded_content (a paid partnership cannot be private).",
      +  "properties": {
      +    "branded_content": {
      +      "type": "boolean"
      +    },
      +    "your_brand": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / interactions
      Added value: +{
      +  "description": "TikTok only: comments, duet, stitch, each true or false.",
      +  "properties": {
      +    "comments": {
      +      "type": "boolean"
      +    },
      +    "duet": {
      +      "type": "boolean"
      +    },
      +    "stitch": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / made_for_kids
      Added value: +{
      +  "description": "YouTube only: whether the video is made for kids (COPPA).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / visibility
      Added value: +{
      +  "description": "YouTube and TikTok only: who can see the post. On TikTok, the user's choice.",
      +  "enum": [
      +    "public",
      +    "unlisted",
      +    "friends",
      +    "followers",
      +    "private"
      +  ],
      +  "type": "string"
      +}
  2. Changed3 schema fields changedv0.7.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / destination_id
      Added value: +{
      +  "description": "Pinterest: the board, an id from list_destinations.",
      +  "type": "string"
      +}
    • addedInput schema / properties / link
      Added value: +{
      +  "description": "Pinterest: the pin's destination URL.",
      +  "type": "string"
      +}
  3. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=true, so the mutation profile is covered. The description adds genuine beyond-schema context: the state restriction, the error-driven Pinterest board fix, and platform-specific editable settings on TikTok/YouTube. It stops short of saying what is destroyed on overwrite, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the key constraint (only unpublished posts), then the failure mode, then two concrete repair/extension cases. Slightly dense but every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-param mutation tool, the description covers the state gate, the error path and the platform-specific parameter groups, and an output schema exists so return values need not be described. Coverage of the remaining undocumented properties is left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 62% across 13 params, and the description compensates by explaining destination_id's role (fixing error 987), the TikTok/YouTube visibility and 'other settings', and media/scheduled-date edits. Several params (link, files, title, id_organization) still rely solely on the schema, keeping this below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Change) and resource (a post) with explicit scope: state draft or ready, i.e. NOT yet published. This lets an agent separate it from get_publication, create_publication and retry_publication without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use (draft/ready) and when-not (published posts cannot be edited; the error will say so), plus a concrete recovery case (Pinterest error 987 fixed via destination_id). It does not explicitly route an agent to any sibling for the published-post case, but the usage boundary is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.