---
title: Deploy Hooks are now available for Workers Builds
description: Trigger a build for a specific branch by sending a POST request to a unique URL.
image: https://developers.cloudflare.com/changelog-preview.png
---

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/changelog/llms.txt  
> Use this file to discover all available pages before exploring further. 

[Skip to content](#%5Ftop) 

# Changelog

New updates and improvements at Cloudflare.

[ Subscribe to RSS ](https://developers.cloudflare.com/changelog/rss/index.xml) [ View RSS feeds ](https://developers.cloudflare.com/fundamentals/new-features/available-rss-feeds/) 

![hero image](https://developers.cloudflare.com/_astro/hero.CVYJHPAd_26AMqX.svg) 

[ ← Back to all posts ](https://developers.cloudflare.com/changelog/) 

## Deploy Hooks are now available for Workers Builds

Apr 01, 2026 

[ Workers ](https://developers.cloudflare.com/workers/) 

[Workers Builds](https://developers.cloudflare.com/workers/ci-cd/builds/) now supports Deploy Hooks — trigger builds from your headless CMS, a Cron Trigger, a Slack bot, or any system that can send an HTTP request.

Each Deploy Hook is a unique URL tied to a specific branch. Send it a `POST` and your Worker builds and deploys.

Terminal window

```
curl -X POST "https://api.cloudflare.com/client/v4/workers/builds/deploy_hooks/<DEPLOY_HOOK_ID>"
```

To create one, go to **Workers & Pages** \> your Worker > **Settings** \> **Builds** \> **Deploy Hooks**.

Since a Deploy Hook is a URL, you can also call it from another Worker. For example, a Worker with a [Cron Trigger](https://developers.cloudflare.com/workers/configuration/cron-triggers/) can rebuild your project on a schedule:

* [  JavaScript ](#tab-panel-2625)
* [  TypeScript ](#tab-panel-2626)

JavaScript

```
export default {  async scheduled(event, env, ctx) {    ctx.waitUntil(fetch(env.DEPLOY_HOOK_URL, { method: "POST" }));  },};
```

TypeScript

```
export default {  async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext): Promise<void> {    ctx.waitUntil(fetch(env.DEPLOY_HOOK_URL, { method: "POST" }));  },} satisfies ExportedHandler<Env>;
```

You can also use Deploy Hooks to [rebuild when your CMS publishes new content](https://developers.cloudflare.com/workers/ci-cd/builds/deploy-hooks/#cms-integration) or [deploy from a Slack slash command](https://developers.cloudflare.com/workers/ci-cd/builds/deploy-hooks/#deploy-from-a-slack-slash-command).

#### Built-in optimizations

* **Automatic deduplication**: If a Deploy Hook fires multiple times before the first build starts running, redundant builds are automatically skipped. This keeps your build queue clean when webhooks retry or CMS events arrive in bursts.
* **Last triggered**: The dashboard shows when each hook was last triggered.
* **Build source**: Your Worker's build history shows which Deploy Hook started each build by name.

Deploy Hooks are rate limited to 10 builds per minute per Worker and 100 builds per minute per account. For all limits, see [Limits & pricing](https://developers.cloudflare.com/workers/ci-cd/builds/limits-and-pricing/).

To get started, read the [Deploy Hooks documentation](https://developers.cloudflare.com/workers/ci-cd/builds/deploy-hooks/).

```json
{"@context":"https://schema.org","@type":"BlogPosting","@id":"https://developers.cloudflare.com/changelog/post/2026-04-01-deploy-hooks/#page","headline":"Deploy Hooks are now available for Workers Builds · Changelog","description":"Trigger a build for a specific branch by sending a POST request to a unique URL.","url":"https://developers.cloudflare.com/changelog/post/2026-04-01-deploy-hooks/","inLanguage":"en","image":"https://developers.cloudflare.com/changelog-preview.png","dateModified":"2026-04-01","datePublished":"2026-04-01","publisher":{"@type":"Organization","name":"Cloudflare","url":"https://www.cloudflare.com/"},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```
