Notifications & email
How CLIP Learn notifications work across the in-app bell, web push and email, which events trigger them, and how to enable push.
CLIP Learn keeps you informed through three channels: an in-app bell, browser web push, and email. Every notification is created once and then fanned out across whichever channels are available for you. This page explains what each channel does, which events raise a notification, how to enable push on your device, and how email is sent.
The three channels at a glance
| Channel | Where it appears | Always on? |
|---|---|---|
| In-app bell | The bell icon in the top bar and the Notifications page | Yes — always recorded |
| Web push | Your operating system's notification tray (even when CLIP Learn is closed) | Only after you enable it in your browser |
| Your account email inbox | Only when the platform has email configured, and only for personal (not bulk) notifications |
When an event fires, CLIP Learn always writes an in-app record first, then attempts push and email in parallel. Delivery is best-effort: if push or email fails, it never blocks the action that triggered it, and it never affects the in-app record.
In-app notifications (the bell)
Every notification is stored to your account and shown in two places.
The bell and unread badge
The bell icon sits in the top bar on every signed-in page. When you have unread notifications, a small brand-coloured badge shows the count. The badge caps its display at 9+ — any count above nine shows as 9+. When everything is read, no badge is shown.
The Notifications page
Open the bell, or go to /app/notifications, to see your history.
| Element | What it shows |
|---|---|
| List | Your most recent 60 notifications, newest first |
| Unread rows | Highlighted with a tinted background and a filled dot on the left |
| Read rows | Plain background, no dot |
| Title | The headline of the notification (for example, "Marked: Contract Law") |
| Body | An optional second line of detail (for example, a score or "feedback added") |
| Timestamp | Day, month and time, shown in your account timezone |
| Mark all read | A button in the header, shown only while you have unread items |
| Back to dashboard | A link returning you to /app |
If a notification has a linked destination, the whole row is clickable and takes you straight to the relevant page (for example, your assignments or the forum thread). Notifications without a link are shown as plain, non-clickable rows.
Empty state
Marking notifications as read
There is no per-item "mark read" action and no delete action — marking is all-or-nothing, and history is retained (trimmed to the most recent 60 on display).
Web push notifications
Web push delivers notifications to your device's system tray through your browser, even when the CLIP Learn tab is closed. It is off until you turn it on, and it must be enabled per browser and per device.
Enabling push
The Enable push button lives on the Notifications page, next to Mark all read.
/app/notifications).Push button states
The button reflects exactly what your browser reports:
| State | What you see | Meaning |
|---|---|---|
| Ready | Enable push | Push is supported and not yet enabled — click to turn on |
| Working | Enabling… (disabled) | The subscription is being set up |
| Enabled | Push on (green, with bell) | This browser is subscribed and will receive push |
| Blocked | Blocked in browser settings | You denied the permission prompt — re-allow it in your browser's site settings |
| Failed | Couldn't enable — try again | Something went wrong during setup; click to retry |
| Unsupported | (button hidden entirely) | Your browser lacks service-worker or push support, or push is not configured on the platform |
Multiple devices
What a push notification looks like
A pushed notification shows the same title and body as the in-app record, using the CLIP Learn app icon. Clicking the notification focuses an already-open CLIP Learn window (navigating it to the relevant page) or opens a new window at that page. If the notification has no specific destination, it opens the dashboard at /app.
Housekeeping
If your browser subscription expires or is revoked (the push service reports it as gone), CLIP Learn automatically removes that dead subscription the next time it tries to send, so you won't accumulate stale entries. Push is best-effort — a failure to deliver to one device never affects your in-app record or the other channels.
Why push may be unavailable
Email notifications
When the platform has email configured, personal notifications are also emailed to your account address.
When email is sent
| Notification type | Emailed? |
|---|---|
| Personal notifications (grading, essay marks, forum replies to you) | Yes — to your account email |
| Bulk notifications (a new assignment sent to a whole class) | No — email is intentionally skipped to avoid mass-mailing |
Email is only attempted when the platform's mail sending is configured (an SMTP host is set). If it is not configured, email is silently skipped and you simply receive the in-app and push notifications instead.
What the email contains
The email subject is the notification's title. The body is the notification's detail text (or the title if there's no detail), followed by a direct link back into CLIP Learn when the notification points at a specific page. The link is built from the app's own address (https://cliplaw.academy by default) plus the notification's destination.
Sender and domain
Email is sent from the platform's own domain, not from a third-party address. The default sender is CLIP Learn <no-reply@cliplaw.academy> (the exact from-address can be set by the platform operator). Sending goes through the platform's configured SMTP mail server. Like push, email is best-effort — a mail failure never breaks the action that triggered the notification.
No-reply
Events that trigger a notification
These are the events in CLIP Learn that raise a notification, who triggers them, who receives them, and on which channels.
| Event | Triggered by | Who is notified | Channels | Links to |
|---|---|---|---|---|
| New assignment set | Faculty or Admin creates an assignment on a course | Every learner enrolled on that course | In-app + push (no email) | Your assignments (/app/assignments) |
| Assignment graded | Faculty or Admin grades a submission | The learner who submitted | In-app + push + email | Your assignments (/app/assignments) |
| Essay marked | Faculty or Admin releases an essay mark | The learner who submitted the essay | In-app + push + email | Your essays (/app/essays) |
| Forum reply | Any member replies to a thread you started | The thread's author (unless you replied to your own thread) | In-app + push + email | The thread (/app/forum/...) |
Notes on the detail these carry:
- New assignment — title reads "New assignment:
<name>". Because it goes to a whole class, it is sent to everyone enrolled at once and email is deliberately omitted. - Assignment graded — title reads "Marked:
<assignment title>"; the body shows your score out of the maximum, and appends "— feedback added" when your grader left comments. - Essay marked — title reads "Marked:
<topic>"; the body shows your marks out of the essay's maximum, plus "— feedback added" when feedback was included. This fires when the marker releases the result. - Forum reply — title reads "New reply:
<thread title>"; the body reads "<name>replied to your post". You are not notified for replies you make to your own thread.
Notification categories
kind label used for categorisation — for example assignment_set, assignment_graded, essay_marked and forum_reply. You don't need to set or see these; they're used internally to tag the type of event.Permissions summary
| Action | Who can do it |
|---|---|
| Receive notifications | Any signed-in user, for events that concern them |
| Enable / disable web push | Each user, in their own browser |
| Mark your notifications read | Each user, for their own notifications |
| Trigger "assignment set" / "graded" / "essay marked" | Faculty and Admin |
| Trigger "forum reply" | Any user who can access the course forum |
Notifications are always personal — you only ever see your own, and marking or reading them affects no one else.
Troubleshooting
| Symptom | Likely cause / fix |
|---|---|
| Enable push button doesn't appear | Your browser doesn't support push, or push isn't configured on the platform. Try a modern desktop browser. |
| Button shows Blocked in browser settings | You denied the permission prompt. Re-enable notifications for CLIP Learn in your browser's site settings, then click again. |
| Button shows Couldn't enable — try again | A transient setup error — click to retry. |
| Not receiving emails | The platform may not have email configured, or the notification was a bulk one (assignments to a class are never emailed). Check your in-app bell — the record is always there. |
| Times look wrong on the Notifications page | Timestamps use your account timezone. Update your timezone in your profile to correct them. |
Bell badge shows 9+ | You have more than nine unread items; open Notifications and use Mark all read. |
Roles & permissions
The four CLIP Learn roles, the capability matrix, tenant and org isolation, and how corporate sponsors are kept out of learner content.
Public API & webhooks
Developer reference for CLIP Learn's read-only REST API v1 and outbound webhooks: minting keys, authentication, endpoints, event payloads, and the HMAC signature.