A powerful, private, and completely free Chrome extension for WhatsApp Web automation. Built with Manifest V3, vanilla JavaScript, and client-side Excel/CSV parsing.
Zero arbitrary quotas. Zero message limits. No monthly subscriptions. 100% Private (No data leaves your computer).
"Why pay if I could build it? That's the fun of being a developer!"
π’ Planning to launch or share this project? See the complete Promotion & Social Launch Plan.
- Instant File Parsing: Reads spreadsheets client-side via embedded
SheetJS(no file uploads to external servers). - Smart Column Detection: Automatically detects phone number headers (
Phone,Mobile,Contact,Tel, etc.). - Live Sample Data Preview: Under the column dropdown, instantly preview the first 4 phone numbers in formatted badges with non-numeric safety warnings.
- Dynamic Variable Tags: Insert custom columns into your message templates in 1 click (e.g.
Hi {Name}, your order #{Order_ID} for {Item} is confirmed!).
- Paste lists of phone numbers directly (comma, semicolon, or newline separated).
- Automatically sanitizes international phone numbers and strips formatting characters.
- Option 1: From My Chat (Recommended): Forward media (photos, videos, documents) stored in your personal "Message Yourself" (You) chat. Built with anti-status protection so media is never accidentally sent to status stories.
- Option 2: Direct Device Upload: Directly attach photos, PDFs, or documents from your device into recipient conversations.
- Sequence Flexibility: Choose whether to send Text First, then Attachment (Default & Recommended) or Attachment First, then Text.
- Mandatory Text Safeguard: Enforces accompanying text messages to maintain conversational integrity.
- Randomized Delays: Set customizable minimum and maximum intervals (e.g. 5β15 seconds) between messages to emulate human pacing and evade spam heuristics.
- Top Safety Notification Banner: Displays a fixed alert banner across WhatsApp Web during active runs (
β οΈ DO NOT TOUCH WHATSAPP: Automation is active). - One-Click Panel Minimize / Restore: Minimize the drawer directly from the top banner to keep WhatsApp Web visible, or expand it anytime to inspect details.
- Progressive Controls: Dynamic
βΈ Pause,βΆ Resume, andβΉ Stopcontrols on both the banner and the drawer. Start buttons show live shimmer spinners:β³ Dispatching (X/Total).... - Fault-Tolerant Skipping: Invalid numbers or network hiccups are gracefully caught, logged, and skipped without breaking the queue.
- Real-time in-drawer transaction table with color-coded badges (
Sent,Failed,Skipped). - Stores historical delivery records securely in
chrome.storage.local. - Export audit logs to downloadable CSV spreadsheets with one click.
- Head over to the GitHub Releases section.
- Download the latest
custom-extension.zip. - Unzip / Extract the ZIP file into a convenient folder on your computer.
- Open Google Chrome and enter
chrome://extensionsin the address bar. - In the top-right corner, switch Developer mode to ON.
- In the top-left corner, click Load unpacked.
- Select the unzipped folder containing
manifest.json. - Navigate to web.whatsapp.com.
- You'll see a green
WA Senderpill button pinned in the top barβclick it to open your automation drawer!
# 1. Clone this repository
git clone https://github.com/nil-frontend/WA-Automation.git
# 2. Open Chrome extensions manager
# Visit chrome://extensions in Chrome, enable "Developer mode"
# 3. Click "Load unpacked" and select the cloned directoryflowchart TD
A["Open WhatsApp Web"] --> B["Click 'WA Sender' Top Button"]
B --> C{"Choose Input Mode"}
C -->|"Excel / CSV"| D["Upload .xlsx or .csv & Map Column"]
C -->|"Manual List"| E["Paste Country Coded Numbers"]
D --> F["Draft Message with Personal Variables"]
E --> F
F --> G{"Optional Attachment?"}
G -->|"Yes"| H["Select 'From My Chat' or Device Upload"]
G -->|"No"| I["Set Human Randomized Delay (5-15s)"]
H --> I
I --> J["Click Start Sending"]
J --> K["Top Warning Banner Appears: Hands Off!"]
K --> L["Automatic Dispatch & Real-Time Logs"]
- Upload Contacts: Switch to the Excel / CSV Upload tab, drag and drop your
.xlsxor.csvspreadsheet. - Review Preview: Ensure the phone column is selected; verify the sample 4 numbers in the preview badges.
- Write Template: Type your message. Click any column chip (
{Name},{City}, etc.) to insert dynamic variables. - Configure Media (Optional): Toggle attachments on, pick Option 1 (My Chat) or Option 2 (Upload), and specify order.
- Set Safe Delay: Keep default random delay (e.g. 5β12 seconds).
- Start Campaign: Click Start File Campaign. Watch the live progress bar, pause/resume as needed, and export delivery logs upon completion.
- 100% Local Execution: Everything runs locally inside your Chrome browser session.
- Zero Third-Party APIs: No external database connections, no analytics, no remote servers, no cookies collected.
- Direct Session Handshake: Interacts strictly with your authenticated WhatsApp Web tab.
Important
Use Responsibly: WhatsApp enforces strict anti-spam guidelines. This software is intended for transactional notifications, customer updates, and communications to consenting contacts.
- Warm-Up Your Account: If your WhatsApp number is new, start with 20β30 messages per day and gradually increase.
- Use Realistic Delays: Never set delays below 5 seconds. A 7β15 second randomized interval closely mimics genuine human typing.
- Personalize Messages: Use
{Variables}so each outgoing text is unique rather than identical bulk text. - Disclaimer: This project is an independent open-source tool and is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp LLC or Meta Platforms, Inc.
Contributions, feature suggestions, and bug reports are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature) - Commit your Changes (
git commit -m 'Add NewFeature') - Push to the Branch (
git push origin feature/NewFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.