Skip to main content
Glama
hermoso-ai

Hermoso

Official

Duplicate a scheduled post

duplicate_scheduled

Copy an existing scheduled or published post into a new queued post, with overrides for caption, media, and more. Reuse successful content or re-send after publication while keeping the original untouched.

Instructions

Copy an existing scheduled or already-published post into a NEW queued post — the way to run a creative again, reuse a post that worked as the starting point for the next one, or re-send something after it went out. It copies the caption, media, per-channel captions, title, description, tags and the target board / Page / company Page / listing, and ANY of those can be overridden in the same call. Give a new time in at, or useQueue:true to drop it into the brand’s next free posting slot. The copy is INDEPENDENT — editing or cancelling it never touches the original — and it is a genuinely new post rather than a re-send, so it publishes even where the original already did. To re-fire only the channels that FAILED, use retry_scheduled instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNowhen the copy goes out — ISO timestamp or epoch milliseconds (default: an hour from now)
idYesthe post to copy, from list_scheduled
linkNo
titleNo
chatIdNoTELEGRAM — which chat, group or channel the copy goes to (@username or numeric id)
pageIdNoFACEBOOK / INSTAGRAM / THREADS — which connected Page (list_meta_pages)
boardIdNoPINTEREST — the board for the copy (list_pinterest_boards)
messageNoa different caption for the copy
captionsNoper-channel caption overrides for the copy
channelsNopost the copy to these channels instead of the original’s
imageUrlNo
timezoneNoIANA zone for the queue, e.g. "America/New_York"
useQueueNoinstead of naming a time, take the brand’s next free posting slot
videoUrlNo
imageUrlsNoCAROUSEL — an ORDERED list of image URLs published as ONE swipeable post
locationIdNoGOOGLE BUSINESS — which listing (list_business_locations)
visibilityNo
linkedinOrganizationIdNoLINKEDIN — publish the copy as this company Page (list_linkedin_pages)
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false), the description adds crucial behavioral details: 'The copy is INDEPENDENT — editing or cancelling it never touches the original — and it is a genuinely new post rather than a re-send, so it publishes even where the original already did.' This clarifies side effects and independence, which annotations do not convey. No contradiction with annotations exists.

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?

The description is a single dense paragraph that front-loads the core purpose and then adds context. It is not overly verbose given the tool's complexity (18 parameters), and every sentence adds value, from use cases to independence to the retry_scheduled contrast. It could be broken into bullet points for readability, but it is structured logically and remains comprehensible.

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

Completeness5/5

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

Given the tool's complexity (18 parameters, nested objects, many channel-specific fields), the description covers the essential behavior, scheduling options, independence, and the difference from retry_scheduled. It does not need to explain every parameter because the schema already does, and no output schema exists so return values are not required. The description provides enough for an agent to call it correctly without missing key context.

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 72% (many parameters have descriptions), and the description adds meaningful context beyond those. It explains that all copied fields 'can be overridden in the same call' and clarifies the scheduling distinction between 'at' and 'useQueue:true'. It also mentions the default time ('an hour from now') implicitly via 'at' description in schema, but the description does not list every parameter. It augment the schema without fully compensating for the 28% undocumented parameters, so a 4 is appropriate.

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?

The description opens with a specific verb and resource: 'Copy an existing scheduled or already-published post into a NEW queued post.' It clearly states the action, the object, and the result, and distinguishes it from the sibling tool retry_scheduled by noting 'To re-fire only the channels that FAILED, use retry_scheduled instead.' This leaves no ambiguity about what the tool does and when to differentiate it.

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

Usage Guidelines5/5

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

The description explicitly lists use cases ('run a creative again, reuse a post that worked as the starting point for the next one, or re-send something after it went out') and provides a direct alternative: 'To re-fire only the channels that FAILED, use retry_scheduled instead.' It also explains the two scheduling modes (at vs useQueue), giving the agent clear conditions for each. No gaps remain about when to choose this tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hermoso-ai/hermoso'

If you have feedback or need assistance with the MCP directory API, please join our Discord server