The Inbound webhook trigger gives any outside tool a URL. When anything POSTs JSON to that URL, the automation runs.
Use it to connect Zapier, Make, a form on your website, a marketing tool that doesn't have a native integration — anything that can send HTTP.
Create a webhook-triggered automation
- Automations → + New automation.
- Click the trigger node and pick Inbound webhook.
- Copy the URL shown in the trigger config panel. Every automation has its own URL.
- Save.

POST from your external tool
Send an HTTP POST with a JSON body. Example:
POST https://api.runacall.com/v1/automations/webhooks/<automation-id>/<inbound-token>
Content-Type: application/json
{
"first_name": "Sarah",
"last_name": "Chen",
"email": "sarah@example.com",
"phone": "+15551234567",
"lead_source": "Facebook Lead Ads",
"notes": "Interested in maintenance plan"
}
The response is a small acknowledgement JSON. The automation itself starts running in the background.
Reference the payload downstream
Every field in the POST body is available under {{body.*}} in downstream steps:
{{body.first_name}}→Sarah{{body.lead_source}}→Facebook Lead Ads{{body.notes}}→Interested in maintenance plan
Nested objects work too: {{body.address.street}} if you POST {"address": {"street": "123 Main St"}}.
Missing fields resolve to an empty string.
Common patterns
1. Create a customer from a Facebook lead
- Trigger: Inbound webhook
- Step: Create customer with
first_name = {{body.first_name}},phone = {{body.phone}}, etc. - Step: Add tag to customer with tag =
{{body.lead_source}}.
2. Send an internal Slack ping
- Trigger: Inbound webhook (from your CRM's "new opportunity" hook)
- Step: Send / fetch via webhook POST-ing to a Slack incoming webhook URL with a formatted message.
3. Fire from a paper form
- Wire your form platform (Typeform, Google Forms via Zapier, etc.) to POST to the URL.
- Downstream: Create customer, then Send email confirming receipt.
Security notes
The URL is scoped to your organization and to a single automation. Anyone with the URL can POST to it. Treat it like a password:
- Don't commit it to a public repository or share it publicly.
- If you need to rotate it, delete the automation and rebuild — this issues a new URL.
There's no signature check or auth header requirement today.
Testing
Publish the automation, then POST a sample payload to the URL from your favorite tool — curl, Postman, or a Zap running in test mode. The run lands in /automations/runs with the trigger event labelled Inbound webhook, and the payload is visible in the run's input JSON.
The first time, use a test customer you own — a published automation acts for real (real SMS, real emails, real records).
What's not supported today
- Custom auth headers or signature verification — no HMAC signature validation on inbound.
- Response body customization — inbound webhooks return a fixed ack, not a synthesized response for the caller.
- GET triggers — POST only.
- File uploads (multipart) — JSON only.
For outbound calls to third-party APIs, use the Send / fetch via webhook action — see Automation actions catalog.