# Custom webhook events (https://www.shipfox.io/docs/integrations/webhooks/events)

Description: Look up the custom webhook event Shipfox delivers and the normalized request fields available to workflows.

This reference describes events from an integration connection for a custom webhook.
See the [custom webhook overview](https://www.shipfox.io/docs/integrations/webhooks) for authentication and
setup.

## Payload [#payload]

Shipfox normalizes an accepted request before it is available as `event`. It
accepts JSON, form, and plain-text request bodies.

| Field     | Type    | Description                                                                                                                         |
| --------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `method`  | string  | HTTP method used for the delivery.                                                                                                  |
| `headers` | object  | Request headers. Shipfox preserves `content-type`, `user-agent`, `x-delivery-id`, and `x-request-id`; it redacts all other headers. |
| `query`   | object  | Parsed query parameters.                                                                                                            |
| `body`    | unknown | Parsed JSON, form data, or plain-text body.                                                                                         |

An accepted request returns `202 Accepted` with a `delivery_id`. Send an
`X-Delivery-ID` header to identify retries. Shipfox creates a delivery ID when
the header is absent.

## Trigger fragment [#trigger-fragment]

Replace `deploy_hook` with the slug of your integration connection for the custom webhook:

```yaml
triggers:
  on_webhook:
    source: deploy_hook
```

For trigger field rules, see the [workflow schema reference](https://www.shipfox.io/docs/reference/workflow-schema#trigger-fields).

## Event catalog [#event-catalog]

### `received`

A custom webhook request is accepted.

**Emitted when:** Shipfox accepts a request at the integration connection ingest URL.

**Payload:** Shipfox-normalized payload.