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

# Managing Grow CRM Webhook Endpoints and Delivery Logs

> Create, edit, and delete Grow CRM webhook endpoints, subscribe to specific events, send test deliveries, and inspect delivery logs.

An endpoint is the combination of a destination URL and the set of events it should receive. You can create as many endpoints as you need — for example, one for your billing system that only receives invoice and payment events, and another for your project management tool that only receives project and task events. Every endpoint gets its own signing secret, delivery log, and independent retry cycle.

## Creating an endpoint

<Steps>
  <Step title="Open the Endpoints page">
    Go to **Settings → Webhooks → Endpoints** and click **Add Endpoint**.
  </Step>

  <Step title="Fill in the details">
    Provide the following three fields:

    * **Endpoint Name** — a label to help you tell your endpoints apart. Choose something descriptive, like "Billing Notifications" or "Project Sync".
    * **Endpoint URL** — the `https://` URL that Grow CRM will POST to when an event fires.
    * **Subscribed Events** — check each event you want delivered to this endpoint from the grouped list (Clients, Leads, Invoices, and so on). Only checked events are sent. See the [Event reference](/events) for the full list of available events.
  </Step>

  <Step title="Save the endpoint">
    Click **Save**. The endpoint is immediately **active**, and Grow CRM generates a signing secret for it automatically. Copy the secret from the endpoint's detail page and store it securely — you'll need it to [verify incoming requests](/verification).
  </Step>
</Steps>

## Editing and deleting

Edit an endpoint at any time to update its name, destination URL, or subscribed events. Changes take effect immediately — the next delivery will use the updated settings.

<Warning>
  Deleting an endpoint permanently removes its subscriptions and its entire delivery log. This action cannot be undone. If you only want to pause deliveries temporarily, consider editing the endpoint and removing all subscribed events rather than deleting it outright.
</Warning>

## Sending a test event

Once an endpoint is saved, open its detail page and use **Send Test Event** to select one of its subscribed events and queue a single delivery carrying synthetic example data. This is the fastest way to confirm that your receiving server is reachable and that your signature verification code works correctly — without waiting for real CRM activity to occur.

<Note>
  Test deliveries are clearly synthetic. The payload uses `"id": 0` and contains a placeholder message — real customer data is never used for a test send.
</Note>

## The delivery log

Every attempted delivery — whether triggered by real CRM activity or a manual test send — appears in the endpoint's delivery log. Each row shows:

| Column        | Description                                                                                                              |
| ------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Event key     | The event that triggered the delivery, e.g. `invoice.created`.                                                           |
| Status        | **Pending** (awaiting dispatch), **Success** (your server returned `2xx`), or **Exhausted** (all three attempts failed). |
| HTTP response | The status code returned by your server, if any response was received.                                                   |
| Attempts      | How many delivery attempts have been made so far.                                                                        |
| Timestamp     | The date and time of the most recent attempt.                                                                            |
| Payload       | Expand **View** to inspect the exact JSON body that was sent.                                                            |

## Resending a delivery

Any delivery in the log — including one that already succeeded — can be manually resent using the resend button. Resending resets the delivery's attempt count and queues it for immediate dispatch. Use this to replay a delivery after fixing an issue on your receiving server, without waiting for the original CRM event to occur again.

## Re-enabling a disabled endpoint

If Grow CRM disabled your endpoint after 10 consecutive failed deliveries, fix the issue on your receiving server first, then go to **Settings → Webhooks → Endpoints**, open the endpoint, and save it again. Saving reactivates the endpoint and new deliveries will resume immediately.
