Deployments

How to update your site's content without republishing (CMS webhook)

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

  1. Open your project in the editor.
  2. At the top right, click Publish.
  3. At the top of the window, click the CMS Webhook tab.
  4. Click Enable. The Cache revalidate period and Secret settings become editable, and the status next to the webhook address says Enabled.
  5. Optional: tick Cache revalidate period and type a number of seconds, for example 60 (the default when you tick it).
  6. In Secret, type a secret word that only you and your CMS know, for example bakery-menu-2026.
  7. 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

  1. In the CMS Webhook tab, read the webhook address. It looks like https://sunny-bakery.teleporthq.app/api/revalidate?WEBHOOK_SECRET=bakery-menu-2026.
  2. In your CMS, open the webhook settings.
  3. 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.
  4. 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.

The CMS Webhook tab of the TeleportHQ Publish window before the first publish, with the line Webhook system available after first publish highlighted

"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.
Share

Related Articles

How to connect a headless CMS (Strapi, Contentful, WordPress and more)

In TeleportHQ, you connect Strapi, Contentful, WordPress, caisy.io or Flotiq from Data Sources → Add Data Source → CMS Connection, enter the CMS credentials, and choose which content types get automatic list and details pages.

What are data sources, and which ones can I connect?

A data source is a connection that brings content from a database, spreadsheet, API or headless CMS into your TeleportHQ project, so your pages show real data instead of typed text; you manage them in the editor's Data Sources panel, and connecting one keeps a website a website.

How to publish your site

In TeleportHQ, click Publish at the top right of the editor, keep Production selected, and click Publish to Production; a progress bar beside the button shows each step, and after a few minutes your site is live on a free TeleportHQ address that you can share.

Why don't my changes show on my live site?

TeleportHQ doesn't publish design and page changes by itself, so they reach your live site only after you click Publish to Production; blog posts, help center articles and database records go live without a publish, usually within seconds, while cached lists and API answers can lag until their cache time runs out (5 minutes by default).

Why does my data look different in the editor and on my live site?

In TeleportHQ, the editor and your published site load data separately: design and filter changes need a publish, cached lists and cached REST API responses can show older content for a while, CMS pages refresh on their own schedule, and data changed outside TeleportHQ needs a Refresh in the editor.