WhatsApp Business API with Twilio — A Practical Guide to Start Sending Bulk Messages
> cd .. / HUB_EDITORIALE
Software Gestionali

WhatsApp Business API with Twilio — A Practical Guide to Start Sending Bulk Messages

[2026-07-20] Author: Ing. Calogero Bono
> share
Zenithby Meteora Web The operating system for your business. Social, clients, bookings and invoices in one platform. Gyms, barbers, professionals. Discover Zenith Free demo · no card

You run a clothing store with 2,000 WhatsApp contacts collected over three years. Every week you try to send a photo of the weekend sale, but your personal phone gets blocked after twenty messages. Or you manage a restaurant chain and need to notify a hundred suppliers about holiday hours — but you end up copy-pasting in a group no one reads. That’s the same problem: personal WhatsApp isn’t built for bulk business messaging. The solution is the WhatsApp Business API, and we at Meteora Web have been using it for real clients, with transparent costs and no shady accounts.

In this guide we show you how to start with Twilio, the API provider we chose for its flexibility and solid documentation. No abstract theory: concrete steps, working code, real cost examples. If you’re thinking “I’ll just use a pirate bot,” stop. The numbers speak for themselves: the official platform gives you deliverability and scalability. We come from accounting, we know it well: a message not delivered is a customer lost.

Why Twilio for WhatsApp Business API instead of other providers?

Twilio is not the only gateway — there are MessageBird, Vonage, WATI, etc. But we’ve used it for years and here’s why it wins. First: transparent pricing, no mandatory monthly fees, you pay only what you use. Second: flexibility — integrate in any language (Python, PHP, Node.js, Laravel) and manage templates, webhooks, media. Third: direct connection with Meta (WhatsApp), not a reseller. Fourth: real technical support, not a 72-hour ticket.

Another rarely mentioned factor: Twilio lets you own your stack. No closed platforms holding your data hostage. We built our own multi-client platform exactly on Twilio. If you switch providers, your templates and phone numbers stay yours. With many turnkey services, you lose everything.

Sponsored Protocol

Quick comparison: Twilio vs all-in-one services

Services like WATI offer drag-and-drop interfaces but cost €30–100/month per account plus a per-message markup. With Twilio you pay based on volume: $0.005–0.008 per message depending on destination. For 2,000 messages/month, that’s about $10–16, compared to €30+ for a subscription. And if you need customization, Twilio gives you pure APIs. We have clients handling 50,000 messages/month — the difference is substantial.

Heads up: Twilio has no graphical interface for sending individual messages. You’ll need to write code or use a management tool that integrates it. If you don’t have a developer, consider a partner like us. But if you have at least some REST API experience, go ahead.

What prerequisites you need: WhatsApp Business account and phone number

Before starting, you need:

  • A WhatsApp Business account (download the app and register your business number — no API needed yet).
  • A Twilio account (free, no credit card required to start, but the API needs a payment method).
  • A phone number that is not already registered on WhatsApp personal. You can buy one from Twilio (~$1/month) or use your own after verification.
  • Facebook Business Manager (WABA) approved by Meta. Twilio guides you through the process.

Step-by-step sandbox setup

1. Go to Twilio Console → MessagingTry it outSend a WhatsApp message. 2. Twilio gives you a sandbox (a test WhatsApp number). Invite a phone to join by sending a code. 3. Once the test phone is subscribed, you can send and receive messages via Twilio. It’s free in sandbox, but messages to unsubscribed numbers won’t be delivered. For production you need approved templates.

Sponsored Protocol

We solved a common issue: the sandbox expires after 72 hours of inactivity. To avoid it, schedule a webhook to keep the account alive. But for start, not needed.

What templates are mandatory and how to get them approved by Meta?

WhatsApp Business API requires that all initial messages to a user without an open conversation must use a pre-approved template. After the user replies, you can send free-form messages within 24 hours (customer care window). For marketing (bulk sending) you must always use approved templates, even if the user has interacted before.

How to create and send a template with Twilio

Log in to Twilio Console → MessagingWhatsAppMessage Templates. Click Create Template. Choose category (marketing, utility, authentication, service). Fill in: name, language, body (you can use variables like {{1}}, {{2}}). Example for an appointment reminder: “Hi {{1}}, this is a reminder for your appointment on {{2}}. Click to confirm: {{3}}”.

Once created, submit for Meta approval. Times vary from a few hours to 48 hours. We saw a client delay three weeks for a poorly written template. Basic rule: no promises, no ALL CAPS, no irrelevant links. Use an informative tone. If you need speed, create a “service” template for payment notifications or “authentication” for OTP.


# Send a template with Twilio API (curl)
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/{{ACCOUNT_SID}}/Messages.json' \
  -u '{{ACCOUNT_SID}}:{{AUTH_TOKEN}}' \
  -d 'From=whatsapp:+14155238886' \
  -d 'To=whatsapp:+393121234567' \
  -d 'ContentSid=HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
  -d 'ContentVariables={"1":"Mario Rossi","2":"15/06/2026","3":"https://example.com/confirm"}'

Note: ContentSid is the ID of the approved template, found in Twilio Console. ContentVariables is a JSON with placeholders.

Sponsored Protocol

How to manage costs and budget without surprises

Twilio charges only for messages sent. Costs vary by destination and volume. For Italy (indicative): outbound message ~$0.005, inbound ~$0.001, media extra. With 10,000 messages/month, around $50-70. No fixed fees. We have clients spending $150/month who generate €3,000 from targeted campaigns.

But watch for hidden costs: if you buy a phone number from Twilio, ~$1/month. If you use your own, you must verify (call or SMS). Also, every failure to send a non-approved template is charged. Advice: test in sandbox, then go live with a few messages.

We saw a client accumulate $200 in one hour from a loop error. Set a spending limit in Twilio Console: Account → Billing → Alerts. Set it to $20 and you’ll get an alert. If exceeded, stop your code.

Monitoring tool: status webhooks

Twilio sends callbacks on every message status (queued, sent, delivered, failed, read). Use them to track budget in real time. We integrated them into an automatic billing system for a client: each delivered message generated a line in their ERP.


// Example webhook in Node.js to receive status
const express = require('express');
const app = express();
app.use(express.urlencoded({ extended: true }));

app.post('/whatsapp-status', (req, res) => {
  const { MessageSid, MessageStatus, To, ErrorCode } = req.body;
  console.log(`Message ${MessageSid} status: ${MessageStatus}`);
  if (ErrorCode) console.error(`Error: ${ErrorCode}`);
  res.sendStatus(200);
});
app.listen(3000);

Deploy on a server with HTTPS (Twilio requires secure endpoints). If you don’t have HTTPS, use ngrok for local testing.

Sponsored Protocol

What practices ensure deliverability and avoid blocks?

Meta has strict rules: no spam, no unsolicited messages, mandatory opt-in. Violations get your number banned. We helped a client recover — three days of work. Better to prevent.

  • Explicit opt-in: the customer must authorize reception, preferably via form, checkbox, or double opt-in via SMS/WhatsApp.
  • Handle opt-out: if a user replies “stop”, Twilio sends a webhook and you must stop sending. Implement automatic removal from your database.
  • Don’t send too often: maximum 2-3 messages per week per client, never more than one per day.
  • Use quality templates: avoid “WINNER” or “LAST CHANCE”. Meta blocks them before sending.
  • Optimized media: as in e-commerce, heavy images hurt deliverability. Compress images to 80-100 KB.

How to integrate Twilio with an existing CRM or ERP?

Most Italian SMEs use tools like Salesforce, HubSpot, Zoho, or custom management systems. Twilio offers SDKs in PHP, Python, Node.js — you can create a small module that reads contacts from your database and sends messages via API. For example, we integrated Twilio with a Laravel module for a client handling appointments: when an appointment was set, a confirmation and reminder were sent automatically.


// Using the Twilio PHP SDK
use Twilio\Rest\Client;

$sid = $_ENV['TWILIO_ACCOUNT_SID'];
$token = $_ENV['TWILIO_AUTH_TOKEN'];
$twilio = new Client($sid, $token);

$message = $twilio->messages
  ->create("whatsapp:+393331234567", // to
    [
      "from" => "whatsapp:+14155238886",
      "contentSid" => "HXtemplate_id",
      "contentVariables" => json_encode([
        "1" => "Mario",
        "2" => "Tomorrow at 3 PM"
      ])
    ]
  );

echo $message->sid;

Note: use environment variables for credentials, never hardcode. We’ve seen code with tokens in plaintext on GitHub — a vulnerability that can cost thousands.

Sponsored Protocol

What to do now

1. Create a Twilio account and activate the WhatsApp sandbox. Send a test message to your phone. 2. Prepare a simple marketing template (e.g., “Hi {{1}}, we’re {{2}}. This week we offer a {{3}} discount for you.”). Submit for approval. 3. Set a budget alert to $20 in Twilio Console. 4. Write a small script (PHP, Node, Python) that reads 5 numbers from an array and sends the template. Test on sandbox. 5. Once the template is approved, move to production (Twilio will guide you through the Facebook Business Manager connection).

If you don’t have the time or internal skills, we at Meteora Web can build the full integration: from Twilio account setup to automation with your management system. We work with companies across Italy, including small businesses in the South that deserve top-tier technology. Learn more about our WhatsApp bulk messaging solution.

Useful resources:

Try it with Zenith

Zenith ZenApp is the all-in-one platform to run your business — clients, scheduling, deadlines, invoicing and WhatsApp reminders, all from your browser. No installation required.

Discover Zenith ZenApp →
> share
Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Ingegnere informatico, fondatore di Meteora Web e Zenith OS. System administrator e progettista di piattaforme, app e CMS proprietari, con esperienza in sviluppo full-stack, marketing digitale ed ecosistema Google.
[ Read Full Dossier ]

> METEORA_WEB // DIGITAL AGENCY

We build the digital presence your business deserves.

Websites, social media, online advertising, e-commerce and high-performance hosting, engineered with method by computer engineers in Sciacca, for all of Italy.

> MW_JOURNAL

> READ_ALL()