Skip to main content
Follow these steps to start sending messages with Zavu. The dashboard will guide you through each step with a progress tracker.

1. Create an Account

Sign up at dashboard.zavu.dev. You’ll be prompted to create your first team and project.
Projects isolate your messaging by environment (development, staging, production) or by application.

2. Get a Phone Number

Go to Phone Numbers in the sidebar and acquire a phone number. This number will be used to send SMS and can be verified for WhatsApp.
1

Browse available numbers

Search by country or area code
2

Purchase a number

Select and confirm your phone number
3

Optional: Verify for WhatsApp

Connect your WhatsApp Business Account to enable WhatsApp messaging

3. Configure a Sender

Go to Senders and create a sender profile. Senders are the identities that send messages on your behalf.
  1. Click Add Sender
  2. Give it a name (e.g., “Notifications”, “Support”)
  3. Assign your phone number to the sender
  4. Set as default if this is your primary sender
You can create multiple senders for different use cases (transactional, marketing, support) with different phone numbers.

4. Create an API Key

Go to API Keys and generate your first key.
  1. Click Create API Key
  2. Give it a descriptive name
  3. Copy and store the key securely
Your API key will only be shown once. Store it in your environment variables:
export ZAVU_API_KEY="zv_live_your_api_key_here"

5. Send Your First Message

Now you’re ready to send a message! First, install the SDK for your language:
npm add @zavudev/sdk
# or: bun add @zavudev/sdk
Then send your first message:
import Zavudev from '@zavudev/sdk';

const zavu = new Zavudev({
  apiKey: process.env['ZAVUDEV_API_KEY'], // This is the default and can be omitted
});

const result = await zavu.messages.send({
  to: "+14155551234",
  text: "Hello from Zavu!",
});

console.log("Message ID:", result.message.id);
console.log("Status:", result.message.status);
Success! You should receive a 202 Accepted response. Zavu automatically selects the best channel (SMS or WhatsApp) based on your sender configuration.

Response

{
  "message": {
    "id": "jd70x0ms07pbfyknb2hj8akznn7whac3",
    "to": "+14155551234",
    "from": "+14155559876",
    "channel": "sms",
    "status": "queued",
    "messageType": "text",
    "text": "Hello from Zavu!",
    "createdAt": "2024-01-15T10:30:00.000Z"
  }
}

6. Configure Webhooks (Optional)

To receive delivery status updates and incoming messages, set up a webhook endpoint.
  1. Go to Webhooks in the sidebar
  2. Click Add Endpoint
  3. Enter your webhook URL
  4. Select the events you want to receive
Webhook events include:
  • message.queued - Message accepted
  • message.sent - Message sent to carrier
  • message.delivered - Message delivered to recipient
  • message.failed - Message failed to deliver
  • message.received - Incoming message received

Sandbox Mode

New projects start in Sandbox Mode which only allows sending to verified phone numbers. This prevents accidental sends during development. To verify a number for sandbox testing:
  1. Go to Sandbox in the sidebar
  2. Add your test phone numbers
  3. Verify via SMS code
Contact support to enable production mode when you’re ready to send to any number.

Next Steps