Suggested Comms
r4ptor watches your club data for milestone moments and surfaces a queue of suggested messages for you to review — nothing is sent until you approve it.
How it works
- Go to Admin → Comms → Suggested tab
- Tap Scan now — r4ptor checks all active students for trigger events
- Review each suggestion card — see the student name, trigger reason, a preview of the email, and the actual date of the event (e.g. "Birthday: 4 Jul 2026" or "Anniversary: 15 Jul 2026")
- Tap Send to approve and send immediately, or Dismiss to remove it from the queue
Suggestions are logged in the queue but nothing is sent until you tap Send. Dismissed suggestions are permanently removed and won't reappear for the same event.
When Test Mode is ON, the Send button turns amber and shows Test send. Tapping it fires the message to your test override address — the suggestion stays PENDING in the queue so you can approve it for real once Test Mode is off.
Trigger types
| Trigger | When it fires |
|---|---|
| Attendance streak | A student attends 6, 12, 24, 36 or 52 sessions in a row |
| Student of the Week | A student wins a GOLD SOW award within the last 14 days |
| Training anniversary | A student's joinedAt date falls within 7 days of today (1+ years) |
| Birthday | A student's date of birth falls within 3 days of today |
| Membership renewal | A student's membershipRenewalDate falls within the next 30 days |
Each trigger fires once per event — a student who hits a 12-session streak won't be suggested again until they hit 24. A renewal suggestion fires once per calendar year (e.g. the 2026 renewal won't re-appear after it's been sent or dismissed).
Templates used
Each trigger type maps to a comms template. All four are seeded by default and can be edited in Admin → Comms → Templates:
| Trigger | Template key |
|---|---|
| Attendance streak | STREAK_MILESTONE |
| Student of the Week | SOW_AWARD_PARENT |
| Training anniversary | ANNIVERSARY |
| Birthday | BIRTHDAY |
| Membership renewal — Direct Debit | MEMBERSHIP_RENEWAL_DD |
| Membership renewal — Action required | MEMBERSHIP_RENEWAL_ACTION |
The renewal trigger automatically picks the right template: students with an active GoCardless mandate get MEMBERSHIP_RENEWAL_DD (heads-up, payment collected automatically); all others get MEMBERSHIP_RENEWAL_ACTION (call-to-action with a payment link).
Each trigger also injects extra tokens into its template that are only available for that trigger type:
| Trigger | Extra token | Value |
|---|---|---|
| Attendance streak | {{STREAK_COUNT}} | Number of consecutive sessions (e.g. 6) |
| Training anniversary | {{ANNIVERSARY_YEARS}} | Number of years training (e.g. 3) |
| Birthday | {{BIRTHDAY_AGE}} | Age the student is turning (e.g. 10) |
| Membership renewal | {{RENEWAL_DATE}} | Formatted renewal date (e.g. 19 June 2027) |
The renewal templates also use two tokens, set in two different places since one is club-wide and the other is branch-specific:
| Token | Where it's set | Example |
|---|---|---|
{{ANNUAL_MEMBERSHIP_FEE}} | Admin → Integrations → Fees (AppSettings) | 40 |
{{ANNUAL_FEE_PAYMENT_URL}} | Admin → Comms → Variables (Custom Variable — same place as grading's payment link) | SumUp payment link |
ANNUAL_MEMBERSHIP_FEE (used in renewal reminders) is separate from AFFILIATION_FEE_JUNIOR (shown once on the membership signup form — see Membership & Direct Debit). If your club's annual fee and signup affiliation fee are the same amount, you currently need to keep both settings in sync manually — there's no single shared value yet.
Setting a membership renewal date
Open any student profile and tap Edit. The Membership renewal date field sets the date the scanner uses for this student. Students without a renewal date are skipped by the scanner.
A good starting point is the student's join anniversary (e.g. joined 15 March 2025 → set renewal date to 15 March 2026). Once you send or dismiss the 2026 renewal, update the date to 15 March 2027 for the following year.
The suggestion card shows a live preview of the email subject and body with all tokens already substituted — what you see is exactly what the parent will receive.
Comms log
When you approve and send a suggestion, it is logged to the student's comms history exactly like a manually sent comm. Dismissed suggestions are not logged.
Badge count
A red badge on the Comms tile on the home screen shows the number of pending suggestions waiting for review.