How to Automate Collections via WhatsApp (Step-by-Step Guide)
Practical guide to automating payment reminders, balance inquiries and payment reference generation via WhatsApp Business API with a transactional bot.
Contents
Manual collection calls are one of the biggest time sinks in any service company. An agent dials, waits, explains, reads out a reference number, and repeats. Multiply that by hundreds of customers per month and you have an expensive bottleneck.
Now imagine the customer messages you on WhatsApp, asks how much they owe, and in less than 10 seconds receives their exact balance and a payment reference. No waiting. No agent. At 11 PM if they want.
That is what automating collections via WhatsApp looks like. This guide walks you through how to do it step by step.
Table of contents
- The problem with manual collections
- What you need to get started
- The flow step by step
- Key concept: Direct Response
- Key concept: Tool Chaining
- Results you can expect
- Common mistakes when automating collections
- Get started today
The problem with manual collections
Most service companies (telecom, energy, water, insurance, tuition) still run their collections process like this:
- An agent reviews the list of customers with overdue balances
- Calls them one by one
- If they answer, reads the amount and payment reference
- If they don’t answer, tries again later
- The customer may forget the amount or reference
The result: agents spending 60-70% of their time on repetitive calls, customers who don’t pick up the phone (especially younger demographics), and collection rates that plateau.
There is one channel where your customers are: WhatsApp. In Latin America, over 90% of smartphone users check WhatsApp daily. They read a WhatsApp message much faster than an email, and they are far more likely to engage than with a phone call.
What you need to get started
You don’t need a development team or a large budget. Three pieces:
1. A WhatsApp Business API number
The “API” version of WhatsApp is different from the WhatsApp Business app you download from the app store. The API lets you connect bots, send bulk messages and have multiple agents on the same number.
You can use your existing number. The registration process with Meta takes about 5 minutes using the Embedded Signup flow.
2. A messaging platform (like CX Inbox)
You need software that connects to the WhatsApp API and lets you configure the bot, view conversations and manage responses. CX Inbox is one option built for this, but the concept applies to any platform that supports transactional bots.
3. A connection to your billing system
The bot needs to look up balances and generate payment references. It does this by connecting to your system (ERP, CRM, billing software) through an API. Most modern systems have a REST API. If yours doesn’t, a simple endpoint that takes a customer number and returns a balance is enough to start.
The flow step by step
Here is how an automated collections conversation works:
Step 1: The customer messages you
The customer opens WhatsApp and writes something like:
“Hi, I want to know how much I owe”
Or maybe:
“Can you give me my payment reference?”
Or simply:
“Balance”
It doesn’t matter how they phrase it. The bot understands the intent.
Step 2: The bot identifies the intent
A natural language classifier analyzes the message and determines the customer wants to check their balance or generate a payment reference. It doesn’t require the customer to type an exact keyword or select from a menu. It understands natural variations.
On a platform like CX Inbox, this is configured as an intent within the bot. You define the intent name (“check-balance”, “generate-payment”) and the bot learns to classify messages into those categories.
Step 3: Identity verification
Before showing financial information, the bot must verify who the customer is. This can be as simple as asking for their account or service number:
Bot: To check your balance, I need your service number. What is it?
Customer: 44513
The bot validates the format (for example, that it has 3 to 8 digits). If the customer enters something invalid, it asks them to try again.
Optionally, you can add a second factor: ask for the account holder’s name and compare it against what you have in your system. This is done deterministically (string comparison), not with AI, so there is zero margin for error.
Step 4: Balance lookup via API
The bot calls your internal API. For example:
GET https://your-erp.com/api/customers/44513/balance
And receives something like:
{
"name": "Maria Garcia Lopez",
"balance": 1250.00,
"dueDate": "2026-04-15",
"description": "April 2026 monthly payment"
}
This happens in milliseconds. The customer doesn’t wait.
Step 5: Payment reference generation
If the customer wants to pay, the bot calls another endpoint to generate the reference:
POST https://your-erp.com/api/customers/44513/payment-reference
And receives:
{
"reference": "7892-4531-0087",
"amount": 1250.00,
"validUntil": "2026-04-20",
"storeCode": "12345"
}
Step 6: Formatted response to the customer
The bot sends a clear, formatted message:
Your current balance is $1,250.00.
Description: April 2026 monthly payment Due date: April 15, 2026
To pay at a convenience store:
- Store code: 12345
- Reference: 7892-4531-0087
- Exact amount: $1,250.00
- Valid until: April 20, 2026
If you need anything else, just write me.
The entire flow takes less than 10 seconds from the customer’s first message.
Key concept: Direct Response
When the bot looks up a balance or generates a reference, the data is exact: an amount, a reference number, a date. You don’t want a generative AI to paraphrase that data because it can introduce errors. A language model might round an amount, drop a digit from the reference, or change a date format.
The solution is Direct Response: the bot takes the API result and sends it directly to the customer using a pre-defined template. The AI never touches the transactional data. It just interpolates variables into a fixed template.
This is critical for collections. An error in a payment reference means the customer pays and the payment doesn’t get applied. An error in the amount means a complaint.
In CX Inbox, you enable Direct Response per tool. For “check balance” and “generate reference” tools, you mark them as Direct Response and define the response template with variables like {{balance}}, {{reference}}, {{validUntil}}.
Key concept: Tool Chaining
Sometimes the flow requires multiple API calls in sequence. For example:
- First look up the balance (to know how much is owed)
- Then generate the payment reference (with the correct amount)
This is called tool chaining. The bot executes one tool, takes the result, and uses it as input for the next.
In a typical collections flow:
- Tool 1:
checkBalance(service_number)-> returnsbalance,name,dueDate - Tool 2:
generateReference(service_number, amount, description)-> returnsreference,storeCode,validUntil
The bot automatically passes the amount from Tool 1 as a parameter to Tool 2. You don’t need to code the logic; you configure it in the visual editor.
Results you can expect
Companies that implement transactional collections bots on WhatsApp typically see:
60-70% reduction in collection calls. Most customers just want to know how much they owe and how to pay. The bot handles that without a human agent.
Response time under 10 seconds. Compared to the 3-5 minute average for a phone call (if the customer answers) or hours of waiting for an email response.
24/7 availability. Customers can check their balance at 2 AM, on a Sunday, on a holiday. The bot doesn’t rest.
Increase in collection rates. When paying is easy (open WhatsApp, ask how much you owe, get the reference, pay), more people pay on time. Companies report 15-25% improvements in timely collections.
Agents focused on complex cases. Human agents stop being “balance readers” and focus on negotiations, payment plans, and cases that truly need personalized attention.
Common mistakes when automating collections
Using generative AI for transactional data
The most common mistake is letting a language model “write” the response with the balance. Models can hallucinate, round numbers or change number formats. Always use Direct Response for financial data.
Not verifying identity
Showing a balance without verifying who is asking is a privacy risk. Always ask for at least one identifier (service number) and, if you handle sensitive data, add name verification.
Forgetting error cases
What happens if your ERP API is down? What if the service number doesn’t exist? Configure clear error messages: “I couldn’t find an account with that number. Please verify and try again.” And if there is a system error, escalate to a human agent.
Not measuring results
Set up metrics from day one: how many inquiries the bot handles, how many escalate to an agent, what the average resolution time is, how many customers paid after checking their balance on WhatsApp.
Get started today
You don’t need a 6-month project. With a WhatsApp Business API number, a platform like CX Inbox and a basic balance API, you can have a collections bot running in days.
Try CX Inbox free — 14 days, no credit card required. Set up your first collections bot and see the results.
Published: April 2026. This guide reflects current WhatsApp Business API and CX Inbox capabilities.
Related articles
How to Connect WhatsApp to Your CRM (Technical and Practical Guide)
Step-by-step guide to integrating WhatsApp Business API with your CRM: webhooks, contact sync, conversation history, and popular CRM platforms.
9 min read
WhatsApp Chatbot: Complete Guide for Businesses
Everything about WhatsApp chatbots for business: bot types, use cases, setup requirements, AI vs rule-based comparison, and how to measure ROI.
10 min read
WhatsApp Bots: Deterministic Flows or Generative AI? When to Use Each
Practical comparison between flow-based (deterministic) bots and generative AI bots for WhatsApp. Advantages, use cases and the hybrid approach.
10 min read