arazzo: 1.0.1 info: title: Webflow Create Item and Publish Site summary: Create a draft item, publish the item, then publish the whole site. description: >- Pushes new CMS content all the way to a live audience. The workflow creates a new collection item in draft, publishes that item, and then publishes the entire site so the change appears on the live domains. Each step spells out its request inline so the flow can be read and executed without opening the underlying OpenAPI description. version: 1.0.0 sourceDescriptions: - name: webflowDataApi url: ../openapi/webflow-data-api-openapi.yml type: openapi workflows: - workflowId: create-item-and-publish-site summary: Create an item, publish it, and publish the site to its domains. description: >- Creates a collection item, publishes the item, then publishes the site to the Webflow subdomain so the new content goes live. inputs: type: object required: - accessToken - siteId - collectionId - itemName - itemSlug properties: accessToken: type: string description: Webflow OAuth bearer token with cms:write and sites:write scopes. siteId: type: string description: Unique identifier for the Site to publish. collectionId: type: string description: Unique identifier for the Collection to add the item to. itemName: type: string description: Name of the item to create. itemSlug: type: string description: URL slug of the item to create. steps: - stepId: createItem description: Create a draft item in the collection. operationId: create-item parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: collection_id in: path value: $inputs.collectionId requestBody: contentType: application/json payload: isArchived: false isDraft: true fieldData: name: $inputs.itemName slug: $inputs.itemSlug successCriteria: - condition: $statusCode == 202 outputs: itemId: $response.body#/id - stepId: publishItem description: Publish the newly created item. operationId: publish-item parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: collection_id in: path value: $inputs.collectionId requestBody: contentType: application/json payload: itemIds: - $steps.createItem.outputs.itemId successCriteria: - condition: $statusCode == 202 outputs: publishedItemIds: $response.body#/publishedItemIds - stepId: publishSite description: Publish the site to the default Webflow subdomain so the item goes live. operationId: site-publish parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: site_id in: path value: $inputs.siteId requestBody: contentType: application/json payload: publishToWebflowSubdomain: true successCriteria: - condition: $statusCode == 202 outputs: publishToWebflowSubdomain: $response.body#/publishToWebflowSubdomain outputs: itemId: $steps.createItem.outputs.itemId