Send SMS notifications to students and administrators via the kwtSMS gateway (kwtsms.com).
kwtSMS is a Kuwait-based SMS gateway providing reliable message delivery across the Middle East and internationally. Features include:
- SMS delivery to 200+ countries
- Transactional and promotional sender IDs
- Real-time balance and delivery tracking
- Arabic and English message support
- REST/JSON API with client libraries for PHP, Python, JavaScript, and more
Sign up for a kwtSMS account to get your API credentials and start sending SMS from your Moodle site.
For more integrations, visit the kwtSMS Integrations page.
- Event-driven SMS: Automatic notifications for enrollment, unenrollment, grading, course completion, quiz submission, assignment submission, and new user registration
- 7-tab admin interface: Dashboard, Settings, Gateway, Templates, Integrations, Logs, Help
- Multilingual templates: English + Arabic with placeholder support ({firstname}, {coursename}, {grade}, etc.)
- Gateway management: Login/logout, balance monitoring, sender ID selection, country code configuration
- SMS logging: Full log with status tracking, phone masking, filtering, pagination, and CSV export
- Daily sync: Automatic refresh of balance, sender IDs, and coverage data
- RTL support: Right-to-left layout support for Arabic interfaces
- Test mode: Send to API without delivery for development and testing
- Moodle 4.3 or later
- PHP 8.1 or later
- A kwtSMS account (sign up at https://www.kwtsms.com)
- Download and extract to
local/kwtsms/in your Moodle directory - Visit Site administration > Notifications to complete the installation
- Go to Site administration > Plugins > Local plugins > kwtSMS
- Open the Gateway tab and log in with your kwtSMS API credentials
- Gateway tab: Enter your API username and password, click Login. Select your Sender ID and default country code.
- Settings tab: Enable the gateway, configure test mode, set admin phone numbers, and set the low balance alert threshold.
- Integrations tab: Enable the events you want to trigger SMS notifications.
- Templates tab: Customize the English and Arabic SMS message templates for each event.
| Event | Recipient | Description |
|---|---|---|
| User Enrolled | Student | Sent when a user is enrolled in a course |
| User Unenrolled | Student | Sent when a user is removed from a course |
| Grade Posted | Student | Sent when a grade is published |
| Course Completed | Student | Sent when a user completes a course |
| Quiz Submitted | Student | Sent when a quiz attempt is submitted |
| Assignment Submitted | Student | Sent when an assignment file is uploaded |
| New User Registered | Admin | Sent to admin phones when a new user registers |
| Placeholder | Available In | Description |
|---|---|---|
{firstname} |
All events | User's first name |
{lastname} |
All events | User's last name |
{coursename} |
Course events | Course full name |
{grade} |
Grade Posted | The grade value |
{activityname} |
Quiz/Assignment | Activity name |
{sitename} |
All events | Moodle site name |
KWT-SMS is a shared testing sender ID. For production use, register a private sender ID through your kwtSMS account:
- Transactional: Required for OTP and alerts, bypasses DND filtering
- Promotional: For announcements and marketing, subject to DND filtering
- kwtSMS account support: https://www.kwtsms.com/support.html
- Plugin issues: https://github.com/boxlinknet/moodle-local_kwtsms/issues
This plugin is licensed under the GNU GPL v3 or later. See https://www.gnu.org/copyleft/gpl.html for details.