How it works
Sniko exposes a single endpoint that acts as a proxy between ElevenLabs agents and your external systems:webhook_url, and returns the response back to the agent.
The agent tool definition is registered globally in ElevenLabs under the name custom_webhook (or similar). Agents configured with this tool can supply the destination URL and payload as parameters in their tool call.
Agent tool parameters
The tool accepts the following input from the agent during a conversation:| Parameter | Required | Description |
|---|---|---|
webhook_url | Yes | The target URL to call. Must be a valid URL (max 2048 characters). |
method | No | HTTP method: GET, POST, PUT, or PATCH. Defaults to POST. |
payload | No | JSON object to send as the request body. |
headers | No | JSON object of additional HTTP headers to include. |
agent_id | No | ElevenLabs agent ID. Used to look up the account owner for logging. |
conversation_id | No | ElevenLabs conversation ID. Included in the _meta field of every request. |
Request forwarding
Sniko forwards the request to the target URL with a 15-second timeout. The following headers are always sent:headers parameter are merged on top.
Every forwarded request includes a _meta field injected into the payload:
Response
On success:Use cases
CRM updates
Push caller information — name, phone, email, issue type — directly into your CRM at the end of a call. The agent collects the data through conversation and triggers the webhook before hanging up.
Order tracking
Have the agent call your order management API mid-conversation to retrieve order status, estimated delivery dates, or return instructions and relay the result back to the caller.
Lead submission
Submit qualified leads to a marketing automation platform or sales tool as soon as the agent has confirmed interest and captured contact details.
Ticket creation
Open a support ticket in Zendesk, Freshdesk, or any REST-based helpdesk by posting the conversation summary and caller details at the end of the call.
Simple Webhook (Twilio voice fallback)
TheSimpleWebhookController handles a distinct, simpler use case: it is a TwiML endpoint used as a Twilio voice webhook fallback, not a Sniko agent tool.
It responds to POST /webhook/simple-voice with TwiML:
- Inbound calls receive:
"Hello! You have reached our test number. This is working correctly!" - Outbound calls receive:
"Outbound call connected successfully!"
Security considerations
No URL restrictions by default
No URL restrictions by default
The custom webhook tool does not restrict which URLs agents can call. An agent can target any reachable URL. If you want to limit which domains are allowed, implement URL validation in your agent’s system prompt or add middleware to the
/tools/custom-webhook route.Forwarding sensitive data
Forwarding sensitive data
Data collected during a conversation (names, phone numbers, emails) is forwarded directly to the target URL. Ensure the target endpoint uses HTTPS and that you have consent to transmit the caller’s information to third parties.
Timeout behaviour
Timeout behaviour
Requests to the target URL time out after 15 seconds. If the target does not respond in time, the agent receives an error response and can handle it according to its system prompt instructions.