A bulk messaging application built with React, Vite, and Twilio APIs for SMS, WhatsApp, scheduling, analytics, and two-way replies.
- CSV upload and contact validation
- Immediate send and scheduled sending
- SMS and WhatsApp sender configuration
- WhatsApp Content Template support
- Delivery progress and result tracking
- Replies (Beta): two-way conversation view for SMS and WhatsApp
The Replies section combines server-side conversation listing with realtime Twilio Conversations updates:
- Conversation list is fetched via backend
/api/conversations(full SMS/WhatsApp list) - Realtime updates use the Twilio Conversations browser SDK
- Conversations auto-subscribe when opened if needed
- "New messages" card badges appear for inbound updates
- Background badge sync runs every 3 minutes, plus an initial sync after page load
WhatsApp reply behavior:
- If last inbound user message is within 24 hours: free-text and template send are both available
- If last inbound user message is older than 24 hours: free-text is disabled, template send is required
- Inside 24 hours, the template picker shows approved + unapproved templates
- Outside 24 hours, the template picker shows approved templates only
For full implementation details, see CONVERSATIONS_FEATURE.md.
- Node.js 20.19+ (required by Vite 7)
- Twilio account credentials
- Account SID
- Auth Token
- API Key SID + API Key Secret (for realtime Replies)
- Twilio sender setup
- SMS number and/or
- WhatsApp-enabled sender (Sandbox or approved production sender)
-
Install dependencies:
npm install cd server && npm install
-
Start backend:
cd server && npm start
-
Start frontend:
npm run dev
-
Open browser: http://localhost:5173
- Configure Twilio credentials and sender settings
- Upload a CSV contact list
- Compose SMS text or choose a WhatsApp template
- Send now or schedule
- Open Replies (Beta) to monitor and respond to inbound messages
Automatically clone this repo and deploy it through Vercel.
phone,name
+1234567890,John Doe
+1987654321,Jane SmithYour safety and comfort are important to us. The Code of Conduct lets everyone know what's expected, so we can do a better job of interacting with one another. All contributions to and interactions with Twilio's open-source projects have to adhere to our Code of Conduct. You can report violations at open-source@twilio.com.
MIT License