Skip to content

WhatsApp notifications

EduBook Pro can send transactional messages — lesson reminders, online meeting links, attendance confirmations, cancellation notices — to parents over WhatsApp. It does this through your own UltraMSG account, so the sender shown is your center, and the per-message cost stays with you.

What the system sends

Out-of-the-box, EduBook Pro can dispatch these message types over WhatsApp once the integration is wired:

  • Lesson reminder — sent N hours before each scheduled lesson (configurable per group). Includes the lesson time + the meeting link for online groups.
  • Meeting link send-now — manual blast when you click “Send meeting link now” in the Groups list.
  • Attendance check-in confirmation — sent to the parent when a child marks attendance (opt-in per tenant).
  • Booking approval / rejection — sent when you approve or reject a public booking request.
  • Cancellation notice — sent when a lesson is cancelled or rescheduled in the schedule.
  • Exam result release — sent when you close an exam and the scores become visible.

You can toggle each message type on or off independently from Settings → WhatsApp Integration → Notification preferences.

What you need first

  1. An UltraMSG instance registered against the center’s WhatsApp number. Sign up at ultramsg.com and complete the QR-code pairing with the phone holding the WhatsApp account.
  2. The instance’s Instance ID and API Token from the UltraMSG dashboard.

This phone should ideally be a dedicated WhatsApp Business number for the center — using a teacher’s personal number is discouraged because:

  • WhatsApp may flag personal numbers as automated bots, leading to short-term sending bans;
  • the teacher’s personal chats appear in the same inbox UltraMSG serves from.

1. Connect UltraMSG to EduBook Pro

  1. Open Settings → Integrations → WhatsApp.
  2. Paste your Instance ID (looks like instance12345).
  3. Paste your API Token (UltraMSG calls this “Token”).
  4. Click Test connection — EduBook sends a ping to UltraMSG’s health endpoint and confirms the credentials work.
  5. Click Save.

Once saved, the credentials are stored AES-256-GCM encrypted at rest. The token won’t be readable again from the UI; only an on-server decrypt for outbound messages.

2. Choose what to send

Below the credentials form, you’ll see a list of toggles:

ToggleWhat it controls
Lesson remindersPre-lesson WhatsApp reminders.
Meeting link sendsThe “Send link now” button + automatic pre-lesson sends for online groups.
Attendance confirmationsAuto-message to parent when their child marks attendance.
Booking notificationsApproval / rejection notices.
Schedule changesCancellation / reschedule notices.
Exam result releaseScore-release notification when you close an exam.

Each toggle can be turned off without disconnecting WhatsApp entirely — useful when you want, say, only lesson reminders and nothing else.

3. Customise message templates (optional)

The default templates are in clear Egyptian Arabic and live under Settings → WhatsApp Integration → Templates. You can override any of them to match your center’s tone. Variables available in each template are listed below the editor, e.g.:

  • {studentName} — the student’s full name
  • {groupName} — the group’s name
  • {teacherName} — the teacher’s name
  • {lessonDateTime} — formatted local date and time
  • {meetingUrl} — the Zoom / Teams / manual link
  • {cancelLink} — a deep link for parent self-cancel

Save changes and the next outbound message uses the new template immediately.

How rate-limiting works

UltraMSG enforces ~1 message per second per instance. EduBook queues outbound messages and dispatches them at that pace, so a bulk blast (50-student group reminder) takes about 50 seconds end to end. The activity log marks each delivery + any failures with the WhatsApp delivery status returned by UltraMSG.

What happens when WhatsApp is offline

If UltraMSG returns a transient error (rate-limited, instance disconnected from the phone, etc.), EduBook retries the send up to 3 times with exponential backoff (10s → 1m → 5m). If all retries fail, the message is marked failed in the activity log with the reason, and we fall back to:

  • Email when an email address is on file (most cases);
  • In-app banner in the parent dashboard otherwise.

You can re-trigger a failed message manually from the activity log.

Sending WhatsApp messages to a parent requires their consent. We treat consent two ways:

  • Opt-in at booking time — when a parent fills the public booking form, the WhatsApp opt-in is presented as an explicit checkbox (not pre-ticked). The parent’s choice is stored on the student record.
  • Opt-out at any time — the parent dashboard has a “stop WhatsApp” link that flips the flag for all their children.

EduBook honors these flags on every outbound message — if the parent opted out, the system falls back to email + in-app banner automatically.

See the Privacy Policy for the data handling details.

Costs

UltraMSG bills you directly — EduBook Pro does not mark up the per-message cost. Typical UltraMSG pricing (subject to change):

  • Around USD 12 / month per active instance (one phone number).
  • No per-message surcharge for outbound messages.

Check ultramsg.com/pricing for current pricing.

Disconnecting

In Settings → Integrations → WhatsApp click Disconnect. The credentials are wiped from the server and outbound WhatsApp sends stop immediately. The integration row stays for audit (so you can see when the integration was first connected and last errored), and you can reconnect at any time without losing your template customisations.