Webhooks & HTTP
Make HTTP requests to external APIs and receive incoming webhooks.Available Nodes
OpenCompany also ships other event-based triggers that start a workflow the same way Webhook Trigger does:
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
string
required
The URL to request. Supports template variables.
select
default:"GET"
HTTP method: GET, POST, PUT, DELETE, PATCH
json
Request headers as JSON object
string
Request body (JSON object or raw string). Only sent for POST, PUT, and PATCH; ignored for GET and DELETE.
number
default:"30"
Request timeout in seconds (1-600)
boolean
default:"false"
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
string
The webhook path (e.g., “orders” creates /webhook/orders)
select
default:"POST"
HTTP method filter: GET, POST, PUT, DELETE, or ALL (ALL accepts any method)
select
default:"immediate"
How to respond to the caller.
immediate returns 200 OK right away. responseNode waits for a downstream Webhook Response node to send the reply.select
default:"none"
Auth method:
none (no auth) or header (require a matching header)string
default:"X-API-Key"
Header name to check (when authentication is
header)string
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
Webhook Response
Send a custom response back to the webhook caller.Parameters
number
default:"200"
HTTP status code to return (100-599)
string
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.string
default:"application/json"
Content-Type header (e.g.,
application/json, text/plain, text/html)json
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