Meta now charges per message, not per conversation — and those charges never pass through us. See what that means 
VartaAPI

Integration · All integrations

Webhook to WhatsApp: start a message from any software

If a piece of software can send a webhook, it can send a WhatsApp message through VartaAPI. Your flow gets a private address; whenever your billing software, website form, Zapier, Pabbly Connect or n8n posts a JSON message to it, the flow runs and the customer gets a WhatsApp message with the details filled in.

Plan: Comet and above (it is a chatbot flow) · Updated 7 October 2026

How it works

  1. Make a flow and choose the trigger "another system sends us something (Webhook)".
  2. Add the steps: usually a Send template step, because the customer has probably not written to you in the last 24 hours.
  3. Save it and copy the webhook address, https://api.vartaapi.com/hooks/ followed by a private code. The code is the only key, so treat the address like a password.
  4. Tell your other software to POST to that address whenever something happens: an invoice raised, an order shipped, an appointment booked.

What to send

Any JSON object up to 100 KB, in whatever shape your software already produces. There is no fixed format. The one thing VartaAPI needs is the customer's mobile number with its country code. It looks for a field called phone, mobile, contact or whatsapp, at the top or inside customer; or you tell the trigger exactly where it is.

{ "customer": { "name": "Ramesh Kumar", "phone": "919876543210" },
  "invoice":  { "number": "INV-1042", "total": 12980,
                "pdf_url": "https://yourserver.in/inv/INV-1042.pdf" } }

Every field becomes a blank you can use in the message by its path: {{customer.name}}, {{invoice.number}}, {{invoice.total}}. A template with a document header can take the file from a link in the data, such as {{invoice.pdf_url}}, so the customer gets the invoice PDF itself on WhatsApp. If the data holds a list, a "Repeat for each" step can send a message for each item, up to 20.

You do not have to guess the paths. The flow keeps a list of the last 20 calls; open one, click a field, and its {{path}} is copied for you.

Works with the tools you already use

Anything that can make an HTTP POST with JSON can start a flow: your own billing or ERP software, a website form handler, a WordPress or Shopify webhook, Zapier (with its Webhooks step), Pabbly Connect, Make, or n8n's HTTP Request node. You don't need a VartaAPI app inside those tools; the address is the connection.

For Razorpay there is a ready-made choice that also checks Razorpay's signature and stops duplicates: see Razorpay to WhatsApp.

What comes back

Your software gets an answer it can act on:

  1. 200 with sentTo: the flow ran for that number.
  2. 422 with a reason it can fix: no_number (no phone field found), bad_number (too short or no country code), not_connected (no WhatsApp number connected yet) or empty_flow.
  3. 404: wrong address, or the flow is switched off.
  4. 429: more than 60 calls a minute to one address. Wait and send again.
  5. 500: our side failed. Safe to try again a little later.

A 422 or 404 will not fix itself, so don't retry it. And keep your own note of what you have sent: the address does not check for repeats, so if your software can fire twice for one invoice, it should check before sending.

Questions

Quick answers.

Do I need an API key for a webhook?
No. The private code in the address is the key. Keep it in your software's settings, never in a public page or a log.
Can I send the invoice PDF itself?
Yes. Approve a template with a document header, include a link to the PDF in the data, and the customer receives the file on WhatsApp. The link must be reachable from the internet; a template approved with a document header can't be sent without one.
Is there a Zapier or n8n app for VartaAPI?
Not yet. Use their webhook or HTTP request step with your flow's address; it does the same job.
What is the difference between this and the REST API?
A webhook starts a flow you built in the app, so non-developers can change the message and steps without touching code, from the Comet plan. The REST API (Orbit and above) lets your developer send any message directly and check its status.
How fast is it?
The flow runs while your software waits, usually within seconds, and the answer tells you it ran.

Read next: Send invoices from your ERP with the REST API · Razorpay to WhatsApp · The flow builder

Try it on your own number.

Start on the free plan, connect your WhatsApp number, and upgrade when you need it.