Skip to main content

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:
POST Request:
External API Integration:

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:
For production:

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
For Webhook Response to actually reach the caller, set the Webhook Trigger’s Response Mode to responseNode. In immediate mode the trigger returns 200 OK right away and any downstream response is ignored.

Example Responses

Success Response:
Error Response:
HTML Response:

Common Workflows

API Endpoint

Create a simple API endpoint:
Test:

Third-Party Integration

Receive events from external services:

Data Pipeline

Forward data to multiple destinations:

AI-Powered API

Create an AI endpoint:
Prompt: {{webhookTrigger.json.prompt}} Response: {{aiAgent.response}}
Wire a chat model node (OpenAI, Anthropic, Gemini, and more — see AI Models) into the AI Agent’s model handle to power the endpoint.

Testing Webhooks

Using curl

Using HTTPie

External Testing

Use services like:

Tips

Use meaningful paths that describe the purpose: /webhook/orders, /webhook/stripe-events
Always validate incoming data before processing with Python Executor or similar.
Return appropriate status codes: 200 (success), 400 (bad request), 500 (server error)
In production, always enable authentication on webhooks that modify data.

Troubleshooting

  • 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
  • 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
  • Ensure Webhook Response is connected to workflow
  • Verify template variables resolve correctly
  • Check status code is valid (100-599)

Quick Start

Build a webhook workflow

Tools

Process webhook data with Python and other tools