Skip to content

WebHook Tab

The Webhook tab allows us to connect Content Island with your deployment platform, enabling us to trigger a build and deploy process whenever content is published in a project. Four options are supported: GitHub, Netlify, Vercel, and a Custom HTTP Webhook for calling any endpoint of your own.

Initial State

Initially, the tab is empty and displays an Add New Webhook button.

Empty webhook tab with provider dropdown

Clicking it opens a dropdown menu with the available options:

Webhook provider dropdown menu
  • GitHub — triggers a repository dispatch event to start a build.
  • Netlify — calls a Netlify build hook URL.
  • Vercel — calls a Vercel deploy hook URL.
  • Custom HTTP Webhook — calls any URL you provide, with the headers you define.

Select the option that matches your deployment setup to continue with its configuration.

GitHub

After selecting GitHub, a set of fields appears that you need to fill out:

GitHub webhook fields
  • Organization Name: The name of the GitHub organization to which the webhook should be sent.

  • Repository Name: The name of the GitHub repository to which the webhook should be sent.

  • GitHub Token: The GitHub token used to authenticate the webhook. This token must be created in GitHub as a personal access token. To create a personal access token, go to GitHub settings and under Developer settings, generate a new token. The token must have write permissions for the target repository.

  • Event Name: The name of the event to send with the webhook. This event is triggered when content is published in the project. For example, you could use “content-published”.

Netlify

After selecting Netlify, a set of fields appears that you need to fill out:

campos del webhook de Netlify
  • Name: A descriptive label to identify this webhook within Content Island. This is a free alias and does not need to match anything in Netlify.

  • URL: The build hook URL generated by Netlify. You can find it in your Netlify site under Project configuration → Build & deploy → Build hooks → Add build hook. Treat this URL as a secret — anyone with it can trigger a deploy.

Vercel

After selecting Vercel, a set of fields appears that you need to fill out:

campos del webhook de Vercel
  • Name: A descriptive label to identify this webhook within Content Island. This is a free alias and does not need to match anything in Vercel.

  • URL: The deploy hook URL generated by Vercel. You can find it in your Vercel project under Settings → Git → Deploy Hooks → Create Hook. Treat this URL as a secret — anyone with it can trigger a deploy.

Custom HTTP Webhook

The three previous providers trigger a build and deploy. The Custom HTTP Webhook is for the cases where you don’t need to rebuild anything, you just need Content Island to call an endpoint of yours when content is published.

The typical use case is refreshing a Dynamic Snapshot: your site keeps the content in memory and, when it receives the call, it reloads the snapshot and starts serving the new version — no rebuild involved.

After selecting Custom HTTP Webhook, a short form appears that you need to fill out:

custom webhook form fields
  • Name: A descriptive label to identify this webhook within Content Island. It is a free alias.

  • URL: The endpoint Content Island will call when you publish, for example https://your-project.vercel.app/api/snapshot/refresh.

  • Headers: A list of key/value pairs sent with the request. This is where you put your shared secret, for example a header named x-refresh-secret with the same value you have in your deployment environment variables.

Send Test

The Send Test button sends the request right away, so you can check the response in your hosting provider’s logs without having to publish content.

A snapshot refresh endpoint, for instance, would answer with something like:

{
"status": "updated",
"version": "2026-08-23T14:19:01.116Z",
"encoding": "gzip",
"compressedSize": 104292,
"uncompressedSize": 408067
}

Once the test works, the real check is to change anything under Content and publish it: Content Island calls your URL and your site updates itself.

Why not use the GitHub webhook for this

You can reach the same result through GitHub, but it takes a detour: the webhook fires a repository_dispatch, a GitHub Action listens for that event, and the Action runs a curl against your endpoint. That is three hops, a GitHub token with write permissions, and a workflow to maintain — all to end up making a single HTTP request.

The Custom HTTP Webhook skips the detour: Content Island calls your URL directly, with the headers you define.

Example

Example of how this works: Go to the webhook tutorial video