Webhooks & HTTP
Make HTTP requests to external APIs and receive incoming webhooks.Available Nodes
| Node | Type | Purpose |
|---|---|---|
| HTTP Request | Action (also AI tool) | Make outgoing HTTP calls |
| Webhook Trigger | Trigger | Receive incoming HTTP requests |
| Webhook Response | Action | Send custom response to webhook caller |
| Trigger | Fires when |
|---|---|
| Chat Trigger | A message is sent from the Console panel’s chat tab |
| Task Completed | A delegated child agent finishes its task (success or error) |
Trigger nodes only start firing once a workflow is deployed. Deploy from the toolbar; a saved-but-not-deployed workflow does not listen for events.
HTTP Request
Make HTTP requests to external APIs and services.Parameters
The URL to request. Supports template variables.
HTTP method: GET, POST, PUT, DELETE, PATCH
Request headers as JSON object
Request body (JSON object or raw string). Only sent for POST, PUT, and PATCH; ignored for GET and DELETE.
Request timeout in seconds (1-600)
Route the request through a residential proxy provider. When enabled, you can also set
proxy_provider (default auto), proxy_country (ISO code), and session_type (rotating or sticky).Output
HTTP Request is also a dual-purpose tool — connect it to an AI Agent’s tools handle and the agent can make HTTP calls on its own.
Examples
GET Request:Webhook Trigger
Receive incoming HTTP requests at a dynamic endpoint.Parameters
The webhook path (e.g., “orders” creates /webhook/orders)
HTTP method filter: GET, POST, PUT, DELETE, or ALL (ALL accepts any method)
How to respond to the caller.
immediate returns 200 OK right away. responseNode waits for a downstream Webhook Response node to send the reply.Auth method:
none (no auth) or header (require a matching header)Header name to check (when authentication is
header)Expected header value (when authentication is
header)Webhook URL
Your webhook will be available at:Output
body holds the raw request text; json holds the parsed object when the request has a JSON content type. Reference either in downstream nodes, e.g. {{webhookTrigger.json.order_id}}.Authentication Options
| Type | Description |
|---|---|
| None | No authentication — any request is accepted |
| Header | Require a matching header. Set the header name (default X-API-Key) and expected value |
Webhook Response
Send a custom response back to the webhook caller.Parameters
HTTP status code to return (100-599)
Response body. Supports template variables like
{{input.key}} and {{nodeType.key}} resolved from connected node outputs. When left empty, the first connected output is returned as JSON.Content-Type header (e.g.,
application/json, text/plain, text/html)Additional response headers as a JSON object
Example Responses
Success Response:Common Workflows
API Endpoint
Create a simple API endpoint:Third-Party Integration
Receive events from external services:Data Pipeline
Forward data to multiple destinations:AI-Powered API
Create an AI endpoint:{{webhookTrigger.json.prompt}}
Response: {{aiAgent.response}}
Testing Webhooks
Using curl
Using HTTPie
External Testing
Use services like:- webhook.site - Test outgoing webhooks
- ngrok - Expose local webhooks publicly
Tips
Troubleshooting
Webhook not receiving requests
Webhook not receiving requests
- Verify workflow is deployed (not just saved)
- Check the path is correct (no leading slash)
- Ensure backend is running on correct port
- Check firewall/network settings
HTTP Request fails
HTTP Request fails
- Verify URL is correct and accessible
- Check headers (especially Content-Type)
- Look for CORS issues if calling from browser
- Check timeout setting for slow APIs
Response not sent
Response not sent
- Ensure Webhook Response is connected to workflow
- Verify template variables resolve correctly
- Check status code is valid (100-599)
Related
Quick Start
Build a webhook workflow
Tools
Process webhook data with Python and other tools