How to update your site's content without republishing (CMS webhook)
A TeleportHQ site that shows content from a headless CMS is built when you publish. The CMS Webhook lets your live site refresh that content by itself when the content changes, without a new publish. Publish once, open Publish → CMS Webhook, click Enable, set a secret and publish again. Then add the webhook address, including its ?WEBHOOK_SECRET=… part, to your CMS's webhook settings.
Before you start
- A headless CMS connection. The webhook refreshes content from Strapi, Contentful, WordPress, caisy.io or Flotiq. See How to connect a headless CMS. The CMS Webhook tab also appears in projects that only have other data sources. Don't enable it there: without a headless CMS connection, the next publish fails. See Publishing failed: what should I do?
- Publish to Production first. Before that, the tab says "Webhook system available after first publish". See How to publish your site.
- Plan. Enabling the webhook needs a Trial, Pro or Premium workspace.
- Access to your CMS settings, where you can add a webhook (for example in Strapi or Contentful).
Steps
1. Turn on the webhook in TeleportHQ
- Open your project in the editor.
- At the top right, click Publish.
- At the top of the window, click the CMS Webhook tab.
- Click Enable. The Cache revalidate period and Secret settings become editable, and the status next to the webhook address says Enabled.
- Optional: tick Cache revalidate period and type a number of seconds, for example
60(the default when you tick it). - In Secret, type a secret word that only you and your CMS know, for example
bakery-menu-2026. - When you see "Webhook configuration has changed. Publish in order to apply the changes.", click the Publish tab, then click Publish to Production.
2. Add the webhook in your CMS
- In the CMS Webhook tab, read the webhook address. It looks like
https://sunny-bakery.teleporthq.app/api/revalidate?WEBHOOK_SECRET=bakery-menu-2026. - In your CMS, open the webhook settings.
- Create a webhook that fires when an entry is created, updated, published, unpublished or deleted. Keep your CMS's default request body: TeleportHQ reads it to know which pages to refresh.
- Paste the address, check that it ends with
?WEBHOOK_SECRET=and your secret, and save.
Check that it worked
Change a piece of content in your CMS, for example the price of a cake. Wait a few seconds, then reload the page on your live site. The new content appears without a new publish.
Troubleshooting
"Webhook system available after first publish" Publish the project to Production once, then open the tab again.
"Webhook configuration has changed. Publish in order to apply the changes." Your webhook settings aren't live yet. Publish to Production again.
The Enable button is greyed out The site isn't published to Production yet, a publish is running, or the workspace has no active plan.
Content still doesn't update
- Check that the address in your CMS ends with
?WEBHOOK_SECRET=and the exact secret from the Secret field. - Check that you published to Production after changing the webhook settings. Publishing to Staging doesn't apply them to your live site.
- Check that the webhook in your CMS sends its default request body, not a custom one.
Good to know
- The webhook refreshes content, not design. Changes you make in the TeleportHQ editor still need Publish to Production.
- Set a secret. Without one, anyone who knows the address can ask your site to refresh.
- Cache revalidate period works even without a webhook call: your live pages refresh their content by themselves, at most once per period, when someone visits them.
- Own Vercel account. For projects that can publish to your own Vercel account, the CMS Webhook tab has its own Web / Vercel switch: pick the one you publish with.
- Turn it off with Disable, then publish to Production again.