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 CategoryDescription
Message Status UpdatesReal-time updates on message delivery, failures, and read receipts
Template Status UpdatesReal-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 localhost or 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 5000

This exposes your local server at a public URL:

https://abc123.ngrok.io -> http://localhost:5000

Configure your webhook endpoint as https://abc123.ngrok.io/webhooks/sent.

Alternative Tunneling Tools

ToolCostFeaturesBest ForSetup Complexity
Cloudflare TunnelFreePersistent URLs, built-in DDoS protection, custom domains, no bandwidth limitsTeams needing reliability and custom domainsMedium - Requires Cloudflare account
LocalTunnelFreeSimple setup, random URLs, open sourceQuick testing, no account neededVery Low - npm install
serveo.netFreeSSH-based, no installation, custom subdomainsUsers comfortable with SSH, minimal setupLow - SSH command only
VS Code Port ForwardingFreeBuilt into VS Code, GitHub integration, private tunnelsVS Code users, GitHub integrationVery Low - One-click in IDE
Tailscale FunnelFree / PaidSecure mesh network, persistent access, team sharingSecure team development, persistent accessMedium - Requires Tailscale setup

On this page