# Testing webhooks

Source: https://docs.revoplyai.com/webhooks/testing/

> Send a ping or any event's example to an endpoint, tell tests from real events, and test a receiver on your computer.

**Send test** on an endpoint (**Integrations → Webhooks**) posts one request to it now,
signed with its current secret, and shows the body we sent and what your endpoint answered.

## Choose what to send [#choose-what-to-send]

* **Ping** carries no customer data: it checks the address, your signature check and your
  answer. Its `type` is `ping` and its `data` is `{"message": "This is a test event from RevoplyAI."}`.
* **Any event type** sends that event's documented example, the one on its
  [event page](/webhooks/events/), so you can build against the real shape before the real
  thing happens. The endpoint does not have to be subscribed to it.

Every test carries `"test": true` in the envelope, and its own `evt_…` id. Real events
always carry `"test": false`. Skip tests before they reach your CRM or trigger work: the
example customer does not exist.

## How tests differ from real deliveries [#how-tests-differ-from-real-deliveries]

* A test is attempted once and never retried.
* A failed test does not count towards [switching the endpoint off](/webhooks/retries-and-delivery-log/#when-we-switch-an-endpoint-off).
* You can test an endpoint that is switched off.
* Tests appear in the endpoint's delivery log, and can be resent from there.
* Tests and resends are limited to 10 a minute per account, and need the Business plan.

## Test a receiver on your computer [#test-a-receiver-on-your-computer]

We deliver only to public `https://` addresses. Expose your local server with a tunnel,
such as `ngrok http 3000`, add the
HTTPS address it prints as an endpoint, and send a test. Delete the endpoint when you are
done.

See also [Testing safely](/get-started/testing-safely/).
