# Webhook

### Configuration

In [Inspector](https://app.inspector.dev), navigate to the project for which you want to configure webhooks.

* Click **Settings → Notifications Channels;**
* Click **Configure** in the Webhook channel to open the configuration screen;
* Paste the url you want to point to in the input form;

![](/files/-MAjwmsMOVIs-NGBq0lh)

{% hint style="info" %}
Remember to click "**Save**" after any change in the channel settings.
{% endhint %}

If you want to disable the channel click "**Disconnect**" and confirm your choise.

## HTTP POST request format

When a request is fired against your endpoint it will contains specific information in its body and headers. Below you can understand the content delivered for each event.

## Headers

```
User-Agent: "Inspector-Notification-Channel"
X-Inspector-Key: "your-application-api-key"
```

## Body

### Alert

```
{
    event: "alert_violation_notification",
    
    application: {
        id: 12345,
        name: "Your App name",
        client_version: "4.7.22"
    },
    
    payload: {
        id: 25,
        title: "High system load",
        violated_at: "2020-06-26 09:03:54"
    }
}
```

### Error Occurrence

```
{
    event: "error_occurrence_detected_notification",
    
    application: {
        id: 12345,
        name: "Your App Name",
        client_version: "4.7.22"
    },
    
    payload: {
        timestamp: "2020-06-26 09:03:54",
        message: "Missing required parameters for [Route: home] [URI: /]",
        class: "ErrorException",
        file: "app/Http/Controllers/YourController.php",
        line: "17"
    }
}
```

### Error Group

```
{
    event: "error_group_detected_notification",
    
    application: {
        id: 12345,
        name: "Your App Name",
        client_version: "4.7.22"
    },
    
    payload: {
        last_seen_at: "2020-06-26 09:03:54",
        created_at: "2020-06-26 09:03:54",
        handled: false,
        message: "Missing required parameters for [Route: home] [URI: /]",
        class: "ErrorException",
        file: "app/Http/Controllers/YourController.php",
        line: "17"
    }
}
```

### Error Frequency Increasing

```
{
    event: "error_frequency_increasing_notification",
    
    application: {
        id: 12345,
        name: "Your App Name",
        client_version: "4.7.22"
    },
    
    payload: {
        last_seen_at: "2020-06-26 09:03:54",
        created_at: "2020-06-26 09:03:54",
        handled: false,
        message: "Missing required parameters for [Route: home] [URI: /]",
        class: "ErrorException",
        file: "app/Http/Controllers/YourController.php",
        line: "17"
    }
}
```

### 10^nth Error Occurrence

```
{
    event: "nth_error_notification",
    
    application: {
        id: 12345,
        name: "Your App Name",
        client_version: "4.7.22"
    },
    
    payload: {
        last_seen_at: "2020-06-26 09:03:54",
        created_at: "2020-06-26 09:03:54",
        handled: false,
        message: "Missing required parameters for [Route: home] [URI: /]",
        class: "ErrorException",
        file: "app/Http/Controllers/YourController.php",
        line: "17",
        nth: 100,
    }
}
```

### New Transaction

```
{
    event: "transaction_group_notification",
    
    application: {
        id: 12345,
        name: "Your App Name",
        client_version: "4.7.22"
    },
    
    payload: {
        created_at: "2020-06-26 09:03:54",
        name: "GET /bookings",
        type: "request",
        avg_duration: 354.01
    }
}
```


---

# 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://docs.inspector.dev/concepts/notifications/webhook-channel.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.
