Webhooks

What a webhook does

When you publish in Webflow, Webflow sends a message to WCH. WCH then rebuilds your site or pushes it to a destination, depending on how the webhook is set up. Webhooks do not sync data. They only start the WCH process once Webflow has finished its own publish.

Publishing webhooks

A publishing webhook fires when a site publish finishes in Webflow. It has two settings.

Trigger

  • On Staging publish: fires when the Webflow publish includes a staging address. Any .webflow.io address counts, and so does the custom staging domain you enter in the Staging URL field in Settings.
  • On Production publish: fires only when the publish goes to your live domains and no staging address. Your Webflow site needs a production domain added for this to ever fire.

Destination

You pick a specific destination from the list of deployments configured for the project: a GitHub repository, an AWS S3 bucket, or an Azure container.

  • A non-production destination makes WCH rebuild the site from Webflow and then deploy it there.
  • A production destination (one with Is Production? turned on) makes WCH skip the rebuild and push the most recent finished build straight to it.

Set up two webhooks and a Webflow staging publish can feed your pre-production destination while a Webflow production publish feeds your live one.

Set up a publishing webhook for one project

Your project needs a source and at least one finished WCH publish first. Only team admins can add webhooks.

  1. Open the project and go to Settings.
  2. Scroll to Publishing webhooks and click Add publishing webhook.
  3. A Webflow window opens. Pick the Webflow site and approve access.
  4. In the Configure Webflow webhook window, choose a Trigger and a Destination.
  5. Click Continue.

The new webhook appears under Created webhooks, with its type, trigger, destination, and URL. If webhooks were created in Webflow directly, click Sync from Webflow to import them.

Set up a default webhook for the whole team

Team-level settings apply to every new AWS S3 or Azure deployment you create from a team template.

  1. In the main sidebar, open Settings.
  2. Scroll to the Webflow Webhook section and turn on the toggle.
  3. Choose a Trigger, then a Destination: Non-production destination or Production destination.
  4. Click Save.
  5. When you next create an AWS S3 or Azure deployment, click Save and create webhook. WCH creates the webhook bound to that new deployment.

If the team webhook destination is set to Production, the deployment you create with it must have Is Production? turned on.

CMS webhooks

CMS webhooks publish a single collection item when it is created, edited, published, or deleted in Webflow, without republishing the whole site. They are useful for blogs and news sites that update often.

  1. In Settings, scroll to CMS Webhooks and click Add CMS webhooks.
  2. Review the list of Webflow events that will be registered.
  3. Choose a Destination. Leave it as staging only to update just the staging site, or pick a destination to deploy the project there after every CMS item publish.
  4. Click Create webhooks.

A separate log, with its own Clear CMS Webhook Logs button, records each CMS event WCH received.

Checking what happened

Each incoming webhook is written to the logs in Settings. If a webhook arrives while the project is already publishing, WCH skips it instead of queuing it. Publish again in Webflow once the running publish finishes.

Removing a webhook

  • In WCH: under Created webhooks, click the delete icon on the row. WCH removes it from Webflow too.
  • In Webflow: open Site settings, then Apps & integrations, and remove it there. Click Sync from Webflow in WCH afterwards so the list matches.