---
key: send-nova-events-to-another-system-with-a-webhook
title: Send Nova events to another system with a webhook
audience: staff
section: settings/integrations
routes: ["/settings/org/integrations/webhooks/:tab?/:recordUid?"]
permissions: ["integrations.webhooks.read"]
features: ["integrations.webhooks"]
since: 0.0.1
updated: 0.0.1
status: published
summary: Add a webhook so Nova tells another system when bookings and other records change, check it, and see, retry or replay what Nova sent from Delivery history.
keywords: [webhook, send events, notify our system, integration, zapier, delivery failed, retry delivery, signing secret, booking events, outbound]
related: [api-webhooks, create-an-api-key-for-your-own-software, read-the-audit-log]
---

In the sidebar, open **Administration**, then choose **Webhooks** under **Integrations & API**. The page address is `/settings/org/integrations/webhooks/endpoints`. The other tabs are **Delivery history**, **Endpoint health**, **Event catalog** and **Event explorer**; each has its own address.

A webhook is an address in another system, such as your own software or an automation tool, that Nova sends a short message to when something happens, for example a booking is created. Whoever runs that system gives you the address; their technical details are in [[api-webhooks]].

## Before you start

- Your plan has to include webhooks and your role needs permission to view them. Adding, changing, testing, retrying and deleting each need their own permission; a button you cannot use is hidden or greyed out.

## Steps

1. On **Endpoints**, press **New webhook**. **New webhook endpoint** opens.
2. Type a **Name** you will recognise, and paste the address into **Webhook URL**.
3. Leave **Secret** blank so Nova makes one, or type the secret the other system already expects.
4. Turn on **Subscribe to all events**, or search under **Event subscriptions** and pick each event you want.
5. Leave the delivery numbers, such as **Max attempts**, as they are unless the other system's owner asks. Leave **Allow sensitive payload fields** off so private details stay out of what Nova sends.
6. Press **Create endpoint**. **Signing secret generated** appears above the list.
7. Press **Copy**, hand the secret to whoever runs the other system, then press **Dismiss**. It is shown this once.
8. When the other system is ready, press the ⋯ button at the end of the row and choose **Verify endpoint**. Nova sends a one-time check that the other system has to answer, then shows **Endpoint verified.** or the reason it failed.
9. From the same menu, **Test webhook** sends a sample message and tells you whether it arrived.
10. To check what Nova sent, open **Delivery history**. Each message shows its **Event**, the webhook, its **Status**, **Attempts**, the other system's answer under **HTTP**, and when Nova tries again under **Next attempt**.
11. Press **Filters** to narrow by **Status**: **Pending**, **Retrying**, **Delivered**, **Failed**, **Blocked**, **Skipped** or **Dead letter** (Nova gave up after the last attempt).
12. Press **View**. **Delivery detail** shows what was sent under **Payload** and each try under **Attempt history**, with its error.
13. Press **Retry** to send a failed, blocked, skipped or dead-letter message again. On a delivered one the button reads **Replay**.
14. After an outage, press **Retry filtered** to re-send up to 250 messages matching the **Status** filter; with **All statuses** that is every failed, dead-letter, blocked and skipped one. It does not ask to confirm.

## What you see

- **Endpoint health** covers the last 24 hours per webhook: verification, success rate, failures in a row against the threshold, and the last success and failure. When the threshold is reached, **Circuit** shows Nova pausing that webhook for a cool-down.
- **Event catalog** lists every event Nova can send. **Event explorer** lists recent events; **Replay** sends one again to every webhook subscribed to it.
- **Delete webhook** in the ⋯ menu removes a webhook once you confirm **Delete**.

## If something looks different

- A new webhook shows **Disabled** although **Enabled** was on: Nova never sends to an address it has not verified. **Verify endpoint** checks the address but leaves it off; switching it on is the edit panel's **Verify + enable**.
- Pressing a webhook's row or pencil shows **Invalid webhook link.** and nothing opens: this is a known problem with the edit panel. Until it is fixed you cannot rename a webhook, switch it on, change its events or rotate its secret here. Ask Nova support.
- The **Endpoint** filter in **Delivery history** does not narrow the list today, and **Retry filtered** ignores it. Use **Status** and **Event** instead.
- Tests and deliveries to a webhook that is not verified end as **Blocked**.

[[route:/settings/org/integrations/webhooks/endpoints|Open Webhooks]]
