Training team guide
Links, WhatsApp and reminders
How one-tap links work, what WhatsApp does with and without the Cloud API connected, and how reminders for unfinished training are sent.
On this page
One-tap links#
A one-tap link signs a rider in without a PIN, and opens their training home or a specific course.
- A link works for 14 days from when it was created. After that the rider lands on the sign-in page with “That link has expired. Sign in with your rider ID and PIN.”
- It can be opened many times within those 14 days, on any phone.
- Opening it keeps the rider signed in on that phone for 30 days.
- It stops working if the rider’s status is set to inactive.
- Link previews are safe: when WhatsApp, Slack, Discord, X or a similar app builds a preview of the link, it gets a card with only the app’s name and description, and nobody is signed in. The rider is signed in when they open the link, including inside the Telegram, LinkedIn or Facebook in-app browser.
- Links look like
https://your-address/l/…. The address comes from the server settings (APP_URL).
Treat a link like a password
Links are created in four places:
| Where | When | Opens |
|---|---|---|
| Send course link on a rider page | When you select Create link | Training home or the course you chose |
| Flag an issue, with “Send the rider the course link” ticked | When a corrective path was assigned | Training home |
Flags from your systems with notify: true | When a corrective path was assigned | Training home |
| Reminders | Each reminder | Training home |
Create and share a link#
Open the rider’s page. In Send course link, choose where the link opens.
Open their training home, or Open “course name” for a course the rider can open right now.
Select Create link.
Share it.
- Copy it with the copy button, and paste it into a message. If the browser blocks automatic copying, the link is selected for you: press Ctrl+C (or Cmd+C).
- Send on WhatsApp (rider has a phone number) opens WhatsApp with the rider’s number and the message ready. You press send.
- Share on WhatsApp (no phone number) opens WhatsApp so you can pick the contact.
- Or let the rider scan the QR code, for example at an onboarding session.
With the WhatsApp Cloud API connected, Create link sends straight away
After the first link, the button reads Create a new link. Each link you create works on its own for 14 days. Every link is logged under the panel, for example “17 Sep, 10:02: access link via link, logged”. The last 10 are shown.
WhatsApp with and without the Cloud API#
WhatsApp works in two ways. Your IT team decides which one by connecting (or not) the WhatsApp Cloud API. See Configuration.
| Without the Cloud API (default) | With the Cloud API | |
|---|---|---|
| Sending | Nothing is sent automatically. Send on WhatsApp opens WhatsApp on your phone or computer with the message ready (click-to-chat). | The platform sends an approved WhatsApp template message to the rider’s phone number. |
| Create link on a rider page | You share the link yourself. | Sent straight away if the rider has a phone number. |
| Flags with “send the link” | The link is created and logged. Share it from Send course link. | Sent straight away. |
| Reminders | Logged only. Riders receive nothing. | Sent straight away. |
| Log entry | “via link, logged” | “via whatsapp, sent” or “via whatsapp, failed” |
| Riders without a phone number | Share on WhatsApp lets you pick the contact. | Not sent. Logged as “via link, logged”. |
| Cost | Free. | Meta charges per message. |
The click-to-chat message text depends on the rider’s language:
- New training or link: “Hi Omar, you have new training in Boolanga LMS. Start here: …”
- Reminder: “Hi Omar, you still have training to finish in Boolanga LMS. Continue here: …”
- Riders whose language is Arabic get the same messages in Arabic, for example “مرحباً عمر، لديك تدريب جديد في Boolanga LMS…”. Roman Urdu and Kurdish riders get English.
About the Cloud API template#
With the Cloud API, every message uses one template approved in Meta Business Manager:
- template name:
WHATSAPP_TEMPLATE_NAME(defaultcourse_assigned), - template language:
WHATSAPP_TEMPLATE_LANGUAGE(defaulten), - two body variables:
{{1}}the rider’s first name,{{2}}the link.
Test before relying on it
Reminders#
Reminders nudge riders who haven’t finished their assigned training. A rider is due a reminder when:
- an assigned learning path isn’t finished,
- it was assigned more than N days ago, where N is the reminder interval (3 days unless IT changed
REMINDER_EVERY_DAYS), - they weren’t reminded about it in the last N days,
- their status isn’t suspended or inactive.
Each rider gets one message per run, even with several unfinished paths. The message links to their training home. Reminders repeat every N days until the training is finished. There is no maximum, and they don’t stop at the deadline.
Without the Cloud API, reminders only go into the log
Automatic reminders#
IT schedules reminders to run once a day (09:00 server time in the standard setup). Ask IT to confirm it is scheduled: see Scheduled jobs.
Send due reminders now#
Go to ReportsthenSend due reminders.
The panel asks “Message every rider with unfinished training?”. Select Send reminders, or Cancel.
Read the message.
- “Reminded 42 riders, 40 on WhatsApp.”
- “Reminded 42 riders (logged; connect WhatsApp to deliver automatically).”
- “Nobody is due a reminder right now.”
- It sends the same reminders as the daily run. A rider reminded now isn’t reminded again for N days.
- Market managers only remind riders in their markets.
- One run handles up to 5,000 assignments. Select the button again for more.
- The corrective training report counts reminders per assignment (
reminders_sentin the export).