Skip to main content
Zavu delivers incoming messages to your application in real-time via webhooks. When a customer sends you a message via SMS or WhatsApp, we forward it to your configured endpoint within seconds.

How It Works

Customer Message → Zavu → Your Webhook → Your Application
  1. A customer sends a message to your Sender’s phone number
  2. Zavu receives the message from the carrier (SMS) or Meta (WhatsApp)
  3. We forward the message to your registered webhook URL
  4. Your application processes the message and responds if needed

Quick Start

1. Set Up Your Endpoint

Create an endpoint that accepts POST requests. Here’s a minimal example:
app.post("/webhooks/zavu", (req, res) => {
  const event = req.body;

  if (event.type === "message.inbound") {
    console.log("New message from:", event.data.from);
    console.log("Message:", event.data.text);
  }

  res.status(200).send("OK");
});

2. Register Your Webhook

Configure your webhook URL in the Dashboard under your Sender settings, or via the API.

3. Start Receiving Messages

Once configured, Zavu will send message.inbound events to your endpoint whenever a customer messages you.

Webhook Events

EventDescriptionUse Case
conversation.newNew conversation started (first message from a contact)New leads/contacts
message.inboundCustomer sent you a messageReceiving messages
message.queuedYour message was queued for deliveryOutbound tracking
message.sentYour message was sent to the carrierOutbound tracking
message.deliveredYour message was deliveredOutbound tracking
message.failedMessage delivery failedOutbound tracking
For receiving messages, subscribe to message.inbound. Add conversation.new if you want to be notified when a new contact messages you for the first time. The other events are for tracking outbound message delivery.
Webhooks are configured per Sender. If you have multiple Senders, you can route their events to different endpoints or use the senderId field to identify the source.

Next Steps