Webflow API and Documentation · Arazzo Workflow

Webflow Register Webhook

Version 1.0.0

Resolve a site, register a webhook for an event, and confirm the registration.

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

Provider

webflow-api-and-documentation-webflow

Workflows

register-webhook
Register a webhook on a site and confirm it.
Confirms the site exists, creates a webhook for the supplied trigger type and destination URL, and retrieves the created webhook to verify it.
3 steps inputs: accessToken, destinationUrl, siteId, triggerType outputs: webhookId
1
getSite
get-site
Resolve the site to confirm it exists before registering a webhook.
2
createWebhook
create-webhook
Register a webhook for the supplied trigger type and destination URL.
3
confirmWebhook
get-webhook
Retrieve the created webhook to confirm the registration persisted.

Source API Descriptions

Arazzo Workflow Specification

webflow-api-and-documentation-webflow-register-webhook-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Webflow Register Webhook
  summary: Resolve a site, register a webhook for an event, and confirm the registration.
  description: >-
    Wires a Webflow site up to an external listener. The workflow resolves the
    site to confirm it exists, registers a webhook for the requested trigger
    type pointing at the supplied URL, and reads the webhook back to confirm the
    registration persisted. 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: register-webhook
  summary: Register a webhook on a site and confirm it.
  description: >-
    Confirms the site exists, creates a webhook for the supplied trigger type
    and destination URL, and retrieves the created webhook to verify it.
  inputs:
    type: object
    required:
    - accessToken
    - siteId
    - triggerType
    - destinationUrl
    properties:
      accessToken:
        type: string
        description: Webflow OAuth bearer token with sites:read and sites:write scopes.
      siteId:
        type: string
        description: Unique identifier for the Site to register the webhook on.
      triggerType:
        type: string
        description: Event that triggers the webhook (e.g. form_submission, site_publish).
      destinationUrl:
        type: string
        description: URL the webhook payload is sent to.
  steps:
  - stepId: getSite
    description: Resolve the site to confirm it exists before registering a webhook.
    operationId: get-site
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: site_id
      in: path
      value: $inputs.siteId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      siteId: $response.body#/id
  - stepId: createWebhook
    description: Register a webhook for the supplied trigger type and destination URL.
    operationId: create-webhook
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: site_id
      in: path
      value: $inputs.siteId
    requestBody:
      contentType: application/json
      payload:
        triggerType: $inputs.triggerType
        url: $inputs.destinationUrl
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      webhookId: $response.body#/id
  - stepId: confirmWebhook
    description: Retrieve the created webhook to confirm the registration persisted.
    operationId: get-webhook
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: webhook_id
      in: path
      value: $steps.createWebhook.outputs.webhookId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      webhookId: $response.body#/id
      triggerType: $response.body#/triggerType
  outputs:
    webhookId: $steps.createWebhook.outputs.webhookId