Webhook - HTTP Request
Overview
A general-purpose HTTP client that can make requests to any public URL. Supports all standard HTTP methods, multiple authentication schemes, flexible body formats, and configurable response handling. Use it to call REST APIs, fetch web resources, post webhooks, or interact with any HTTP-based service.
Actions
request
Make an HTTP request to a specified URL.
Required Fields:
url— the full URL to send the request to (must be http or https)
Optional Fields:
request_method— HTTP method:GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS(default:GET)headers— object of custom HTTP headers (e.g.,{"Accept": "application/xml"})query_params— object of URL query parameters (e.g.,{"page": "2", "limit": "10"})body_json— JSON object body (sets Content-Type to application/json automatically)body_text— plain text bodybody_base64— base64-encoded binary body (for file uploads or binary data)auth_type— authentication scheme:"none","basic","bearer", or"header"(default:"none")auth_username— username for basic auth (required when auth_type is"basic")auth_password— password for basic auth (required when auth_type is"basic")auth_token— token for bearer auth (required when auth_type is"bearer")auth_header_name— custom header name for header auth (required when auth_type is"header")auth_header_value— custom header value for header auth (required when auth_type is"header")timeout_seconds— request timeout in seconds, 1-120 (default: 30)response_mode— how to return the response body:"auto","json","text","base64"(default:"auto")max_response_bytes— maximum response size in bytes, 1024-20971520 (default: 1048576 / 1 MB)allow_private— set totrueto allow requests to private/loopback IPs (default:false)
Note: Only one body field can be used per request (body_json, body_text, or body_base64).
Example — Simple GET request:
{
"action": "request",
"request_method": "GET",
"url": "https://api.example.com/data",
"query_params": {"format": "json"}
}
Example — POST with JSON body:
{
"action": "request",
"request_method": "POST",
"url": "https://api.example.com/items",
"headers": {"X-Custom-Header": "my-value"},
"body_json": {"name": "Widget", "quantity": 5}
}
Example — Bearer token authentication:
{
"action": "request",
"request_method": "GET",
"url": "https://api.example.com/protected/resource",
"auth_type": "bearer",
"auth_token": "eyJhbGciOiJIUzI1NiIs..."
}
Example — Basic authentication:
{
"action": "request",
"request_method": "GET",
"url": "https://api.example.com/account",
"auth_type": "basic",
"auth_username": "myuser",
"auth_password": "mypassword"
}
Example — Custom header authentication (API key):
{
"action": "request",
"request_method": "GET",
"url": "https://api.example.com/v2/search",
"auth_type": "header",
"auth_header_name": "X-API-Key",
"auth_header_value": "abc123def456"
}
Example — PUT to update a resource:
{
"action": "request",
"request_method": "PUT",
"url": "https://api.example.com/items/42",
"body_json": {"name": "Updated Widget", "quantity": 10}
}
Example — DELETE a resource:
{
"action": "request",
"request_method": "DELETE",
"url": "https://api.example.com/items/42"
}
Example — Get binary response as base64:
{
"action": "request",
"request_method": "GET",
"url": "https://example.com/image.png",
"response_mode": "base64"
}
Response Format
Successful requests return:
status_code— HTTP status code (e.g., 200, 404)headers— response headers as an objectcontent_type— the Content-Type header valueurl— the final URL (after any redirects)body_json,body_text, orbody_base64— response body in the format determined byresponse_mode
Common Workflows
- Call a REST API — Use GET/POST/PUT/DELETE with
body_jsonandauth_typeto interact with any REST service. - Send a webhook — POST a JSON payload to a webhook URL to trigger external automations.
- Fetch a web page — GET any public URL and receive the HTML as text.
- Download binary content — GET a file URL with
response_mode: "base64"to receive binary data encoded for further processing. - Check endpoint availability — Use HEAD or OPTIONS to verify a service is reachable without downloading the full response body.
Important Notes
- Only
httpandhttpsURLs are supported. - Requests to private or loopback IP addresses are blocked by default. Set
allow_privatetotrueto override. - Only one body type can be provided per request. Supplying more than one of
body_json,body_text, orbody_base64will cause an error. - When
response_modeis"auto", JSON responses are parsed automatically; otherwise text is returned, or base64 for binary content. - Responses exceeding
max_response_byteswill be rejected. Increase the limit (up to ~20 MB) for larger payloads. - The maximum timeout is 120 seconds.







