Case Study · Financial Services
A transactional banking chatbot for a microfinance institution in Cambodia
A leading microfinance organisation in Cambodia was drowning in routine questions about balances, transaction history and transfers. AMT built a transactional chatbot connected to its core banking system that answers around the clock in English and Khmer, takes loan applications and raises CRM tickets when it cannot help.
Schedule Technical DiscoveryYour first conversation will be with a senior technical partner, not a salesperson.
Published
At a glance
- Client
- Leading microfinance organisation in Cambodia offering loans, micro-insurance (mainly health and accident) and transfers between local banks, including through Bakong
- Industry
- Financial services
- What AMT built
- Transactional chatbot integrated with the core banking system and CRM
- Channels
- Website, mobile app, SMS
- Languages
- English and Khmer
- Stack
- Angular, Node.js, MongoDB, Wit.ai
The short version
Most of the questions reaching the client's staff were routine: what is my balance, show my last transactions, send money. AMT built a chatbot that handles those requests directly by connecting securely to the core banking system. It also lets customers apply for loans, collects feedback, and opens a CRM ticket for a human agent whenever a question goes unanswered. The bot has its own personality, agreed with the client's marketing team.
The problem
The organisation handled a high volume of routine transactional enquiries, such as balance checks, transaction history and simple fund transfers. That meant long waits for customers and higher operating costs for the business.
The client wanted:
- 24/7 help with queries and transactions
- Balance checks and account information through the bot
- Loan applications through the bot
- Customer feedback collected and acted on quickly
- A bot personality that fits the brand
What AMT built
NLP for FAQs and transactions
AMT built the chatbot on an NLP engine tuned for both FAQs and transactional queries, so a customer can ask a general question and then check a balance in the same conversation.
Core banking integration
The bot connects to the client's core banking system to access and process customer and transaction data securely. That is what makes it transactional rather than a FAQ page in chat form.
CRM integration with automatic tickets
If the bot cannot answer a question, it creates a ticket against the customer's record in the CRM and notifies an agent. Nothing falls through the gap.
A personality built with marketing
AMT worked with the client's marketing department to define the bot's personality: a 20-year-old woman with her own name and a tone aligned to the brand. Responses were written to encourage positive engagement while staying in character.
Multi-channel, bilingual deployment
The bot runs on the website, the mobile app and SMS, in English and Khmer.
What the bot handles
| Request | Handled by the bot |
|---|---|
| Balance check | Yes |
| Transaction history | Yes |
| Fund transfers | Yes |
| Loan applications | Yes |
| Feedback | Collected and routed |
| Unanswered questions | CRM ticket and agent notification |
Technology stack
| Layer | Technology |
|---|---|
| Front end | Angular |
| Back end | Node.js |
| Database | MongoDB |
| NLP engine | Wit.ai |
| Integrations | Core banking system, CRM |
Before you build something similar
- Can the bot reach the core system safely? Decide how the bot authenticates customers and which banking functions it can call before writing a single flow.
- What happens when it does not know? An automatic ticket in the CRM is the minimum. Customers forgive a handover. They do not forgive silence.
- Which languages, and which channels? In markets where SMS still matters, a web-only bot misses people.
- Who owns the voice? Bring marketing in early. A defined personality makes responses consistent across hundreds of answers.