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: collectionsApi
url: ../openapi/webflow-api-and-documentation-webflow-collections-api-openapi.yml
type: openapi
- name: sitesApi
url: ../openapi/webflow-api-and-documentation-webflow-sites-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
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.