Inbound Webhooks
Overview
Inbound webhooks let external services trigger your agents by sending HTTP POST requests to a unique URL. Each webhook endpoint has its own URL and is mapped to a target agent. When a request arrives, the JSON payload is dispatched as a signal to the agent.
Creating an Endpoint
- Navigate to Settings → Webhooks
- Click New Webhook Endpoint
- Enter a name for the endpoint (e.g., "Stripe Events")
- Select a signal type that will be sent to the agent
- Choose the target agent that should receive the signal
- Optionally set an HMAC secret to verify request authenticity
- Click Create
Endpoint URL
Each endpoint gets a unique URL with a secure token. The format is:
https://your-domain.com/webhooks/inbound/<token>
Copy this URL and configure it as the webhook destination in your external service (e.g., Stripe, GitHub, or a custom application).
HMAC Signature Verification
For added security, you can configure an HMAC secret on your endpoint. When set,
AgentPlatform generates a 32-byte secret and expects incoming requests to include
an X-Webhook-Signature header with a valid HMAC-SHA256 signature of
the request body.
Requests with an invalid or missing signature are rejected with a
401 Unauthorized
response.
Pausing and Resuming
You can pause a webhook endpoint at any time from the webhooks settings page.
While paused, incoming requests are rejected with a 422 status code.
Resume the endpoint to start accepting requests again.
Using with Zapier / Make / n8n
Inbound webhooks work with any automation platform that can send HTTP POST requests:
- Create a webhook endpoint in AgentPlatform
- Copy the endpoint URL
- In your automation tool, add a Webhook action step and paste the URL as the destination
- Map the fields you want to include in the JSON payload
- Test the connection — you should see a signal delivered to your agent
Freeform Agent Webhook Trigger
Freeform agents can be configured with a webhook trigger type. When a webhook endpoint targets a Freeform agent, the JSON payload from the incoming request is injected directly into the LLM prompt, allowing the agent to process and respond to external data dynamically.
To set this up, create a Freeform agent with trigger type set to Webhook, then create a webhook endpoint targeting that agent.