Webflow API and Documentation · Arazzo Workflow

Webflow Create Item and Publish Site

Version 1.0.0

Create a draft item, publish the item, then publish the whole site.

1 workflow 1 source API 1 provider
View Spec View on GitHub CMSContent ManagementEcommerceNo-CodePublishingWeb DevelopmentArazzoWorkflows

Provider

webflow-api-and-documentation-webflow

Workflows

create-item-and-publish-site
Create an item, publish it, and publish the site to its domains.
Creates a collection item, publishes the item, then publishes the site to the Webflow subdomain so the new content goes live.
3 steps inputs: accessToken, collectionId, itemName, itemSlug, siteId outputs: itemId
1
createItem
create-item
Create a draft item in the collection.
2
publishItem
publish-item
Publish the newly created item.
3
publishSite
site-publish
Publish the site to the default Webflow subdomain so the item goes live.

Source API Descriptions

Arazzo Workflow Specification

webflow-api-and-documentation-webflow-create-item-and-publish-site-workflow.yml Raw ↑
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