# Response Data and Custom Events

When using Webhooks, CrossEngage generates and stores 3 different types of events:

* Webhook Delivered - every time we receive a 2xx response from the destination URL
* Webhook Bounced - every time we receive a 5xx response from the destination URL
* Errors - every time we receive a 4xx response from the destination URL

You will be able to view these events in the statistics graph on every campaign.

## Custom events

If you would like to use your own custom events, you can send these to our "Events API endpoint", using the event structure below. To find our more about our public API, [click here](https://jsapi.apiary.io/apis/usermanagementv1/reference/event-management.html) and go to **Event Management**.

Before sending custom events, please ensure that you contact your dedicated Customer Success Manager or send an email to <support@crossengage.io> to ensure that the "Events" and "Event Properties" are activated for usage. In your request, please include the required types of properties (e.g. STRING, FLOAT) and their names, so that our team can quickly build these for you.

```javascript
{
	"campaignId": "Campaign ID on CrossEngage",
	"campaignExternalReferenceId": "Campaign ID on CrossEngage",
	"messageId": "Message ID on CrossEngage",
	"channelConfigExternalReferenceId": "Message ID on CrossEngage",
	"channelConfigId": 31,
	"event": "whatsapp.xxx",
	"properties": {
		xxx:xxx
	}
}
```


---

# 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://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/webhooks/single-webhook/response-data-and-custom-events.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.
