Create Page
create_pageCreate a page on an existing website using AI. Initiates an async workflow and returns an ID to track progress via status checks.
Instructions
Create a new page on an existing website using AI. Starts an asynchronous workflow and returns a workflow_id immediately — poll check_page_status with that id to track progress and get the final result.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| website_id | Yes | The website ID | |
| prompt | Yes | Describe the page to create | |
| schedule_at | No | Optional ISO 8601 datetime to schedule for later |
Implementation Reference
- server/index.js:521-540 (registration)The tool 'create_page' is registered using server.registerTool() with title 'Create Page', description explaining it starts an async workflow, and inputSchema requiring website_id and prompt, with an optional schedule_at.
server.registerTool( "create_page", { title: "Create Page", description: "Create a new page on an existing website using AI. Starts an asynchronous workflow and returns a `workflow_id` immediately — poll `check_page_status` with that id to track progress and get the final result.", inputSchema: { website_id: z.string().describe("The website ID"), prompt: z.string().describe("Describe the page to create"), schedule_at: z.string().optional().describe("Optional ISO 8601 datetime to schedule for later"), }, annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true }, }, async ({ website_id, prompt, schedule_at }) => { const body = { prompt }; if (schedule_at) body.schedule_at = schedule_at; const data = await apiCall(`/v1/ai/workspace/website/${website_id}/page`, "POST", body); const payload = data?.result || data; return { content: [{ type: "text", text: JSON.stringify(payload, null, 2) }] }; } ); - server/index.js:533-539 (handler)Handler function that executes the tool logic: builds a body with prompt (and optionally schedule_at), calls POST /v1/ai/workspace/website/{website_id}/page, and returns the result as text content.
async ({ website_id, prompt, schedule_at }) => { const body = { prompt }; if (schedule_at) body.schedule_at = schedule_at; const data = await apiCall(`/v1/ai/workspace/website/${website_id}/page`, "POST", body); const payload = data?.result || data; return { content: [{ type: "text", text: JSON.stringify(payload, null, 2) }] }; } - server/index.js:527-530 (schema)Input schema using zod: website_id (string), prompt (string), and optional schedule_at (ISO 8601 string).
website_id: z.string().describe("The website ID"), prompt: z.string().describe("Describe the page to create"), schedule_at: z.string().optional().describe("Optional ISO 8601 datetime to schedule for later"), },