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

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# Sending workspace events with webhooks

> Send a signed request to your own systems when something happens in your workspace. Create, activate and manage webhooks in settings.

Outgoing webhooks tell your own systems when something changes in your workspace. When something happens in your workspace, such as an app being published or the AI builder finishing a message, Base44 sends a signed request to the URL you choose, so your systems stay up to date without checking for changes.

<Warning>
  Outgoing webhooks are available on the Business and Enterprise plans, and only workspace owners and admins can manage them. Your developers need a receiver at the URL first. To learn how to build one, see the [outbound webhooks overview](/developers/references/outbound-webhooks/get-started/overview).
</Warning>

<Frame caption="Outgoing webhooks on the Webhooks page">
  <img src="https://mintcdn.com/base44/UhEyXj-zHgrdWw5u/images/outgoing-webhooks-list.png?fit=max&auto=format&n=UhEyXj-zHgrdWw5u&q=85&s=9db3c1b0c640a60be866ef912e96fca4" alt="The Outgoing tab listing 4 webhooks: 2 active, 1 paused and 1 pending" width="2800" height="1294" data-path="images/outgoing-webhooks-list.png" />
</Frame>

***

## Creating a webhook

Create a webhook for each URL that should receive events. You can create up to 10 per workspace. A new webhook is **Pending** and receives nothing until you activate it. After you create it, Base44 shows your workspace's public signing key, which your receiver uses to confirm each request came from Base44. The key is safe to share with your developers.

**To create a webhook:**

1. Click your workspace name at the bottom left and click **Settings**.
2. Click **Webhooks** in the sidebar, then click the **Outgoing** tab.
3. Click **Create webhook**.
4. Enter the **Endpoint URL**. It must start with `https://`.
5. Under **Events to send**, select the events this URL should receive.
6. (Optional) Enter a **Description** so your team knows what the webhook is for.
7. Click **Create webhook**.

<Frame caption="Creating a webhook">
  <img src="https://mintcdn.com/base44/Cv0IQGEx6eX2LIU1/images/create-outgoing-webhook.png?fit=max&auto=format&n=Cv0IQGEx6eX2LIU1&q=85&s=d67e53d0c07a4791f5aab4869bbad414" alt="The Create webhook form with an endpoint URL, 3 selected events and a description" width="1024" height="1188" data-path="images/create-outgoing-webhook.png" />
</Frame>

***

## Activating a webhook

Activating sends a test event to your URL. The webhook becomes **Active** when your receiver answers and returns the code in the test event. If activation doesn't complete, Base44 says why, for example that your endpoint didn't answer in time or didn't return the code. Fix the receiver and activate again.

**To activate a webhook:**

1. Click your workspace name at the bottom left and click **Settings**.
2. Click **Webhooks** in the sidebar, then click the **Outgoing** tab.
3. Click the **More actions** icon <Icon icon="ellipsis" color="currentColor" /> next to the webhook and select **Activate**.

***

## Managing webhooks

Pause a webhook while your receiver is being updated, change what it receives, or remove it. A webhook that fails for several days in a row is **Auto-paused** by Base44. When your receiver works again, resume it, and Base44 runs the activation test again before it starts sending.

**To manage a webhook:**

1. Click your workspace name at the bottom left and click **Settings**.
2. Click **Webhooks** in the sidebar, then click the **Outgoing** tab.
3. Click the **More actions** icon <Icon icon="ellipsis" color="currentColor" /> next to the webhook and select an option:
   * **Send test event:** Sends a test event to check your receiver.
   * **Edit endpoint:** Changes the URL, the events or the description. Changing the URL stops deliveries until you activate the new URL.
   * **Pause deliveries** or **Resume deliveries:** Stops or restarts sending. Events that happen while a webhook is paused aren't sent later.
   * **Delete endpoint:** Stops sending to the URL immediately.

<Frame caption="Managing a webhook">
  <img src="https://mintcdn.com/base44/UhEyXj-zHgrdWw5u/images/outgoing-webhook-actions-menu.png?fit=max&auto=format&n=UhEyXj-zHgrdWw5u&q=85&s=93c4093385d7bf5870fa2618d5ea03fe" alt="The More actions menu open on an active webhook, with Send test event, Edit endpoint, Pause deliveries and Delete endpoint" width="2800" height="934" data-path="images/outgoing-webhook-actions-menu.png" />
</Frame>

***

## Managing the signing key

Every request is signed with your workspace's key. Rotating replaces it with a new one: Base44 signs with both the old and the new key for 24 hours, so your receiver keeps working while your developers add the new key. When they're done, click **Finish rotation** to stop using the old key sooner.

<Warning>
  **Revoke** stops Base44 signing with a key immediately. Receivers that only have that key reject every delivery until they get the new one. For a routine change, rotate the key instead.
</Warning>

**To rotate the signing key:**

1. Click your workspace name at the bottom left and click **Settings**.
2. Click **Webhooks** in the sidebar, then click the **Outgoing** tab.
3. Click **See public keys**.
4. Click **Rotate key**, then click **Rotate key** to confirm.

<Frame caption="The signing keys during a rotation">
  <img src="https://mintcdn.com/base44/UhEyXj-zHgrdWw5u/images/outgoing-webhook-signing-keys.png?fit=max&auto=format&n=UhEyXj-zHgrdWw5u&q=85&s=8ede530dbaeb433e3fc2c19c1707030e" alt="The Public signing keys dialog during a rotation, with the current key, the old key's stop date and Finish rotation" width="1024" height="1088" data-path="images/outgoing-webhook-signing-keys.png" />
</Frame>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.