Moodle Plugins directory: WhatsApp Messenger | Moodle.org
WhatsApp Messenger
A powerful Moodle block plugin developed by CentricApp LTD (https://centricapp.co.il) that enables teachers and course managers to send official WhatsApp messages directly to students using the WhatsApp Business API.
The WhatsApp Messenger Block for Moodle is a powerful communication plugin designed to bridge the gap between Moodle courses and students’ everyday communication habits. By integrating directly with the WhatsApp Business API, this block enables teachers and course managers to send official, structured WhatsApp messages to students enrolled in their courses—quickly, securely, and at scale.
WhatsApp is one of the most widely used messaging platforms in the world, and this plugin leverages that familiarity to improve student engagement, responsiveness, and course communication, especially for announcements, reminders, and important updates.
Purpose and Use Case
In many academic and training environments, students do not regularly check email or Moodle notifications. The WhatsApp Messenger Block solves this challenge by delivering messages directly to students’ WhatsApp accounts using their phone numbers stored in Moodle profiles.
Typical use cases include:
-
Course announcements and updates
-
Schedule changes or urgent notices
-
Assignment reminders
-
Exam notifications
-
Personalized messages to individual students
Messages can be sent to individual students or all enrolled students in a course with just a few clicks.
Key Features
-
Direct WhatsApp Messaging from Moodle
Send messages to students without leaving the Moodle course page. -
Individual or Bulk Messaging
Choose a specific student or broadcast a message to all course participants. -
WhatsApp Business API Integration
Uses the official WhatsApp Business API for reliable, compliant message delivery. -
Template-Based Messaging
Supports WhatsApp-approved templates with dynamic placeholders for personalization. -
Dynamic Placeholders
Automatically inject student, course, teacher, and site data into messages. -
AJAX-Based User Interface
Smooth, responsive interface with real-time feedback during message sending. -
Automatic Phone Number Detection
Uses thephone1orphone2fields from the student’s Moodle profile. -
Message Logging and Auditing
All outgoing messages are logged in a dedicated database table for tracking and auditing. -
Multi-Language Support
Fully supports English and Hebrew, with Moodle-standard language strings. -
Debug Mode
Optional detailed logging for administrators and developers during setup and troubleshooting.
Technical Overview
The plugin is implemented as a standard Moodle block plugin, making it easy to add to any course. Configuration is handled at the site level, ensuring secure storage of WhatsApp API credentials and consistent behavior across all courses.
All message-sending actions are permission-controlled and logged, ensuring transparency and compliance with institutional communication policies.
`Exception - Class "external_api" not found`
It looks like the external service classes need to be updated to the new Moodle namespace, for example `core_external\external_api` instead of the old global `external_api` class.
Could you please make this update in the plugin please?
Thanks for reporting this.
The issue has been fixed by updating the external API references to match the newer Moodle namespace structure (core_external\external_api). The plugin has been adjusted to be compatible with the newer Moodle versions.
Please update to the latest version and verify on your side.
First of all, thank you for your prompt response.
I have two questions I hope you can answer for me:
1. Could you implement a feature to send messages to groups? I see that messages can be sent individually or to all students, but it would be a good idea to add an option to send them to course groups as well.
2.- On the mobile view, I noticed an issue where, when I tap the text input field to write a message, the widget hides, and I have to open it again to see the message. It would be great if you could fix this small issue.
Thank you very much