# Webhook Management

{% hint style="warning" %}
The Webhook addon service needs to be enabled on the node for you to use webhooks.

Follow the guide to manage the Webhook addon service [here](/services/dedicated-indexing/graph-nodes/graph-node-manual/manage-addon-services.md).
{% endhint %}

{% hint style="warning" %}
Webhook management is only possible for deployed subgraphs.
{% endhint %}

This section will guide you on how to manage your webhooks.

* [Create Webhook](#create-webhook)
* [Update Webhook](#update-webhook)
* [Undelivered Records](#undelivered-records)
* [Delete Webhook](#delete-webhook)

### Handle Incoming Webhook Data <a href="#handle-incoming-webhook-data" id="handle-incoming-webhook-data"></a>

When configuring a webhook, it is imperative that the URL specified is capable of handling **POST** requests.

**API Request Retry Policy**

When initiating a request to a specified URL, the system will automatically attempt to connect up to three times at 30-minute intervals.&#x20;

If, after three attempts, the URL remains unreachable, the data will be classified as an **undelivered record.**

Sample data payload that will be sent to the provided URL.

```json
{
  "data": [
    {
      "id": "\\x1af00600",
      "vid": 50,
      "hour": 454682,
      "block$": 56200,
      "protocol": "\\x4200000000000000000000000000000000000010",
      "timestamp": 1636856051,
      "block_number": 56200,
      "cumulative_transaction_count": 1621,
      "cumulative_transfer_in_count": 1440,
      ...
    },
    {
      ...
    },
    {
      ...
    }
  ]
}
```

***

### Create Webhook

On the subgraph detail page, navigate to the **Webhooks** section. Now, click on the **'+**' icon.

<figure><img src="/files/ZA8NxyFfdTIjbt8tf5mC" alt=""><figcaption></figcaption></figure>

In the window that appears, choose the entities for whom you want to enable webhooks. Then, type in the URL of the location where you want the data for these entities to be sent.

Now, click the **Create** button to create webhooks for the selected entities.

<figure><img src="/files/yiMtlmCQoTU68SxX8ADo" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/MOVacsAiJlatz1v6d1FI" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CdNCQWSSQV6IDPWy91g7" alt=""><figcaption></figcaption></figure>

***

### Update Webhook

On the subgraph detail page, navigate to the **Webhooks** section.

<figure><img src="/files/dkHX7ScVy6uBhHgKKv90" alt=""><figcaption></figcaption></figure>

Now, click the **View Details** button next to the entity you want to update.

<figure><img src="/files/hbqF1YcuHCSxwQDgC0ge" alt=""><figcaption></figcaption></figure>

On the window that appears, click the **Edit** button.

<figure><img src="/files/MOIzGdOyYdUB5ykt8mf6" alt=""><figcaption></figcaption></figure>

Update the required fields and then click on the **Update** button for the changes to take place.

<figure><img src="/files/x3watcsKPU5rwfPcmWrE" alt=""><figcaption></figcaption></figure>

***

### Undelivered Records

On the subgraph detail page, navigate to the **Webhooks** section. Then, click the **View Details** button next to the entity you want to check for undelivered records.

<figure><img src="/files/fQ8smpNNmbnnjhU7d6MT" alt=""><figcaption></figcaption></figure>

On the window that appears, navigate to the **Undelivered Records** section.

In case, there are no undelivered records, the following message will be displayed.

<figure><img src="/files/tx8KTtciZGMm9O9zntEw" alt=""><figcaption></figcaption></figure>

If undelivered records are present then you can access them and try again to get them delivered by clicking on the **Try Again** button.

<figure><img src="/files/a0cPlgF3A0N1KzcVqNit" alt=""><figcaption></figcaption></figure>

***

### Delete Webhook

On the subgraph detail page, navigate to the **Webhooks** section. Now, click the **Delete** button against the entity for whom you want to delete the webhook and stop receiving updates.

<figure><img src="/files/Og1Vc9ofwHmAIvRlUuU3" alt=""><figcaption></figcaption></figure>

Now, click on the **Delete** button to delete the webhook.

<figure><img src="/files/XZbhFudZ9EdPndzHf0DG" alt=""><figcaption></figcaption></figure>

**NOTE:** In case you want to remove all webhooks from the subgraph, click the **Delete All** button at the top right.

<figure><img src="/files/8Dzj6OzagIufcpaDGhL0" alt=""><figcaption></figcaption></figure>

Now, click the **Delete** button to delete all the webhooks.

<figure><img src="/files/SMcWzsq8ARCJNrjhg4iB" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.traceye.io/services/dedicated-indexing/graph-nodes/subgraph-manual/webhook-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
