stories-set-external-links
Replace all external links on a Shortcut story with a new set of URLs to update references and resources.
Instructions
Replace all external links on a story with a new set of links
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| storyPublicId | Yes | The public ID of the story | |
| externalLinks | Yes | Array of external link URLs to set (replaces all existing links) |
Implementation Reference
- src/tools/stories.ts:353-364 (registration)Registration of the 'stories-set-external-links' tool, including input schema validation using Zod and reference to the handler method.server.addToolWithWriteAccess( "stories-set-external-links", "Replace all external links on a story with a new set of links", { storyPublicId: z.number().positive().describe("The public ID of the story"), externalLinks: z .array(z.string().url().max(2048)) .describe("Array of external link URLs to set (replaces all existing links)"), }, async ({ storyPublicId, externalLinks }) => await tools.setStoryExternalLinks(storyPublicId, externalLinks), );
- src/tools/stories.ts:806-819 (handler)The main handler function for the 'stories-set-external-links' tool. It validates inputs, calls the Shortcut client to set the external links on the story, and returns a success message with the story URL.async setStoryExternalLinks(storyPublicId: number, externalLinks: string[]) { if (!storyPublicId) throw new Error("Story public ID is required"); if (!Array.isArray(externalLinks)) throw new Error("External links must be an array"); const updatedStory = await this.client.setStoryExternalLinks(storyPublicId, externalLinks); const linkCount = externalLinks.length; const message = linkCount === 0 ? `Removed all external links from story sc-${storyPublicId}` : `Set ${linkCount} external link${linkCount === 1 ? "" : "s"} on story sc-${storyPublicId}`; return this.toResult(`${message}. Story URL: ${updatedStory.app_url}`); }
- src/tools/stories.ts:356-361 (schema)Input schema for the 'stories-set-external-links' tool using Zod for validation of storyPublicId and externalLinks array.{ storyPublicId: z.number().positive().describe("The public ID of the story"), externalLinks: z .array(z.string().url().max(2048)) .describe("Array of external link URLs to set (replaces all existing links)"), },