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

# Event types

> The JSON body of each event that hooksnode makes.

Webhook and WhatsApp sources keep the sender's body as it is. Mail and polled sources make events with a `type` field, so one filter works across sources.

| Type                     | Made by                               | Reference                                |
| ------------------------ | ------------------------------------- | ---------------------------------------- |
| `email.received`         | Gmail, Outlook, IMAP                  | [email.received](/events/email-received) |
| `http_poll.changed`      | Watch a URL, document mode            | [http\_poll events](/events/http-poll)   |
| `http_poll.item.added`   | Watch a URL, items mode               | [http\_poll events](/events/http-poll)   |
| `http_poll.item.changed` | Watch a URL, items mode               | [http\_poll events](/events/http-poll)   |
| `http_poll.item.removed` | Watch a URL, items mode               | [http\_poll events](/events/http-poll)   |
| `bank.credit.received`   | Gmail, Outlook, IMAP with bank alerts | [Bank events](/events/bank)              |
| `bank.debit.posted`      | Gmail, Outlook, IMAP with bank alerts | [Bank events](/events/bank)              |

## Common rules

* **Money** is an integer in minor units, with an ISO 4217 currency code. `4500000` with `NGN` is ₦45,000.00.
* **Time** is RFC 3339, for example `2026-09-24T10:15:02Z`.
* **Headers.** Each of these events has `Content-Type: application/json` and `X-Hooksnode-Source-Type`.
* **Source.** Each request to a destination has `X-Hooksnode-Source-Id`.

## Route by type

```json theme={null}
{ "type": ["bank.credit.received", "bank.debit.posted"] }
```

See [Filters](/destinations/filters).
