To build a WhatsApp chatbot for a Rwandan business, use the WhatsApp Business API (through Meta's Cloud API or a Business Solution Provider like Twilio, 360dialog, or MessageBird). The process: create a Meta Business account, verify your business, set up a WhatsApp Business API number, build a webhook server (Node.js is the most common) to receive and respond to messages, and deploy it. Common use cases in Rwanda: appointment booking, order confirmations, FAQ responses, delivery updates, and MoMo payment triggers. You can have a basic bot running in one to two weeks.
You do not need to convince a Rwandan business owner that WhatsApp matters. They already use it to take orders, answer questions, send invoices, and coordinate with suppliers. Walk into any small business in Kigali and ask how customers reach them. The answer is almost always WhatsApp.
The problem is that this communication is manual. A restaurant owner spends hours each day responding to the same questions: "What is on the menu?" "What are your hours?" "Can I place an order?" "Is my order ready?" A salon owner answers "Are you available at 3 PM on Saturday?" dozens of times a week.
A chatbot automates the repetitive parts. The bot handles the predictable questions (menu, hours, booking confirmation, order status) and passes complex or unusual requests to a human. The business owner saves hours per week. Customers get instant responses instead of waiting for someone to check their phone.
The market opportunity for Rwandan developers is clear:
There are three levels of WhatsApp for business. Understanding the differences saves you from going down the wrong path.
1. WhatsApp (personal app). The app everyone uses. No business features. No API. Not what you want.
2. WhatsApp Business App. A free app for small businesses. Lets you set a business profile, create quick replies, and organize chats with labels. Everything is manual. No programming. Useful for very small businesses but not automatable.
3. WhatsApp Business API (Cloud API). This is what you need for a chatbot. It lets you programmatically send and receive messages through HTTP requests. Meta (WhatsApp's parent company) provides a Cloud API that you can access directly, or you can go through a Business Solution Provider (BSP) like Twilio, 360dialog, or MessageBird.
How the API works:
If this sounds familiar, it should. It is the same webhook pattern used by the MoMo API. A request comes in, your server processes it, and sends a response. The skills transfer directly.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
Let us build a chatbot for a fictional Kigali restaurant. It handles: menu requests, operating hours, and order placement. We will use Node.js and the WhatsApp Cloud API.
Prerequisites:
Step 1: Set up the Meta Business account and WhatsApp API
Step 2: Build the webhook server
Create a Node.js project with Express that listens for incoming messages:
// Simplified structure (not production-ready)
const express = require('express');
const app = express();
app.use(express.json());
// Webhook verification (required by Meta)
app.get('/webhook', (req, res) => {
const verify_token = process.env.VERIFY_TOKEN;
if (req.query['hub.verify_token'] === verify_token) {
res.send(req.query['hub.challenge']);
} else {
res.sendStatus(403);
}
});
// Receive messages
app.post('/webhook', (req, res) => {
const message = req.body.entry?.[0]?.changes?.[0]?.value?.messages?.[0];
if (message) {
const from = message.from; // sender phone number
const text = message.text?.body?.toLowerCase();
handleMessage(from, text);
}
res.sendStatus(200);
});
app.listen(3000);
Step 3: Add response logic
The handleMessage function reads the customer's text and decides what to send back:
async function handleMessage(to, text) {
let reply;
if (text.includes('menu')) {
reply = 'Our menu:\n- Espresso: RWF 1,500\n- Cappuccino: RWF 2,500\n- Rwandan Pour-Over: RWF 2,000';
} else if (text.includes('hours') || text.includes('open')) {
reply = 'We are open Monday to Saturday, 7 AM to 6 PM. KG 11 Ave, Kacyiru, Kigali.';
} else if (text.includes('order')) {
reply = 'To place an order, reply with the item name and quantity. Example: "2 cappuccino"';
} else {
reply = 'Hello! I can help with:\n- Type "menu" to see our menu\n- Type "hours" for opening times\n- Type "order" to place an order';
}
await sendWhatsAppMessage(to, reply);
}
The sendWhatsAppMessage function calls the WhatsApp Cloud API to send the reply. You authenticate with your access token and specify the recipient phone number and message text.
Step 4: Deploy and test
Deploy your server to Railway or Render (both have free tiers). Update the webhook URL in your Meta developer dashboard to point to your deployed server. Send a test message to the WhatsApp number. You should get an automated response.
A menu and hours bot is the starting point. Here are the use cases that Rwandan businesses will pay for:
Appointment booking (salons, clinics, consultancies):
Customer messages "book." Bot asks for the service, preferred date, and time. Bot checks availability against a simple database or Google Calendar. Bot confirms or suggests alternatives. Sends a reminder message the day before. This saves the business owner 30 to 60 minutes per day of scheduling back-and-forth.
Order management (restaurants, retail, delivery):
Customer messages "order." Bot presents the menu or product list. Customer selects items. Bot confirms the order and total in RWF. Bot triggers a MoMo payment request. Customer confirms on their phone. Bot sends order confirmation and estimated delivery time. The entire transaction happens inside WhatsApp.
FAQ and customer support:
Program the bot to answer the 10 to 20 most common questions a business receives. "Where are you located?" "What are your prices?" "Do you deliver?" "How do I return an item?" Questions the bot cannot handle get routed to a human operator with context about what the customer already asked.
Delivery updates:
For businesses that deliver goods, the bot sends automated status updates: "Your order has been confirmed," "Your order is being prepared," "Your driver is on the way," "Your order has been delivered." Customers do not need to call and ask. The business does not need to respond to "Where is my order?" messages.
Event registration and reminders:
For events, workshops, or meetups in Kigali: customer messages "register." Bot collects name and phone number. Bot sends a confirmation and a reminder the day before the event. Simple, automated, and effective.
The combination of WhatsApp chatbot + MoMo payment integration is the most valuable technical skill combination you can offer Rwandan SMEs. Here is how the flow works:
This entire flow happens without the business owner doing anything. The customer orders, pays, and receives confirmation, all through two familiar interfaces: WhatsApp and MoMo.
Technically, you are combining two webhook systems (WhatsApp and MoMo) with a shared backend that coordinates between them. If you understand both APIs individually, combining them is a matter of connecting the logic.
For the MoMo integration details, see our MoMo API guide. For the payment architecture pattern that applies to both MoMo and M-Pesa, McTaba's M-Pesa Integration course (KES 9,999, approximately RWF 100,000) teaches the callback model that powers both APIs.
Hosting costs:
Your chatbot server needs to run 24/7 (unlike a static website that is served from a CDN). Railway and Render both have free tiers that work for low to moderate message volumes. As your bot handles more traffic, you may need to upgrade to a paid tier (typically $5 to $20/month).
WhatsApp API costs:
Meta's Cloud API charges per conversation (a 24-hour messaging window). Pricing varies by country and conversation type (user-initiated vs. business-initiated). For Rwanda, costs are generally low per conversation. Check Meta's pricing page for current rates.
Business Solution Provider vs. direct Cloud API:
You can use Meta's Cloud API directly (cheaper, more setup) or go through a BSP like Twilio or 360dialog (easier setup, additional monthly cost). For a first bot, the direct Cloud API is recommended because it is free to start and teaches you the underlying system. BSPs add value when you need advanced features like analytics, multi-agent support, or compliance tools.
Getting business verification:
To use the WhatsApp Business API beyond the test number, your business (or your client's business) needs to verify through Meta's business verification process. This requires a registered business name, address, and documentation. The process takes days to a few weeks.
For deploying your bot reliably, McTaba's Deployment and Going Live course (KES 4,999, approximately RWF 50,000) covers production deployment, environment management, and monitoring, all skills that apply directly to running a chatbot in production.
Create a free McTaba Academy account. Access starter lessons, join the community, and explore at your own pace.
Create Free Account