n8n-nodes-kwtsms
v0.2.0
Published
n8n community node for kwtSMS SMS gateway. Send SMS, check balance, validate numbers, manage sender IDs.
Downloads
120
Maintainers
Readme
n8n-nodes-kwtsms
n8n community node for the kwtSMS SMS gateway. Send SMS messages, check balance, validate numbers, and manage sender IDs directly from your n8n workflows.
kwtSMS is a Kuwait-based SMS gateway with coverage across 220+ countries, pay-as-you-go pricing, and built-in test mode. It supports both English and Arabic messages with transactional sender IDs that bypass DND for OTP delivery.
Features
- Send SMS: Single or bulk (auto-batches 200+ recipients with delays and retry logic)
- Check Balance: Query current account credit balance
- List Sender IDs: Retrieve approved sender IDs on your account
- Get Coverage: List active country prefixes
- Validate Numbers: Verify phone number format and routability before sending
- Phone Normalization: Automatically strips prefixes, converts Arabic digits, removes duplicates
- Message Cleaning: Strips emoji, hidden characters, and HTML tags before sending
- Pre-send Safety: Checks balance and coverage before hitting the API
- Test Mode: Send with test=1 to validate integration without consuming credits
Installation
Community Node (Recommended)
- Open your n8n instance
- Go to Settings > Community Nodes
- Select Install a community node
- Enter
n8n-nodes-kwtsms - Agree to the risks and click Install
Manual Installation
cd ~/.n8n/nodes
npm install n8n-nodes-kwtsmsRestart n8n after installation.
Credentials
You need a kwtSMS API account:
- Sign up or log in at kwtsms.com
- Navigate to your API settings to find your API username and API password
- In n8n, create a new kwtSMS API credential
- Enter your username, password, and default sender ID
- Click Test to verify your credentials
Note: The API username/password are separate from your account login credentials. Find them in your kwtSMS dashboard under API settings.
Operations
SMS
| Operation | Description | |-----------|-------------| | Send | Send an SMS to one or more recipients. Supports bulk sending with auto-batching, phone normalization, message cleaning, balance/coverage pre-checks, and duplicate removal. |
Parameters:
- To: Phone number(s), comma-separated. International format, digits only (e.g.,
96598765432). - Message: SMS text. English: 160 chars/page. Arabic: 70 chars/page. Max 7 pages.
- Sender ID: Must be pre-approved on your kwtSMS account.
- Test Mode (optional): Send without delivering or consuming credits.
Account
| Operation | Description | |-----------|-------------| | Get Balance | Returns available credits and total purchased credits. | | Get Coverage | Returns array of active country prefixes on your account. |
Sender
| Operation | Description | |-----------|-------------| | List | Returns all available sender IDs on your account. |
Validation
| Operation | Description | |-----------|-------------| | Validate Numbers | Validates phone numbers and returns OK (valid), ER (format error), and NR (no route) arrays. Numbers are normalized automatically before validation. |
Phone Number Format
Numbers are automatically normalized before any API call:
+96598765432becomes96598765432(strip +)0096598765432becomes96598765432(strip 00)965 9876 5432becomes96598765432(strip spaces)- Arabic/Hindi digits are converted to Latin automatically
Error Handling
The node maps all 33 kwtSMS error codes to user-friendly messages. Common errors:
| Code | Description | |------|-------------| | ERR003 | Authentication failed. Check your API username and password. | | ERR006 | No valid phone numbers provided. | | ERR010 | Account balance is zero. | | ERR013 | Send queue is full. The node retries automatically with backoff. | | ERR028 | Must wait 15 seconds before sending to the same number again. |
Compatibility
- n8n version 1.0 or later
- Node.js 18 or later
