Webhooks Setup
Overview
Webhooks are HTTP callbacks that enable real-time communication between Sent and your application.
Sent will send the following events to your webhook endpoint:
| Event Category | Description |
|---|---|
| Message Status Updates | Real-time updates on message delivery, failures, and read receipts |
| Template Status Updates | Real-time updates about template status changes |
When events occur in Sent (like message delivery status changes), we send HTTP POST requests to your configured webhook endpoint with event data.
💡 Using Webhooks, you can trigger reactive workflows based on messaging events in real-time. We highly recommend integrating webhook event handlers into your application to unlock Sent's full potential.
Configuring Webhooks
You can configure your webhook endpoint in your Sent Dashboard by clicking on the Add Webhook button.
Local Webhook Setup
Webhooks are outbound HTTP requests initiated by Sent towards your application.
- During development, your app usually runs on
localhostor similar — which is not accessible from the internet. Therefore the Sent webhook provider can’t reach your machine directly, since it’s behind NAT/firewalls and doesn’t have a public IP. - Sent will only send events to secure, public URLs (https://…), not local or unencrypted endpoints.
Because of these factors, when you try to point a webhook to your local dev server, the delivery fails — Sent simply can’t connect due to the aforementioned reasons.
🧩 Solution
To debug and work with webhooks locally, you will need to use a secure tunneling tool that exposes your local server to the internet through a public HTTPS URL.
Below are some popular tunneling tools you can use to debug and work with webhooks locally:
ngrok
# Install ngrok (if not already installed)
npm install -g @ngrok/ngrok
# Start your local server
npm run dev # Running on http://localhost:5000
# In another terminal, create tunnel
ngrok http 5000This exposes your local server at a public URL:
https://abc123.ngrok.io -> http://localhost:5000Configure your webhook endpoint as https://abc123.ngrok.io/webhooks/sent.
Alternative Tunneling Tools
| Tool | Cost | Features | Best For | Setup Complexity |
|---|---|---|---|---|
| Cloudflare Tunnel | Free | Persistent URLs, built-in DDoS protection, custom domains, no bandwidth limits | Teams needing reliability and custom domains | Medium - Requires Cloudflare account |
| LocalTunnel | Free | Simple setup, random URLs, open source | Quick testing, no account needed | Very Low - npm install |
| serveo.net | Free | SSH-based, no installation, custom subdomains | Users comfortable with SSH, minimal setup | Low - SSH command only |
| VS Code Port Forwarding | Free | Built into VS Code, GitHub integration, private tunnels | VS Code users, GitHub integration | Very Low - One-click in IDE |
| Tailscale Funnel | Free / Paid | Secure mesh network, persistent access, team sharing | Secure team development, persistent access | Medium - Requires Tailscale setup |