Send WhatsApp messages from your own system
For most Kenyan businesses, WhatsApp is where customers actually answer. If your business sends order updates, payment receipts or appointment reminders, that is where those messages belong. The hard part is getting your own system to send them. Qwela is our answer: a WhatsApp messaging API that lets your website, your Zoho setup or any custom system send and receive WhatsApp messages with simple web requests. We built it at JPL365, so this post covers our own product, including where it is not the right fit.
Why not the official WhatsApp Business API?
For large companies and marketing campaigns, the official API is the right choice. But it involves a Meta business account, verification and pre-approved message templates. For a small team that only wants its system to confirm an order or remind a patient, that is a lot of setup before the first message goes out.
What Qwela does
You link a WhatsApp number by scanning a QR code, the same way you link WhatsApp Web. You create an API key in the dashboard. After that, one request sends a message from your number:
curl -X POST https://qwela.jpl365.com/v1/messages \
-H "Authorization: Bearer gw_your_key" \
-H "Content-Type: application/json" \
-d '{"to": "254712345678", "text": "Your order is ready for pickup."}'
The response arrives immediately, and the message is sent a few seconds later. You can check its status at any time.
{"id": "9f2c4a7e1b3d4c5e8a6f0b2d4c6e8a1b", "status": "queued"}
Replies arrive at your webhook
When a customer replies, Qwela posts the message to a URL you choose. Each request is signed, so your server can confirm it really came from Qwela, and failed deliveries are retried for several hours, so a short outage on your side does not lose replies. Your system can then log the reply against the right customer record. Our guide to verifying webhook signatures has copy-paste code for Node.js, Python and Go.
Sending is paced on purpose
Messages are queued and leave your number a few seconds apart, with a daily limit per account. That is slower than a bulk sender, and it is deliberate: steady, human-paced sending helps reduce the risk of the number being restricted.
What teams use it for
- Payment receipts. Send a receipt the moment an M-Pesa payment is matched to an invoice.
- Order updates. Confirm an order as soon as it is placed on your website.
- Appointment reminders. Clinics can remind patients ahead of a visit to cut down on no-shows.
- Follow-ups. Real estate agencies can follow up after a viewing without depending on an agent remembering to do it from a personal phone.
- Internal alerts. Message a manager when stock runs low or a high-value lead comes in.
It works best when the people receiving the messages expect to hear from you.
Connecting it to Zoho
Zoho CRM and Zoho Books can both call an external URL from a workflow, using a webhook or a custom function. That means a deal moving to Won, or an invoice being marked paid, can trigger a WhatsApp message through Qwela with nobody copying anything by hand.
Getting started and pricing
Setup usually takes a few minutes: sign up, scan the QR code, create an API key and send a test message. The dashboard includes copy-paste examples for curl, Node.js and Python. There is a 7-day free trial with no card needed. After that the plan is currently KSh 500 per 30 days, paid by M-Pesa. It does not renew automatically, so nothing is charged unless you choose to pay again.
What Qwela is not
Qwela is not the official WhatsApp Business API, and it is not affiliated with WhatsApp or Meta. It connects your number as a linked device, so WhatsApp can restrict a number that sends unwanted or bulk messages, and we cannot reverse that. Use a number you can afford to lose, and only message people who expect to hear from you. It supports text messages only for now.
When to choose the official API instead
If you send high volumes, run marketing campaigns, need a verified business profile, or cannot risk the number you use being restricted, go the official route. Qwela is built for notifications and conversations, not broadcasts.
Prefer to have it connected to your website, Zoho CRM or Zoho Books by someone else? Talk to JPL365 and we will set it up.