setup-webhook
Configures Vapi server URLs and webhooks for real-time call events and tool integrations, enhancing application interactivity.
Install this skill
Security score
The setup-webhook skill was audited on Mar 8, 2026 and we found 35 security issues across 3 threat categories, including 2 high-severity. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 82 | firstMessage: `Hello ${message.call.customer?.name || "there"}!`, |
Template literal with variable interpolation in command context
| 123 | console.log(`[${message.role}]: ${message.transcript}`); |
Template literal with variable interpolation in command context
| 134 | return `Result for ${name}`; |
Piping content to bash shell
| 217 | curl -sSL https://vapi.ai/install.sh | bash |
Curl to non-GitHub URL
| 26 | curl -X PATCH https://api.vapi.ai/assistant/{id} \ |
Curl to non-GitHub URL
| 38 | curl -X PATCH https://api.vapi.ai/phone-number/{id} \ |
Curl to non-GitHub URL
| 217 | curl -sSL https://vapi.ai/install.sh | bash |
Webhook reference - potential data exfiltration
| 2 | name: setup-webhook |
Webhook reference - potential data exfiltration
| 3 | description: Configure Vapi server URLs and webhooks to receive real-time call events, transcripts, tool calls, and end-of-call reports. Use when setting up webhook endpoints, building tool servers, o |
Webhook reference - potential data exfiltration
| 11 | # Vapi Webhook / Server URL Setup |
Webhook reference - potential data exfiltration
| 19 | Vapi uses "Server URLs" (webhooks) to communicate with your application. Unlike traditional one-way webhooks, Vapi server URLs support bidirectional communication — your server can respond with data t |
Webhook reference - potential data exfiltration
| 30 | "serverUrl": "https://your-server.com/vapi/webhook", |
Webhook reference - potential data exfiltration
| 31 | "serverUrlSecret": "your-webhook-secret" |
Webhook reference - potential data exfiltration
| 42 | "serverUrl": "https://your-server.com/vapi/webhook" |
Webhook reference - potential data exfiltration
| 64 | ## Webhook Server Example (Express.js) |
Webhook reference - potential data exfiltration
| 73 | app.post("/vapi/webhook", (req, res) => { |
Webhook reference - potential data exfiltration
| 137 | app.listen(3000, () => console.log("Webhook server running on port 3000")); |
Webhook reference - potential data exfiltration
| 140 | ## Webhook Server Example (Python / Flask) |
Webhook reference - potential data exfiltration
| 147 | @app.route("/vapi/webhook", methods=["POST"]) |
Webhook reference - potential data exfiltration
| 148 | def vapi_webhook(): |
Webhook reference - potential data exfiltration
| 189 | ## Webhook Authentication |
Webhook reference - potential data exfiltration
| 191 | Verify webhook authenticity using the secret: |
Webhook reference - potential data exfiltration
| 194 | function verifyWebhook(req: express.Request, secret: string): boolean { |
Webhook reference - potential data exfiltration
| 213 | Use the Vapi CLI to forward webhooks to your local server: |
Webhook reference - potential data exfiltration
| 220 | vapi listen --forward-to localhost:3000/vapi/webhook |
Webhook reference - potential data exfiltration
| 247 | - [Server URL Events](references/webhook-events.md) — All event types with payload schemas |
Webhook reference - potential data exfiltration
| 249 | - [Local Development](https://docs.vapi.ai/server-url/developing-locally) — Testing webhooks locally |
Ngrok tunnel reference
| 223 | Or use ngrok: |
Ngrok tunnel reference
| 226 | ngrok http 3000 |
Ngrok tunnel reference
| 227 | # Copy the ngrok URL and set it as your server URL |
External URL reference
| 26 | curl -X PATCH https://api.vapi.ai/assistant/{id} \ |
External URL reference
| 30 | "serverUrl": "https://your-server.com/vapi/webhook", |
External URL reference
| 38 | curl -X PATCH https://api.vapi.ai/phone-number/{id} \ |
External URL reference
| 42 | "serverUrl": "https://your-server.com/vapi/webhook" |
External URL reference
| 217 | curl -sSL https://vapi.ai/install.sh | bash |