collections_items_create_item_live
Create and publish live items in Webflow collections using collection ID and item details. Ensure structured data aligns with CMS requirements for seamless integration.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | ||
| request | Yes |
Implementation Reference
- src/tools/cms.ts:197-208 (handler)The asynchronous handler function that executes the tool logic: calls Webflow API to create and publish a new CMS item live.async ({ collection_id, request }) => { try { const response = await getClient().collections.items.createItemLive( collection_id, request, requestOptions ); return formatResponse(response); } catch (error) { return formatErrorResponse(error); } }
- src/tools/cms.ts:188-209 (registration)The server.tool call that registers the tool, including name, description, input schema, and handler.server.tool( "collections_items_create_item_live", "Create and publish new items in a CMS collection directly to the live site.", { collection_id: z .string() .describe("Unique identifier for the Collection."), request: WebflowCollectionsItemsCreateItemLiveRequestSchema, }, async ({ collection_id, request }) => { try { const response = await getClient().collections.items.createItemLive( collection_id, request, requestOptions ); return formatResponse(response); } catch (error) { return formatErrorResponse(error); } } );
- Zod schema defining the input structure for creating CMS items live, including items array with fieldData.export const WebflowCollectionsItemsCreateItemLiveRequestSchema = z.object({ items: z .array( z.object({ id: z.string().optional(), cmsLocaleId: z .string() .optional() .describe("Unique identifier for the locale of the CMS Item."), lastPublished: z .string() .optional() .describe("Date when the item was last published."), lastUpdated: z .string() .optional() .describe("Date when the item was last updated."), createdOn: z .string() .optional() .describe("Date when the item was created."), isArchived: z .boolean() .optional() .describe("Indicates if the item is archived."), isDraft: z .boolean() .optional() .describe("Indicates if the item is a draft."), fieldData: z.record(z.any()).and( z.object({ name: z.string().describe("Name of the field."), slug: z .string() .describe( "URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug." ), }) ), }) ) .optional() .describe("Array of items to be created."), });