# Webhook.site

> Make instant Webhook.site URLs and email addresses that keep every request and email sent to them, to see exactly what a service sends. Choose what a URL answers with, send it test requests, then read, search, note and delete what arrived, and download the files it carried. No account or API key required.

App · 12 actions. Web page: https://docs.lodol.com/docs/integrations/webhook-site

## Actions

### Add a note to a request

Write a note on a request a Webhook.site URL received, such as who dealt with it, replacing any note it had. Notes show in Webhook.site and let List requests skip the ones already dealt with. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Request (`request_id`, text, required): Which request: the request_id an earlier Webhook.site step returned, or the request's view_url.
- Note (`note`, text, required): The note, up to 10,000 characters.

**Outputs**

- `body` (text): The body exactly as sent. Empty for a form upload or a file: see form_fields and files.
- `body_json` (object): The body read as JSON, so its values can be used by name. Null when the body isn't JSON.
- `city` (text): The city that address is in.
- `content_type` (text): What kind of body it carried, e.g. application/json.
- `country` (text): The country that address is in.
- `email_from` (text): For an email, who sent it. Null for a web request.
- `email_subject` (text): For an email, its subject. Null for a web request.
- `email_text` (text): For an email, its text. Null for a web request.
- `email_to` (list): For an email, the addresses it was sent to.
- `files` (list): Files it carried: form uploads, email attachments, or a body that was itself a PDF or image.
- `form_fields` (object): The fields of a submitted form, by name.
- `headers` (object): Every header, by lower-case name, e.g. content-type. A header sent twice has both values, separated by a comma.
- `ip_address` (text): The address it was sent from.
- `method` (text): How it was sent, e.g. POST. Null for an email.
- `note` (text): The note added to it. Null when it has none.
- `path` (text): The part of the address after the URL itself, e.g. /orders/new. Just / when nothing was added.
- `query` (object): The query values on the address, by name.
- `received_at` (text): When it arrived, e.g. 2026-10-16T02:43:42Z.
- `request_id` (text): The request's ID, for the steps that read, note or delete it.
- `size_bytes` (number): The body's size in bytes.
- `type` (text): What arrived: 'web' for a web request, 'email' for an email, 'dns' for a DNS lookup.
- `url` (text): The full address it was sent to, with any query values.
- `user_agent` (text): The software that sent it, as it named itself.
- `view_url` (text): The Webhook.site page that shows this request.
- `webhook_url` (text): The Webhook.site URL the request was sent to.

**Example output**

```json
{
  "body": "{\"order_id\": 42, \"status\": \"paid\"}",
  "body_json": {
    "order_id": 42,
    "status": "paid"
  },
  "city": "San Francisco",
  "content_type": "application/json",
  "country": "United States of America",
  "email_from": null,
  "email_subject": null,
  "email_text": null,
  "email_to": [],
  "files": [],
  "form_fields": {},
  "headers": {
    "accept": "*/*",
    "content-length": "34",
    "content-type": "application/json",
    "host": "webhook.site",
    "user-agent": "Shopify-Captain-Hook",
    "x-lodol-test": "qa"
  },
  "ip_address": "203.0.113.42",
  "method": "POST",
  "note": "Processed by Lodol",
  "path": "/orders/new",
  "query": {
    "source": "lodol"
  },
  "received_at": "2026-10-16T02:45:12Z",
  "request_id": "c38c5c92-9307-4a4f-9ba7-3365107ff710",
  "size_bytes": 34,
  "type": "web",
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c/orders/new?source=lodol",
  "user_agent": "Shopify-Captain-Hook",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c/c38c5c92-9307-4a4f-9ba7-3365107ff710/1",
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Change a webhook URL's settings

Change what a Webhook.site URL answers with, how long it waits, its label or when it's deleted. Anything left empty stays as it is. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Response status (`response_status`, number): The status the URL answers every request with: 200 means OK, and 404 or 500 let you test how a sender copes with an error. Leave empty to keep the current one. From 100 to 599.
- Response body (`response_body`, text): What the URL answers with, such as {"received": true}. JSON, HTML, XML and plain text are each sent as what they are. Leave empty to keep the current one.
- Response delay (`response_delay_seconds`, number): Seconds the URL waits before answering, up to 30, to test how a sender copes with a slow reply. Leave empty to keep the current one. From 0 to 30.
- Allow browser requests (`allow_browsers`, text): Whether web pages on other sites may send it requests from a browser. One of: `keep` (Don't change), `allow`, `block` (Don't allow). Default: `keep`.
- Delete after (`expires_after`, text): When Webhook.site deletes the URL and everything sent to it, counted from now. 7 days is the longest a free URL lasts. One of: `keep` (Don't change), `1_hour` (1 hour from now), `6_hours` (6 hours from now), `1_day` (1 day from now), `3_days` (3 days from now), `7_days` (7 days from now). Default: `keep`.
- Description (`description`, text): A new label for the URL in Webhook.site. Leave empty to keep the current one.

**Outputs**

- `allows_browser_requests` (true/false): Whether web pages on other sites may send it requests.
- `created_at` (text): When the URL was made, e.g. 2026-10-16T02:44:00Z.
- `description` (text): The URL's label in Webhook.site. Null when it has none.
- `email_address` (text): The URL's own email address: emails sent to it are kept alongside the web requests.
- `expires_at` (text): When Webhook.site deletes the URL and everything it received.
- `latest_request_at` (text): When the newest request arrived. Null before the first.
- `latest_request_id` (text): The newest request's request_id. Null before the first.
- `response_body` (text): What the URL answers with. Empty for an empty answer.
- `response_content_type` (text): What kind of answer that is, e.g. application/json or text/plain.
- `response_delay_seconds` (number): Seconds the URL waits before answering.
- `response_status` (number): The status the URL answers with, e.g. 200.
- `url` (text): The address to send requests to, e.g. https://webhook.site/0e5e4e1c-7a1d-4b8e-9d7a-2f1b6c3a9e10.
- `url_id` (text): The 36 characters after webhook.site/ that identify the URL.
- `view_url` (text): The Webhook.site page that shows what the URL receives, live.

**Example output**

```json
{
  "allows_browser_requests": true,
  "created_at": "2026-10-16T02:44:00Z",
  "description": "Order webhooks",
  "email_address": "e8d6d192-0e25-4cfe-8162-21a648da413c@emailhook.site",
  "expires_at": "2026-10-23T02:44:00Z",
  "latest_request_at": null,
  "latest_request_id": null,
  "response_body": "Accepted",
  "response_content_type": "text/plain",
  "response_delay_seconds": 0,
  "response_status": 202,
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c",
  "url_id": "e8d6d192-0e25-4cfe-8162-21a648da413c",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Create a webhook URL

Make a new Webhook.site address that keeps every request sent to it, to see exactly what a service sends before you build on it. It comes with its own email address, and you choose what it answers with. No account or API key required.

**Inputs**

- Response status (`response_status`, number): The status the URL answers every request with: 200 means OK, and 404 or 500 let you test how a sender copes with an error. From 100 to 599. Default: `200`.
- Response body (`response_body`, text): What the URL answers with, such as {"received": true}. JSON, HTML, XML and plain text are each sent as what they are. Leave empty for an empty answer.
- Response delay (`response_delay_seconds`, number): Seconds the URL waits before answering, up to 30, to test how a sender copes with a slow reply. A URL that waits takes fewer requests a minute. From 0 to 30. Default: `0`.
- Allow browser requests (`allow_browsers`, true/false): Let web pages on other sites send it requests from a browser. Leave off unless you're testing a web page. Default: `false`.
- Delete after (`expires_after`, text): When Webhook.site deletes the URL and everything sent to it. 7 days is the longest a free URL lasts. One of: `1_hour` (1 hour), `6_hours` (6 hours), `1_day` (1 day), `3_days` (3 days), `7_days` (7 days). Default: `7_days`.
- Description (`description`, text): A label shown with the URL in Webhook.site, to tell your URLs apart.

**Outputs**

- `allows_browser_requests` (true/false): Whether web pages on other sites may send it requests.
- `created_at` (text): When the URL was made, e.g. 2026-10-16T02:44:00Z.
- `description` (text): The URL's label in Webhook.site. Null when it has none.
- `email_address` (text): The URL's own email address: emails sent to it are kept alongside the web requests.
- `expires_at` (text): When Webhook.site deletes the URL and everything it received.
- `latest_request_at` (text): When the newest request arrived. Null before the first.
- `latest_request_id` (text): The newest request's request_id. Null before the first.
- `response_body` (text): What the URL answers with. Empty for an empty answer.
- `response_content_type` (text): What kind of answer that is, e.g. application/json or text/plain.
- `response_delay_seconds` (number): Seconds the URL waits before answering.
- `response_status` (number): The status the URL answers with, e.g. 200.
- `url` (text): The address to send requests to, e.g. https://webhook.site/0e5e4e1c-7a1d-4b8e-9d7a-2f1b6c3a9e10.
- `url_id` (text): The 36 characters after webhook.site/ that identify the URL.
- `view_url` (text): The Webhook.site page that shows what the URL receives, live.

**Example output**

```json
{
  "allows_browser_requests": false,
  "created_at": "2026-10-16T02:44:00Z",
  "description": "Order webhooks",
  "email_address": "e8d6d192-0e25-4cfe-8162-21a648da413c@emailhook.site",
  "expires_at": "2026-10-23T02:44:00Z",
  "latest_request_at": null,
  "latest_request_id": null,
  "response_body": "{\"received\": true}",
  "response_content_type": "application/json",
  "response_delay_seconds": 0,
  "response_status": 201,
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c",
  "url_id": "e8d6d192-0e25-4cfe-8162-21a648da413c",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Delete a request

Delete one request or email from a Webhook.site URL. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Request (`request_id`, text, required): Which request: the request_id an earlier Webhook.site step returned, or the request's view_url.

**Outputs**

- `deleted` (true/false): True once the request is gone.
- `request_id` (text): The request deleted.
- `webhook_url` (text): The Webhook.site URL the request was sent to.

**Example output**

```json
{
  "deleted": true,
  "request_id": "ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d",
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Delete a webhook URL

Delete a Webhook.site URL and everything it received, so it stops taking requests and emails. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.

**Outputs**

- `deleted` (true/false): True once the URL is gone.
- `url` (text): The URL deleted.
- `url_id` (text): The 36 characters after webhook.site/ that identify the URL.

**Example output**

```json
{
  "deleted": true,
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c",
  "url_id": "e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Delete requests sent to a URL

Clear out what a Webhook.site URL received: everything, or only the requests with certain words in their body or that arrived before a moment. The URL keeps working. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Search (`search`, text): Only delete requests whose body contains these words. Leave this and Received before empty to delete everything.
- Received before (`received_before`, date and time): Only requests that arrived before this moment.

**Outputs**

- `deleted_count` (number): How many requests were deleted.
- `webhook_url` (text): The Webhook.site URL cleared.

**Example output**

```json
{
  "deleted_count": 2,
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Download a file sent to a URL

Save a file a request carried, such as a form upload or an email attachment, so later steps can send it on or store it. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Request (`request_id`, text, required): Which request: the request_id an earlier Webhook.site step returned, or the request's view_url.
- File name (`file_name`, text): Which file, when the request carried more than one: its name, such as invoice.pdf. Leave empty for the first.

**Outputs**

- `content_type` (text): What kind of file it is, e.g. application/pdf.
- `document_ref` (text): Reference to the saved file, for use by a later step.
- `documents` (list): The file, in the shape steps that send or upload files expect.
- `file_id` (text): The file's ID in Webhook.site.
- `filename` (text): The file's name, e.g. invoice.pdf.
- `request_id` (text): The request the file came with.
- `size_bytes` (number): Its size in bytes.
- `url` (text): Download link for the saved file.
- `webhook_url` (text): The Webhook.site URL the request was sent to.

**Example output**

```json
{
  "content_type": "application/pdf",
  "document_ref": "doc_5e6f708192a3b4c55e6f708192a3b4c5",
  "documents": [
    {
      "content_type": "application/pdf",
      "document_ref": "doc_5e6f708192a3b4c55e6f708192a3b4c5",
      "filename": "dummy.pdf",
      "size_bytes": 13264,
      "url": "/actions/core/serve-document/doc_5e6f708192a3b4c55e6f708192a3b4c5?teamId=6512a1b2c3d4e5f600000001"
    }
  ],
  "file_id": "b713e407-69d3-464d-98cb-419b86a782d3",
  "filename": "dummy.pdf",
  "request_id": "ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d",
  "size_bytes": 13264,
  "url": "/actions/core/serve-document/doc_5e6f708192a3b4c55e6f708192a3b4c5?teamId=6512a1b2c3d4e5f600000001",
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Get a request

Read one request or email a Webhook.site URL received: its headers, body, form fields and files. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Request (`request_id`, text, required): Which request: the request_id an earlier Webhook.site step returned, or the request's view_url.

**Outputs**

- `body` (text): The body exactly as sent. Empty for a form upload or a file: see form_fields and files.
- `body_json` (object): The body read as JSON, so its values can be used by name. Null when the body isn't JSON.
- `city` (text): The city that address is in.
- `content_type` (text): What kind of body it carried, e.g. application/json.
- `country` (text): The country that address is in.
- `email_from` (text): For an email, who sent it. Null for a web request.
- `email_subject` (text): For an email, its subject. Null for a web request.
- `email_text` (text): For an email, its text. Null for a web request.
- `email_to` (list): For an email, the addresses it was sent to.
- `files` (list): Files it carried: form uploads, email attachments, or a body that was itself a PDF or image.
- `form_fields` (object): The fields of a submitted form, by name.
- `headers` (object): Every header, by lower-case name, e.g. content-type. A header sent twice has both values, separated by a comma.
- `ip_address` (text): The address it was sent from.
- `method` (text): How it was sent, e.g. POST. Null for an email.
- `note` (text): The note added to it. Null when it has none.
- `path` (text): The part of the address after the URL itself, e.g. /orders/new. Just / when nothing was added.
- `query` (object): The query values on the address, by name.
- `received_at` (text): When it arrived, e.g. 2026-10-16T02:43:42Z.
- `request_id` (text): The request's ID, for the steps that read, note or delete it.
- `size_bytes` (number): The body's size in bytes.
- `type` (text): What arrived: 'web' for a web request, 'email' for an email, 'dns' for a DNS lookup.
- `url` (text): The full address it was sent to, with any query values.
- `user_agent` (text): The software that sent it, as it named itself.
- `view_url` (text): The Webhook.site page that shows this request.
- `webhook_url` (text): The Webhook.site URL the request was sent to.

**Example output**

```json
{
  "body": "{\"order_id\": 42, \"status\": \"paid\"}",
  "body_json": {
    "order_id": 42,
    "status": "paid"
  },
  "city": "San Francisco",
  "content_type": "application/json",
  "country": "United States of America",
  "email_from": null,
  "email_subject": null,
  "email_text": null,
  "email_to": [],
  "files": [],
  "form_fields": {},
  "headers": {
    "accept": "*/*",
    "content-length": "34",
    "content-type": "application/json",
    "host": "webhook.site",
    "user-agent": "Shopify-Captain-Hook",
    "x-lodol-test": "qa"
  },
  "ip_address": "203.0.113.42",
  "method": "POST",
  "note": null,
  "path": "/orders/new",
  "query": {
    "source": "lodol"
  },
  "received_at": "2026-10-16T02:45:12Z",
  "request_id": "c38c5c92-9307-4a4f-9ba7-3365107ff710",
  "size_bytes": 34,
  "type": "web",
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c/orders/new?source=lodol",
  "user_agent": "Shopify-Captain-Hook",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c/c38c5c92-9307-4a4f-9ba7-3365107ff710/1",
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Get a webhook URL's settings

Read what a Webhook.site URL answers with, when it will be deleted, and when its newest request arrived. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.

**Outputs**

- `allows_browser_requests` (true/false): Whether web pages on other sites may send it requests.
- `created_at` (text): When the URL was made, e.g. 2026-10-16T02:44:00Z.
- `description` (text): The URL's label in Webhook.site. Null when it has none.
- `email_address` (text): The URL's own email address: emails sent to it are kept alongside the web requests.
- `expires_at` (text): When Webhook.site deletes the URL and everything it received.
- `latest_request_at` (text): When the newest request arrived. Null before the first.
- `latest_request_id` (text): The newest request's request_id. Null before the first.
- `response_body` (text): What the URL answers with. Empty for an empty answer.
- `response_content_type` (text): What kind of answer that is, e.g. application/json or text/plain.
- `response_delay_seconds` (number): Seconds the URL waits before answering.
- `response_status` (number): The status the URL answers with, e.g. 200.
- `url` (text): The address to send requests to, e.g. https://webhook.site/0e5e4e1c-7a1d-4b8e-9d7a-2f1b6c3a9e10.
- `url_id` (text): The 36 characters after webhook.site/ that identify the URL.
- `view_url` (text): The Webhook.site page that shows what the URL receives, live.

**Example output**

```json
{
  "allows_browser_requests": false,
  "created_at": "2026-10-16T02:44:00Z",
  "description": "Order webhooks",
  "email_address": "e8d6d192-0e25-4cfe-8162-21a648da413c@emailhook.site",
  "expires_at": "2026-10-23T02:44:00Z",
  "latest_request_at": "2026-10-16T02:45:12Z",
  "latest_request_id": "c38c5c92-9307-4a4f-9ba7-3365107ff710",
  "response_body": "{\"received\": true}",
  "response_content_type": "application/json",
  "response_delay_seconds": 0,
  "response_status": 201,
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c",
  "url_id": "e8d6d192-0e25-4cfe-8162-21a648da413c",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Get the latest request

Read the newest request or email a Webhook.site URL received: its headers, body, form fields and files. If nothing has arrived yet, it says so rather than failing. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.

**Outputs**

- `body` (text): The body exactly as sent. Empty for a form upload or a file: see form_fields and files.
- `body_json` (object): The body read as JSON, so its values can be used by name. Null when the body isn't JSON.
- `city` (text): The city that address is in.
- `content_type` (text): What kind of body it carried, e.g. application/json.
- `country` (text): The country that address is in.
- `email_from` (text): For an email, who sent it. Null for a web request.
- `email_subject` (text): For an email, its subject. Null for a web request.
- `email_text` (text): For an email, its text. Null for a web request.
- `email_to` (list): For an email, the addresses it was sent to.
- `files` (list): Files it carried: form uploads, email attachments, or a body that was itself a PDF or image.
- `form_fields` (object): The fields of a submitted form, by name.
- `found` (true/false): Whether anything has arrived. When false every other field is empty.
- `headers` (object): Every header, by lower-case name, e.g. content-type. A header sent twice has both values, separated by a comma.
- `ip_address` (text): The address it was sent from.
- `method` (text): How it was sent, e.g. POST. Null for an email.
- `note` (text): The note added to it. Null when it has none.
- `path` (text): The part of the address after the URL itself, e.g. /orders/new. Just / when nothing was added.
- `query` (object): The query values on the address, by name.
- `received_at` (text): When it arrived, e.g. 2026-10-16T02:43:42Z.
- `request_id` (text): The request's ID, for the steps that read, note or delete it.
- `size_bytes` (number): The body's size in bytes.
- `type` (text): What arrived: 'web' for a web request, 'email' for an email, 'dns' for a DNS lookup.
- `url` (text): The full address it was sent to, with any query values.
- `user_agent` (text): The software that sent it, as it named itself.
- `view_url` (text): The Webhook.site page that shows this request.
- `webhook_url` (text): The Webhook.site URL the request was sent to.

**Example output**

```json
{
  "body": "",
  "body_json": null,
  "city": "San Francisco",
  "content_type": "multipart/form-data",
  "country": "United States of America",
  "email_from": null,
  "email_subject": null,
  "email_text": null,
  "email_to": [],
  "files": [
    {
      "content_type": "application/pdf",
      "download_url": "https://webhook.site/token/e8d6d192-0e25-4cfe-8162-21a648da413c/request/ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d/download/b713e407-69d3-464d-98cb-419b86a782d3",
      "file_id": "b713e407-69d3-464d-98cb-419b86a782d3",
      "filename": "dummy.pdf",
      "form_field": "file",
      "size_bytes": 13264
    }
  ],
  "form_fields": {
    "note": "attachment"
  },
  "found": true,
  "headers": {
    "accept": "*/*",
    "content-length": "13535",
    "content-type": "multipart/form-data; boundary=4124c8a7b48a5e3e27502bd",
    "host": "webhook.site",
    "user-agent": "Typeform Webhooks"
  },
  "ip_address": "203.0.113.42",
  "method": "POST",
  "note": null,
  "path": "/",
  "query": {},
  "received_at": "2026-10-16T02:45:13Z",
  "request_id": "ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d",
  "size_bytes": 0,
  "type": "web",
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c",
  "user_agent": "Typeform Webhooks",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c/ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d/1",
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### List requests sent to a URL

List the requests and emails a Webhook.site URL received, newest first, with their headers, body and files. Narrow them down by words in the body, method, time, or whether they have a note yet. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Search (`search`, text): Only requests whose body contains these words, such as order.paid or an order number. Capitals don't matter; whole words only.
- Method (`method`, text): Only requests sent this way. One of: `any`, `GET`, `POST`, `PUT`, `PATCH`, `DELETE`. Default: `any`.
- Show (`show`, text): Web requests, emails sent to the URL's address, or both. One of: `all` (Web requests and emails), `web` (Web requests only), `email` (Emails only). Default: `all`.
- Only ones without a note (`without_note`, true/false): Only requests no step has added a note to yet. Add a note to each one you've dealt with, and this finds the new ones. Default: `false`.
- Received after (`received_after`, date and time): Only requests that arrived after this moment.
- Received before (`received_before`, date and time): Only requests that arrived before this moment.
- Order (`order`, text): Which come first. One of: `newest` (Newest first), `oldest` (Oldest first). Default: `newest`.
- How many (`limit`, number): The most to return at once, up to 100. From 1 to 100. Default: `20`.
- Page (`page`, number): Which set of results, when there are more than How many. 1 for the first. From 1 to 10000. Default: `1`.

**Outputs**

- `count` (number): How many requests this page holds.
- `has_more` (true/false): Whether another page follows this one.
- `page` (number): This page's number.
- `requests` (list): The requests, in the order chosen.
- `total` (number): How many requests match, on every page.
- `webhook_url` (text): The Webhook.site URL listed.

**Example output**

```json
{
  "count": 2,
  "has_more": false,
  "page": 1,
  "requests": [
    {
      "body": "",
      "body_json": null,
      "city": "San Francisco",
      "content_type": "multipart/form-data",
      "country": "United States of America",
      "email_from": null,
      "email_subject": null,
      "email_text": null,
      "email_to": [],
      "files": [
        {
          "content_type": "application/pdf",
          "download_url": "https://webhook.site/token/e8d6d192-0e25-4cfe-8162-21a648da413c/request/ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d/download/b713e407-69d3-464d-98cb-419b86a782d3",
          "file_id": "b713e407-69d3-464d-98cb-419b86a782d3",
          "filename": "dummy.pdf",
          "form_field": "file",
          "size_bytes": 13264
        }
      ],
      "form_fields": {
        "note": "attachment"
      },
      "headers": {
        "accept": "*/*",
        "content-length": "13535",
        "content-type": "multipart/form-data; boundary=4124c8a7b48a5e3e27502bd",
        "host": "webhook.site",
        "user-agent": "Typeform Webhooks"
      },
      "ip_address": "203.0.113.42",
      "method": "POST",
      "note": null,
      "path": "/",
      "query": {},
      "received_at": "2026-10-16T02:45:13Z",
      "request_id": "ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d",
      "size_bytes": 0,
      "type": "web",
      "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c",
      "user_agent": "Typeform Webhooks",
      "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c/ab1294e2-1fd7-4a8a-a9e8-bda93da5ee6d/1",
      "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
    },
    {
      "body": "{\"order_id\": 42, \"status\": \"paid\"}",
      "body_json": {
        "order_id": 42,
        "status": "paid"
      },
      "city": "San Francisco",
      "content_type": "application/json",
      "country": "United States of America",
      "email_from": null,
      "email_subject": null,
      "email_text": null,
      "email_to": [],
      "files": [],
      "form_fields": {},
      "headers": {
        "accept": "*/*",
        "content-length": "34",
        "content-type": "application/json",
        "host": "webhook.site",
        "user-agent": "Shopify-Captain-Hook",
        "x-lodol-test": "qa"
      },
      "ip_address": "203.0.113.42",
      "method": "POST",
      "note": null,
      "path": "/orders/new",
      "query": {
        "source": "lodol"
      },
      "received_at": "2026-10-16T02:45:12Z",
      "request_id": "c38c5c92-9307-4a4f-9ba7-3365107ff710",
      "size_bytes": 34,
      "type": "web",
      "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c/orders/new?source=lodol",
      "user_agent": "Shopify-Captain-Hook",
      "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c/c38c5c92-9307-4a4f-9ba7-3365107ff710/1",
      "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
    }
  ],
  "total": 2,
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```

### Send a test request

Send a request to a Webhook.site URL, the way a service would, and see what it answered. Add a path, query values, headers, a body or a file to check how each one arrives. No account or API key required.

**Inputs**

- Webhook URL (`url`, text, required): The Webhook.site URL, such as the url an earlier Create a webhook URL step returned. Its email address or its Webhook.site page works too.
- Method (`method`, text, required): How to send it. Most services send POST. One of: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`. Default: `POST`.
- Path (`path`, text): Added to the end of the URL, such as orders/new. Starting it with a status, such as 500, makes the URL answer with that status this once.
- Query values (`query`, object): Names and values to put on the end of the address, after a ?.
- Headers (`headers`, object): Extra headers to send, such as a signature a service would add.
- Body (`body`, object): Names and values to send as JSON. With a file, they're sent as form fields alongside it.
- File (`file`, text): A file to attach, as a form upload: upload one, pick one from an earlier step, or paste a public link to one. Up to 10 MB.

**Outputs**

- `method` (text): How it was sent, e.g. POST.
- `received_at` (text): When it arrived, e.g. 2026-10-16T02:43:42Z.
- `request_id` (text): The request's ID, for the steps that read, note or delete it.
- `response_body` (text): What the URL answered with.
- `response_content_type` (text): What kind of answer it was, e.g. text/plain.
- `response_status` (number): The status the URL answered with, e.g. 200.
- `response_time_ms` (number): How long the answer took, in milliseconds.
- `url` (text): The full address it was sent to, with any path and query values.
- `view_url` (text): The Webhook.site page that shows this request.
- `webhook_url` (text): The Webhook.site URL the request was sent to.

**Example output**

```json
{
  "method": "POST",
  "received_at": "2026-10-16T02:45:12Z",
  "request_id": "c38c5c92-9307-4a4f-9ba7-3365107ff710",
  "response_body": "{\"received\": true}",
  "response_content_type": "application/json",
  "response_status": 201,
  "response_time_ms": 158.6,
  "url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c/orders/new?source=lodol",
  "view_url": "https://webhook.site/#!/view/e8d6d192-0e25-4cfe-8162-21a648da413c/c38c5c92-9307-4a4f-9ba7-3365107ff710/1",
  "webhook_url": "https://webhook.site/e8d6d192-0e25-4cfe-8162-21a648da413c"
}
```
