arazzo: 1.0.1 info: title: Webflow Update Page SEO and Publish summary: List a site's pages, read the first page's metadata, update its SEO, then publish the site. description: >- Improves a page's search and social presence and pushes it live. The workflow lists the pages on a site, reads the first page's current metadata, updates its title, slug, and SEO and Open Graph fields, and publishes the site so the changes take effect. 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: update-page-seo summary: Read a page's metadata, update its SEO, and publish the site. description: >- Lists the pages on a site, reads the first page's metadata, updates the page's SEO and Open Graph settings, and publishes the site. inputs: type: object required: - accessToken - siteId - pageTitle - seoTitle - seoDescription properties: accessToken: type: string description: Webflow OAuth bearer token with pages:read, pages:write, and sites:write scopes. siteId: type: string description: Unique identifier for the Site whose page is updated. pageTitle: type: string description: New title for the page. seoTitle: type: string description: SEO title shown in search engine results. seoDescription: type: string description: SEO description shown in search engine results. steps: - stepId: listPages description: List the pages that belong to the site. operationId: list-pages parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: site_id in: path value: $inputs.siteId successCriteria: - condition: $statusCode == 200 outputs: firstPageId: $response.body#/pages/0/id - stepId: getPageMetadata description: Read the first page's current metadata. operationId: get-page-metadata parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: page_id in: path value: $steps.listPages.outputs.firstPageId successCriteria: - condition: $statusCode == 200 outputs: pageId: $response.body#/id - stepId: updatePage description: Update the page's title and SEO and Open Graph fields. operationId: update-page-settings parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: page_id in: path value: $steps.getPageMetadata.outputs.pageId requestBody: contentType: application/json payload: title: $inputs.pageTitle seo: title: $inputs.seoTitle description: $inputs.seoDescription successCriteria: - condition: $statusCode == 200 outputs: pageId: $response.body#/id - stepId: publishSite description: Publish the site so the updated page metadata 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: pageId: $steps.getPageMetadata.outputs.pageId