https://github.com/boxlinknet/kwtsms-msexcel
Send bulk SMS directly from Excel spreadsheets via the kwtSMS gateway. Phone validation for 80+ countries, message cleaning, delivery logging.
https://github.com/boxlinknet/kwtsms-msexcel
appsource bulk-sms excel kuwait kwtsms microsoft-excel office-addin office-js sms sms-gateway typescript
Last synced: 19 days ago
JSON representation
Send bulk SMS directly from Excel spreadsheets via the kwtSMS gateway. Phone validation for 80+ countries, message cleaning, delivery logging.
- Host: GitHub
- URL: https://github.com/boxlinknet/kwtsms-msexcel
- Owner: boxlinknet
- Created: 2026-04-04T19:56:33.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-04T22:18:55.000Z (about 2 months ago)
- Last Synced: 2026-04-04T22:37:46.268Z (about 2 months ago)
- Topics: appsource, bulk-sms, excel, kuwait, kwtsms, microsoft-excel, office-addin, office-js, sms, sms-gateway, typescript
- Language: TypeScript
- Homepage: https://www.kwtsms.com/integrations.html
- Size: 318 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Support: support.html
Awesome Lists containing this project
README
# kwtSMS for Excel
[](https://opensource.org/licenses/MIT)
[](https://learn.microsoft.com/en-us/office/dev/add-ins/)
[](https://www.typescriptlang.org/)
[](https://www.kwtsms.com)
[](https://appsource.microsoft.com/)
Send bulk SMS directly from your Excel spreadsheets using the [kwtSMS](https://www.kwtsms.com) SMS gateway.
## About kwtSMS
[kwtSMS](https://www.kwtsms.com) is a Kuwait-based SMS gateway providing reliable messaging to 80+ countries. It supports bulk campaigns, transactional notifications, and OTP verification. kwtSMS is used by businesses across the GCC and MENA region.
## Features
- **Bulk SMS from spreadsheets** - Map phone number and message columns, send to all rows
- **Message templates** - Write a single message for all recipients, or use a different message per row from a column
- **Column mapping** - Pick which columns contain phone numbers and messages
- **80+ country validation** - Phone number length and format checking per country
- **Message cleaning** - Strips emojis, hidden characters, and HTML before sending
- **Delivery logging** - Every send logged to a dedicated worksheet
- **Test mode** - Safely test your SMS workflow without delivering messages
- **Country coverage check** - Skips numbers outside your account's coverage area
- **Duplicate removal** - Automatic deduplication before sending
## Quick Start
### Prerequisites
- [Node.js](https://nodejs.org/) v18+
- A [kwtSMS](https://www.kwtsms.com) account with API credentials
### Install
```bash
git clone https://github.com/boxlinknet/kwtsms-msexcel.git
cd kwtsms-msexcel
npm install
```
### Development
```bash
npm run dev-server
```
### Sideload in Excel
1. Open [Excel on the web](https://www.office.com/launch/excel)
2. Go to **Insert** > **Add-ins** > **Upload My Add-in**
3. Select `manifest.xml` from the project root
4. The kwtSMS task pane opens in the sidebar
### Build
```bash
npm run build # Production build
npm run validate # Validate manifest
npm run lint # Lint check
```
### Test
```bash
npm test # Unit tests only
KWTSMS_USERNAME=xxx KWTSMS_PASSWORD=xxx npm test # Include API tests
```
## How It Works
1. **Login** - Enter your kwtSMS username and password. The add-in verifies your credentials and loads your account settings.
2. **Map columns** - Select which spreadsheet column contains phone numbers, and optionally which contains messages.
3. **Preview** - See how many valid numbers were found, duplicates removed, and numbers skipped.
4. **Send** - Messages are sent automatically in batches. Results are logged to a dedicated worksheet.
## Project Structure
```
src/
taskpane/
taskpane.html Task pane UI (login + send interface)
taskpane.ts UI controller
taskpane.css kwtSMS branded styles
services/
kwtsms-api.ts API client (balance, senderid, coverage, send, validate)
phone-utils.ts Phone normalization, validation (83 countries), dedup
message-utils.ts Message cleaning (emoji, HTML, hidden chars)
settings.ts Office document settings wrapper
logger.ts Excel sheet logger
models/
types.ts TypeScript interfaces
localization/
strings.ts UI strings (English, Arabic-ready)
commands/
commands.ts Ribbon button handler
```
## Supported Platforms
| Platform | Status |
|----------|--------|
| Excel on the web | Supported |
| Excel on Windows (Microsoft 365) | Supported |
| Excel 2016+ on Windows | Supported |
| Excel on Mac (Microsoft 365) | Supported |
| Excel 2016+ on Mac | Supported |
| Excel on iPad | Supported |
## Roadmap
- [x] v1.0 - Excel task pane, bulk SMS, column mapping, logging
- [ ] v1.1 - Custom Excel functions (`=KWTSMS.SEND()`, `=KWTSMS.BALANCE()`)
- [ ] v1.2 - Arabic UI localization
- [ ] v2.0 - Outlook add-in
## License
[MIT](LICENSE)
## Support
- Website: [kwtsms.com](https://www.kwtsms.com)