AUTOMATED REMINDER MESSAGING VIA WHATSAPP USING PYTHON
Author: CA Dinesh Kumar Kothari
Author: CA Dinesh Kumar Kothari
A Python + Selenium solution that converts manual SIP/insurance reminders into an automated, personalized, and zero-cost workflow. It reads raw Excel data, generates client-specific WhatsApp messages with bank, date, and amount details, sends via WhatsApp Web, and writes back status and timestamps to Excel.
Many Chartered Accountants in industry are actively involved in Mutual Fund Distribution and Insurance Consulting, either directly or through associations with large Mutual Fund Distributors. Timely SIP (Systematic Investment Plan) and insurance premium reminders are crucial to prevent failed debits and penalties, and to assist clients in disciplined financial planning.
However, Chartered Accountants often face the challenge of sending these personalized reminders without dedicated software, especially when such software is costly or unavailable. Existing tools often fail to provide customized, client-specific communication free of cost.
The manual sending of SIP and insurance reminders via WhatsApp or other means is time-consuming, error-prone, and non-scalable. Each client has unique information (bank accounts, investor name, installment amounts), which makes simple bulk messaging ineffective and costly when outsourced.
Why Existing Solutions Fail
• Platforms used by large Mutual Fund Distributors require multiple manual logins for client messaging and reporting.
• Direct platforms offered by BSE/NSE do not provide reminder solutions.
• Broadcast/API tools send generic messages, often charge per message, and are unsuitable for personalized SIP reminders.
Result: No truly automated, free, and personalized solution currently exists for managing SIP reminders tailored to individual clients.
• Each client differs in banking, SIP Amount and Deduction date details.
• Simple bulk messaging fails to provide personalized communication.
• Manual reminders waste hours of valuable CA time and are not scalable.
The solution uses Python with Selenium automation to send personalized WhatsApp messages automatically:
• Reads raw SIP data exported from exchange portals as Excel files (Raw Data File).
• Groups multiple SIPs per client to calculate total amounts due.
• Auto-prepares personalized reminder messages with client-specific data (name, date, amount, and bank) and dynamic greeting.
• Sends messages via WhatsApp Web using a persistent Chrome profile (QR once).
• Updates Excel with message status (Sent/Failed) and timestamp for tracking, and colors statuses (green/red).
• Built-in personalization for each client’s exact SIP details.
• No need for multiple manual logins or duplicate efforts.
• Free of cost with no dependency on third-party platforms or paid APIs.
• Works without proprietary MFD software, making it accessible to all CAs.
• Scalable for large client volumes and customizable as per user needs.
• Python libraries: pandas, selenium, openpyxl, pyperclip
• Browser automation: Selenium controlling Google Chrome with ChromeDriver
• Data: Excel files for SIP details and contact information
• AI: ChatGPT for code generation and debugging assistance
• Data Loading Import SIP and contact Excel files, normalize names, and consolidate SIP amounts due per client per date.
• Message Creation: Generate dynamic messages with greetings based on system time, formatted amounts, and client details.
• Due Date Filtering: Send reminders only for SIPs due within two days to avoid premature messaging.
• Status Management: Preserve previously sent/failed statuses and update new timestamps.
• Automation: Launch WhatsApp Web using a persistent Chrome profile; navigate to chats; paste-and-send via clipboard.
• Error & Logging: Log each action; handle missing/invalid contacts gracefully; color-code statuses in Excel.
• Keep Chrome Driver aligned with Chrome version; handle QR login once with persistent profile.
• Verify contact numbers; invalid/WhatsApp-inactive numbers are marked Failed automatically.
• Major reduction in manual effort and time.
• Improved accuracy and fewer missed SIP debits.
• Higher client satisfaction through timely, personalized communication.
• Economical solution using free tools and open-source libraries.
This Python-powered system replaces manual reminder chaos with automated precision, delivering efficiency and client delight without extra cost. It shows how practical AI+automation can elevate advisory workflows.
"From Manual Chaos to Automated Precision – That's the Transformation."
Client Name | AMC NAME | Installment Amt | Due Date |
ROHITKUMAR KANAILAL PERIWAL | PPFAS MUTUAL FUND | 35000 | 06-Sep-25 |
NITESH SANJAY SINGH | PPFAS MUTUAL FUND | 35000 | 06-Sep-25 |
NITESH SANJAY SINGH | OLD BRIDGE MUTUAL FUND | 22000 | 06-Sep-25 |
SHIVSHANKAR KOTHARI | NIPPON INDIA MUTUAL FUND | 15000 | 07-Sep-25 |
SHIVSHANKAR KOTHARI | NIPPON INDIA MUTUAL FUND | 15000 | 07-Sep-25 |
SHIVSHANKAR KOTHARI | UTI MUTUAL FUND | 10000 | 07-Sep-25 |
SHIVSHANKAR KOTHARI | OLD BRIDGE MUTUAL FUND | 15000 | 07-Sep-25 |
RAJESH KOTHARI | NIPPON INDIA MUTUAL FUND | 22000 | 08-Sep-25 |
RAJESH KOTHARI | KOTAK MAHINDRA MUTUAL FUND | 32000 | 08-Sep-25 |
RAJESH KOTHARI | PPFAS MUTUAL FUND | 10000 | 08-Sep-25 |
Client Name | Contact | Bank |
ROHITKUMAR KANAILAL PERIWAL | 91XXXXXX3727 | ICICI Bank |
NITESH SANJAY SINGH | 91XXXXXX7119 | BOB Bank |
DEEPAK KOTHARI | 91XXXXXX3600 | HDFC Bank |
RAJESH KOTHARI | 91XXXXXX9664 | Kotak Bank |
SHIVSHANKAR KOTHARI | 91XXXXXX9586 | UCO Bank |
Name | Mobile Number | SIP Date | SIP Amount | Message | Status | Time Sent | ||||||
NITESH SANJAY SINGH | 91XXXXXX7119 | 2025-09-06 | 57000 | Respected Investor, | Good Afternoon. | Your SIP Scheduled on 06/09/2025. | Please maintain sufficient balance in account to avoid any charges. | Bank - BOB Bank | Amount - ₹57,000 | Name - NITESH SANJAY SINGH | Sent | 2025-09-05 16:11:31 |
RAJESH KOTHARI | 91XXXXXX9664 | 2025-09-08 | 64000 | Respected Investor, | Good Afternoon. | Your SIP Scheduled on 08/09/2025. | Please maintain sufficient balance in account to avoid any charges. | Bank - Kotak Bank | Amount - ₹64,000 | Name - RAJESH KOTHARI | ||
ROHITKUMAR KANAILAL PERIWAL | 91XXXXXX3727 | 2025-09-06 | 35000 | Respected Investor, | Good Afternoon. | Your SIP Scheduled on 06/09/2025. | Please maintain sufficient balance in account to avoid any charges. | Bank - ICICI Bank | Amount - ₹35,000 | Name - ROHITKUMAR KANAILAL PERIWAL | Sent | 2025-09-05 16:11:56 |
SHIVSHANKAR KOTHARI | 91XXXXXX9586 | 2025-09-07 | 55000 | Respected Investor, | Good Afternoon. | Your SIP Scheduled on 07/09/2025. | Please maintain sufficient balance in account to avoid any charges. | Bank - UCO Bank | Amount - ₹55,000 | Name - SHIVSHANKAR KOTHARI | Failed |
• Reads SIP and contacts Excel files using pandas
• Cleans and normalizes client names; groups SIPs by client/date
• Creates formatted reminder messages with dynamic greetings
• Uses Selenium + ChromeDriver to automate WhatsApp Web messaging
• Updates Excel with send status and timestamp; applies color formatting with openpyxl
• Robust error handling and logging; configurable paths and parameters
Requirements on Your Laptop