# Quick start

Create an ingest URL, point a provider at it, add a gateway and confirm your first delivered event.

Source: https://docs.webhooker.eu/guides/quickstart/

Four steps take you from an empty account to a webhook that lands in your app.
Each one links to the detailed walkthrough if you want every field explained.

## 1. Create an ingest URL

Sign in at [app.webhooker.eu](https://app.webhooker.eu), open **Sources** and
click **Create source**. Give it the sender's name and press **Create**.

![The Sources page listing four ingest URLs](https://docs.webhooker.eu/screenshots/sources-list-light.webp "Every source is one inbound URL. The copy button next to it puts the address on your clipboard.")

The row now shows your ingest URL — copy it:

```
https://app.webhooker.eu/in/6b225n04u5kmyg
```

→ [Create an ingest URL](/guides/create-url/) for verification, pausing, custom
responses and the trash.

## 2. Point the provider at it

Paste the URL into the provider's webhook settings. Then, in **Settings** on the
source, turn on **Authenticate inbound requests** and paste the provider's
signing secret so Webhooker can check every request before it accepts it.

→ [Inbound verification](/receive/verification/) for the supported schemes.

## 3. Add a gateway

Open the **Destinations** tab on the source and click **Add destination**. Enter
the URL on your side, turn on **Sign outbound requests**, and save. That pair —
the endpoint plus the route to it — is a gateway.

→ [Create a gateway](/guides/create-gateway/) for filters, transformations,
timeouts and retries.

## 4. Confirm the delivery

Send a test event from the provider. On the source's **Overview** tab it appears
in the live tail; open it and the delivery row shows the status your endpoint
returned, with the full attempt history.

![An event with its delivery attempts and raw body](https://docs.webhooker.eu/screenshots/event-detail-light.webp "One event, every gateway it was sent to, and the response each one returned.")

If it failed, everything you need is on that screen: request URL, response
status, response body and latency per attempt.

## Test it yourself

You do not have to wait for a provider to send something:

```bash
curl -X POST https://app.webhooker.eu/in/6b225n04u5kmyg \
  -H "Content-Type: application/json" \
  -d '{"hello":"world"}'
```

```json
{
  "status": "SUCCESS",
  "message": "Request received successfully.",
  "request_id": "0190a0b1-c2d3-7e4f-8a9b-0c1d2e3f4a5b"
}
```

If the source has verification on, an unsigned request like this is answered
`401` and stored as `failed` — which is the fastest way to confirm verification
really is on.

## Next steps

- [Core concepts](/guides/concepts/) — the words that appear everywhere.
- [Verify our signature](/deliver/verify-signatures/) — prove a delivery came from us.
- [Management API](/reference/api/) — do all of the above over HTTP.
