Holon Notify
Complete Product Manual & Reference Guide — Instructor Edition
Version 2.0 · May 2026 · Canvas LTI Tool
⚡ Quick Start — Send Your First Announcement
New to Holon Notify? Follow these six steps to send your first message in a couple of minutes. Each step links to the full details further down.
1. Open the composer
From the left sidebar, click New Announcement. The composer opens to a four-step wizard — each step unlocks after you complete the one before it. (See Composing an Announcement.)
2. Choose who receives it
Step 1 — Who. Pick a recipient set: the current course, all your courses, specific courses, a Smart Filter (e.g. grade below a threshold, inactive students, missing assignments), or hand-picked students. Then click Next.
3. Write your message
Step 2 — Write. Enter a subject and body. Write it yourself, start from a Template, or let AI draft it. Use variables like {{first_name}} and {{course_name}} to personalize (these only fill in when sending via Inbox).
4. Pick how it’s delivered
Step 3 — Channel. Choose Announcement (posts to the course feed), Inbox (a private, personalized message to each student), or Both. Personalization variables only work with Inbox or Both.
5. Review and send
Step 4 — Review. Confirm the recipient count, subject, body, and channel. Click Send to deliver now — or schedule it for later (see Scheduled Messages).
6. Confirm it went out
Open Send History to see delivery status and per-student results, or Analytics for read and engagement data. (See Send History.)
💡 Tip: To use AI drafting, add your Anthropic API key once under the AI Key menu — see the note in Step 2 of the composer for how to get a free key.
1. Overview & Key Capabilities
Holon Notify is a Canvas LTI tool that lets instructors send targeted announcements and personalized inbox messages to students — with filtering, scheduling, AI drafting, and delivery analytics far beyond Canvas’s built-in tools.
Holon Notify runs entirely within Canvas as an embedded LTI 1.1 tool. No separate login is required — your Canvas identity and course data are used automatically via your Canvas API token.
Key Capabilities
- Send to a single course, multiple courses, all your courses, or filtered student subsets
- Target students by grade range, last activity date, missing assignment count, or individual name
- Send as Canvas Announcements (course feed), Canvas Inbox messages, or both simultaneously
- Personalize messages with dynamic variables (
{{first_name}}, {{grade}}, etc.)
- AI-powered draft assistant (requires Anthropic key configured in Holon Hub)
- Smart Suggestions — AI surfaces at-risk students with ready-to-send messages
- Schedule messages for future one-time delivery
- Set up recurring messages on weekly/monthly schedules
- Save and reuse message templates organized by custom categories
- Save drafts and return to them later
- Track delivery with per-recipient analytics and exportable CSV reports
- Opt-out management — exempt students from inbox messages
- Fully customizable theme to match your institution’s Canvas colors
- WCAG 2.1 AA accessible with font-size zoom controls
Individual License: Supports up to 10 courses per send. Contact Holon Technology to upgrade to an Institutional license for unlimited courses.
2. Navigation & Topbar
The topbar persists on every screen. The sidebar provides navigation between all views and can be collapsed for more content space.
Topbar Elements
☰ Hamburger
Collapses or expands the left sidebar.
● Holon ANNOUNCE badge
Brand identifier. The green dot confirms the tool is active and connected to Canvas.
Avatar & Name
Displays your Canvas display name. Confirms which Canvas account is active in this session.
A / A+ / A++
Accessibility font-size zoom controls. Affects the content area only, not Canvas itself. Your preference is saved and restored on next launch.
Help button
Opens the quick-start help overlay with a link to this manual.
Sidebar Navigation
| Menu Item | Description |
| Dashboard | Overview of recent activity, stats, and upcoming scheduled messages |
| New Announcement | 4-step composer for creating and sending announcements |
| Drafts | Saved draft messages (count badge shows how many) |
| Smart Suggestions | AI-generated outreach ideas based on live Canvas course data |
| Templates | Saved message templates organized by category |
| Send History | Complete log of all sent announcements with delivery data |
| Scheduled | Messages queued for future one-time delivery |
| Recurring | Messages set to send on a repeating schedule |
| Opt-Outs | Students exempt from inbox messages |
| Analytics | Delivery rates, channel breakdown, course breakdown, activity chart |
| Settings | Text size, theme customization, help |
| Product Manual | This document |
3. Composing an Announcement
The composer is a 4-step progressive wizard. Each step unlocks only after the previous step is completed. Navigating away auto-saves a draft.
Step 1 — Who Receives This?
📚 Current Course
All enrolled students in the course you launched Holon Notify from.
📚 All My Courses
Every course you teach. Subject to the 10-course cap on individual licenses.
🎯 Choose Course(s)
Select a term first, then pick one or more specific courses. Hold Ctrl/Cmd to multi-select. Only courses in the selected term are shown — Default Term courses are excluded from specific term filters.
🔍 Smart Filter
Target students by live Canvas data:
- Grade below X% — students whose current grade falls below a threshold
- Inactive for X days — students who have not logged in for N or more days
- Missing assignments ≥ X — students with at least N missing submissions
Smart Filter fetches live data from Canvas each time it runs. Results always reflect the current state of your gradebook and activity logs.
👤 Specific Students
Search by name across all your courses and hand-pick individual students. You can select students from different courses in a single send.
Course Cap (Individual License): Maximum 10 courses per send. If you exceed this, an orange warning appears and the send is blocked. Contact Holon Technology to upgrade to Institutional for unlimited courses.
Step 2 — Write Your Message
Subject Line
Required. Becomes the announcement title in Canvas, or the inbox message subject line.
Message Body
Plain text composition area. Supports line breaks. HTML is not rendered.
Personalization Variables
Click any variable chip below the editor to insert it, or type it directly. At send time each variable is replaced with the individual student’s real data:
| Variable | Replaced with | Channel support |
{{first_name}} | Student’s first name | Inbox & Both only |
{{course_name}} | Course name | All channels |
{{grade}} | Current grade percentage | Inbox & Both only |
{{missing_count}} | Number of missing assignments | Inbox & Both only |
{{days_inactive}} | Days since last Canvas activity | Inbox & Both only |
{{instructor_name}} | Your Canvas display name | All channels |
Important: Personalization variables only work when sending via Inbox or Both. When sending as an Announcement (course feed post), variables appear as literal text — e.g. “{{first_name}}” — because a course announcement is one post visible to all students, not individualized per student.
Use a Template
Opens the template picker. Browse all templates or filter by category. Click any template to pre-fill the subject and body. You can edit freely after loading.
✦ AI Draft Assistant
Describe what you want to say and AI writes a first draft. Requires an Anthropic API key configured in Holon Hub Settings. The assistant uses your target audience context to draft an appropriate message. Always review and edit before sending.
Word & Character Count
Live counts are shown in the top-right corner of the message body area as you type.
Step 3 — How Should It Send?
📢 Announcement
Posts a single announcement to the Canvas course Announcements feed. Visible to all enrolled students. Students with Canvas notification settings enabled will receive a Canvas notification. One post per course — variables are not personalized.
✉ Inbox
Sends a private, personalized Canvas Inbox message to each student individually. Each student receives their own copy with all variables substituted with their real data. Students can reply via Canvas Inbox — replies go to your Canvas Inbox, not back through Holon Notify.
📡 Both
Posts to the course Announcements feed AND sends a personalized inbox message to every student simultaneously. Maximum reach. Variables only work in the inbox portion; the announcement post receives literal variable text.
Step 4 — Preview & Send
Live Preview
The preview panel shows exactly what students will see, with variables substituted using sample data. For Inbox/Both, the recipient list shows every student who will receive the message.
Internal Title (optional)
A private label for your own reference. Never visible to students. Helps you organize Send History.
Schedule for Later (optional)
Expand the scheduling section to pick a future date and time. The message is queued and appears in the Scheduled view. Leave blank to send immediately.
🚀 Send Now
Immediately delivers to all recipients. A live progress log shows each delivery in real time with success or failure per student. Once complete the send cannot be undone.
Save Draft
Saves your current subject, body, channel, and recipient selection as a draft. Accessible from the Drafts sidebar item.
Save as Template
Saves only the subject and body as a reusable template. You will be prompted for a name and category.
Important: Sent announcements cannot be recalled or unsent. Use Draft or Schedule to review before committing to a send.
4. Drafts
Drafts are saved message compositions that have not yet been sent. They persist across sessions on the Holon server.
The Drafts sidebar item shows a count badge of how many drafts you have. Each draft card displays the subject, channel, recipient count, and save date.
From any draft card you can:
- Edit — loads the draft back into the New Announcement composer with all fields restored
- Delete — permanently removes the draft and its Send History entry
If you navigate away from the composer mid-composition, an unsaved draft banner appears when you return to New Announcement, letting you restore or discard your work.
5. Smart Suggestions
AI analyzes your live Canvas course data to identify students who may need outreach — and drafts a ready-to-send message for each group automatically.
Smart Suggestions does not run automatically when you navigate to it. Select a course from the dropdown, then click + Analyze to trigger the analysis.
Suggestion types generated:
- Inactive students — students who have not logged into Canvas for 7 or more days
- Low grades — students with a current grade below 70%
- Missing assignments — students with 2 or more missing submissions
Each card shows the number of affected students and a pre-drafted message tailored to the issue. Click Send This Message to load it into the composer with that filtered student list pre-selected. Click Dismiss to hide a suggestion without acting on it.
Always review and personalize AI-generated suggestions before sending. The AI drafts based on general patterns — add your own context before hitting send.
6. Templates & Categories
Templates let you save message compositions for repeated use across terms and courses. All templates support personalization variables.
Built-in Templates
Holon Notify includes pre-built templates for common use cases: Low Grade Check-In, Missing Assignments Alert, Inactivity Check-In, Course Update, Mid-Term Check-In, Welcome Message, Great Work!, and Deadline Reminder. These are read-only and available to all users.
Creating a Template
- In New Announcement Step 4, click Save as Template
- Enter a template name and select a category
- Click Save Template — it appears in your library immediately
Using a Template
- In Step 2 of the composer, select Use a Template
- Browse the template grid by category or search by name
- Click Use → on any template to load it into the subject and body fields
- Edit freely before proceeding to Step 3
You can also click Preview on any template card in the Templates view to see a sample of how the message will appear to students before loading it.
Managing Templates
From the Templates sidebar view: filter by category using the top filter buttons, or use the Preview / Edit / Delete actions on each template card.
Built-in (default) templates cannot be deleted. Editing a built-in template saves it as a new custom copy — the original default is preserved unchanged.
Template Categories
Default categories: General, At-Risk, Engagement, Positive, Reminder. Manage categories from the Manage Categories collapsible section at the bottom of the Templates page.
- New Category — creates a new category available immediately in the template form and filter buttons
- Rename — renames the category and updates all templates using it
- Delete — prompts whether to move that category’s templates to General or delete them. The General category cannot be deleted.
7. Send History & Export
A complete log of every announcement, draft, and scheduled message associated with your account.
Each row shows: title, subject preview, channel badge, recipient count, delivered count and rate, read receipt status (where available), delivery status badge, date, and action buttons.
Status Badges
| Status | Meaning |
| sent | Successfully delivered |
| draft | Saved but not yet sent |
| scheduled | Queued for future delivery |
| sending | Currently in progress |
Actions Per Row
- Details — opens a delivery log showing per-recipient status, timestamp, and any error
- Resend — immediately re-sends the same message to the same original audience
- ✕ — permanently deletes the record from history
Search & Filter
Search by title or subject using the search box. Filter by channel (All / Announcement / Inbox / Both) using the dropdown.
Export CSV
Click Export in the top-right to download a detailed CSV. The file contains one row per recipient per message with: message title, subject, full message body, channel, course name, Canvas user ID, delivery status, error message (if any), individual delivery timestamp, and aggregate totals (total recipients, delivered, failed).
FERPA note: The export contains Canvas user IDs (not student names). Instructors are responsible for handling exported files in accordance with their institution’s FERPA and data governance policies.
8. Scheduled Messages
One-time future-delivery messages queued by the Holon Notify scheduler.
To create a scheduled message: use New Announcement → Step 4 → expand “Schedule for later” and set a date and time. Scheduled messages appear in Send History with a “scheduled” status badge.
The Scheduled view shows all pending messages. Actions available:
- Edit — modify message content or change the delivery date/time
- Cancel — removes the message from the queue (record remains in Send History)
Server dependency: Scheduled messages require the Holon Notify server to be running at delivery time. If the server is unavailable, the message will not send. Contact your Canvas administrator if scheduled messages fail to deliver.
9. Recurring Messages
Messages configured to send automatically on a repeating schedule.
To create a recurring message: use New Announcement → Step 4 → set a recurring interval (weekly, monthly, etc.). The Recurring view shows all active schedules with title, channel, frequency, and next scheduled send time.
From the Recurring view you can edit or disable any schedule. Disabling stops future sends without deleting the configuration.
Recurring messages use the same recipient targeting as when originally created. For Smart Filter and course-based targets, the recipient list is recalculated fresh at each send time using live Canvas data.
10. Opt-Outs
Students who have been exempted from receiving Canvas Inbox messages through Holon Notify.
Opt-out records are checked automatically before every Inbox or Both channel send. Opted-out students are silently skipped — they still receive Course Announcement posts (public feed posts cannot be filtered per-student).
The Opt-Outs view shows each opted-out student’s Canvas user ID, course, reason, and opt-out date. Instructors can remove a student from the opt-out list to restore normal messaging.
FERPA note: Opt-out records store Canvas user IDs only — no names or email addresses are stored.
11. Analytics
Track announcement performance and delivery trends over time.
Period Filters
All Time / This Term / 30 Days / 7 Days buttons filter all metrics and charts to the selected window.
KPI Cards
| Metric | Description |
| Messages Sent | Total announcements sent (drafts excluded) |
| Recipients | Total individual delivery attempts across all messages |
| Delivered | Total successfully delivered |
| Delivery Rate | Delivered ÷ Recipients as a percentage. Benchmark comparison shown where data is available. |
| Scheduled | Messages currently queued for future delivery |
Charts & Breakdowns
- Send Activity — bar chart of daily send volume over the last 30 days
- By Channel — breakdown of sends and delivery rates by Announcement / Inbox / Both
- By Course — volume and delivery rate per course
Recent Messages Table
Shows your 10 most recent sends with subject, course, channel, recipients, delivered count, status, and date. Click View full history → to go to Send History.
12. Accessibility (ADA / WCAG 2.1)
Holon Notify is designed and tested to meet WCAG 2.1 Level AA accessibility standards.
Built-in Accessibility Features
- Font-size zoom — A (100%) / A+ (115%) / A++ (130%) buttons in the topbar. Affects the tool content area only. Setting persists per user across sessions.
- Color contrast — all default text/background combinations meet the WCAG 2.1 AA minimum of 4.5:1. Primary body text exceeds 10:1 (AAA). Secondary/muted text is a minimum 4.5:1 (recently audited and corrected May 2026).
- Semantic HTML — buttons, headings, tables, and form elements use correct HTML semantics for screen reader compatibility.
- Keyboard navigation — all interactive elements are reachable and operable by keyboard (Tab, Enter, Space, arrow keys where applicable).
- Focus indicators — visible focus outlines on all focusable elements.
- Table headers — all data tables include proper
<th> column headers.
Custom Theme Accessibility Responsibility
Theme customization via Settings can reduce contrast below WCAG minimums. When customizing colors, the instructor or administrator is responsible for verifying contrast ratios. Click Reset at any time to restore the default accessible color scheme.
Known Limitations
- Holon Notify runs inside a Canvas LTI iframe. Accessibility of the Canvas chrome (navigation, breadcrumbs, header) is controlled by Canvas/Instructure, not by Holon Technology.
- AI-generated content is not screened for accessibility or appropriateness before display. Always review AI drafts before sending.
13. Data Storage, FERPA & Privacy
This section describes exactly what data Holon Notify stores on Holon Technology’s servers, what it does not store, and how long data is retained.
What Is Stored on Holon Servers
| Data Type | What Is Stored | Retention Policy |
| LTI Session (launches) | Canvas domain, Canvas user ID, course ID, course name, user role, LTI consumer key. No student names, emails, or grades. | Auto-purged after 48 hours |
| Canvas API Token | Your Canvas API token, stored encrypted server-side. Used exclusively to call the Canvas API on your behalf. | Retained until replaced by you or account deprovisioned. Never exposed to browser or other users. |
| Announcements / Drafts | Title, subject, message body, channel, target course IDs, target filter parameters (grade thresholds, activity filters), send status, timestamps. No student names or grade values. | Retained until manually deleted by instructor, or account deprovisioned. |
| Delivery Log | Canvas user ID (not name), course ID, course name, channel, delivery status (delivered/failed/skipped), error message if failed, timestamp. No message content per student. | Auto-purged after 90 days |
| Templates | Template title, subject, body text, category, use count. No student data. | Retained until deleted by instructor. |
| Scheduled & Recurring | Message content, schedule parameters, course IDs. No student data. | Deleted when cancelled or after delivery completes. |
| Opt-Outs | Canvas user ID, course ID, opt-out reason, timestamp. No names or emails. | Retained indefinitely to honor opt-out. Manually removable by instructor. |
| User Preferences | Font zoom level, onboarding completion flag. No personal information. | Retained per user until account deprovisioned. |
| License Data | License key, plan type, expiry date, Canvas domain, Canvas user ID. Email address only if provided during license activation. | Retained for license management. |
| AI Key | Anthropic API key if configured, stored encrypted. Used only when AI features are invoked. | Retained until replaced or removed. |
| Categories | Custom template category names. No student data. | Retained until deleted. |
What Is NOT Stored
Holon Notify does not store any of the following:
- Student names, email addresses, or contact information
- Student grades or gradebook data — fetched live from Canvas on demand, never written to the Holon database
- Student activity logs or login timestamps — fetched live, never persisted
- Canvas assignment details, submission content, or rubric data
- Any data from courses where you are not enrolled as an instructor or administrator
- Browser cookies or persistent client-side data (sessions are token-based, server-side only)
- Message content in the delivery log — only delivery status is recorded per student, not the message body
FERPA Compliance Notes
Holon Notify is designed to minimize storage of student education records as defined under the Family Educational Rights and Privacy Act (FERPA):
- Student grades, activity data, and assignment information are fetched live from Canvas via the Canvas API only at the moment they are needed (for Smart Filter calculations or Smart Suggestions). This data is used in-memory to determine recipients or draft messages and is never written to the Holon database.
- The delivery log stores Canvas user IDs only — not names, emails, or any other personally identifiable information. Canvas user IDs are institution-internal identifiers.
- Delivery logs are automatically and permanently purged after 90 days with no manual action required.
- LTI session data (which includes user identity context from Canvas) is automatically purged after 48 hours.
- Message body content is stored in the announcements table as part of the send record. Instructors should avoid embedding personally identifiable student information directly into message bodies.
- Institutions that require a formal data processing or data sharing agreement for FERPA compliance should contact Holon Technology at holontechnology.com/support.
Export responsibility: The CSV export from Send History contains Canvas user IDs. Instructors are solely responsible for storing, sharing, transmitting, and disposing of exported files in accordance with their institution’s FERPA policies and data governance requirements.
Data Location & Third Parties
All Holon Notify data is stored on Holon Technology’s dedicated server infrastructure. Data does not leave Holon servers except for API calls made directly to your institution’s Canvas instance on your behalf. No student or course data is shared with third parties. The only exception is if you have configured an Anthropic API key and use AI features — in that case, your message composition context (not student identifiers) is sent to Anthropic’s API for draft generation.
14. Security
Security properties and best practices for Holon Notify.
- LTI 1.1 Authentication — your Canvas identity is verified on every launch via OAuth-signed LTI parameters. No username or password is stored by Holon Notify.
- Session tokens (ltik) — each Canvas launch generates a cryptographically random 32-byte session token. This token must be present on every API call. Sessions expire and are purged after 48 hours.
- Canvas API Token — stored server-side only, encrypted at rest. Never transmitted to the browser. Never visible to other users or administrators. You are the only user whose token can be used for your account.
- HTTPS only — all traffic between your browser, Canvas, and Holon servers is encrypted via TLS/HTTPS. There is no unencrypted HTTP access.
- Role enforcement — all send, analytics, roster, and history endpoints verify an instructor or admin Canvas role on every request. Students cannot access send functionality even if they somehow obtained a valid session token.
- Domain isolation — all database queries are scoped to your Canvas domain. Data from one institution is never accessible to users from another.
- AI key isolation — Anthropic API keys are stored per-user and per-domain. Your key is never shared with or used by other users.
Protect your Canvas API token: Treat it like a password. Anyone with your token can perform Canvas API actions on your behalf. If you believe it has been compromised, regenerate it immediately in Canvas → Account → Settings → Approved Integrations, then update it in Holon Notify by re-entering it in the token setup prompt.
15. FAQ & Troubleshooting
Why can’t I see my courses in the recipient selector?
Your Canvas API token may be expired or missing. Re-enter a fresh token via the token setup prompt. In Canvas: Account → Settings → Approved Integrations → + New Access Token. Ensure the token has access to Courses and Announcements.
Why does a Default Term course show up in every term filter?
Canvas returns Default Term courses alongside results from any specific term query. Holon Notify filters these out server-side when a specific term is selected. If a course still appears, it may use a different term assignment in your Canvas instance than expected.
A student says they didn’t receive my message.
Check Send History → Details for that message to see the per-recipient delivery log. Possible causes: student is on the Opt-Outs list; Canvas API returned an error for that student; the student’s Canvas notification settings suppress that notification type. Course Announcements are always posted to the feed and are not affected by notification settings.
My scheduled announcement didn’t send at the right time.
Scheduled messages require the Holon Notify server to be running at delivery time. Contact your Canvas administrator to confirm the service status. The message will remain in the Scheduled view and can be manually edited and re-saved to trigger delivery.
Can students reply to messages sent through Holon Notify?
Inbox messages can be replied to via the standard Canvas Inbox. Replies arrive in your Canvas Inbox, not back through Holon Notify. Course Announcements follow Canvas’s standard comment settings for that course.
Personalization variables are showing as literal text (e.g. “{{first_name}}”) in the received message.
Variables only work with the Inbox or Both channel. If you sent via Announcement (course feed), variables cannot be personalized because one post is shared by all students. Switch to Inbox or Both to use variables.
How do I reset the theme to Holon defaults?
Go to Settings → Theme Customization → click ↻ Reset.
Does Holon Notify work on mobile?
Yes. Holon Notify is responsive and functions in mobile browsers including Safari on iOS and Chrome on Android when accessed through Canvas mobile browser view. The native Canvas mobile app may have limitations with LTI embedded tools depending on your Canvas version.
Is there a limit on how many students I can message at once?
No hard student limit. Individual and trial licenses are limited to 10 unique courses per term — once you have sent to 10 distinct courses in a term, additional courses in that same term are blocked. Within those 10 courses, all enrolled students can be messaged without limit. The counter resets each term. Upgrade to a site license for unlimited courses.
What happens to my data if I stop using Holon Notify?
Delivery logs are automatically purged after 90 days. LTI session data after 48 hours. Message records, templates, and drafts remain until manually deleted or until your institution’s account is deprovisioned. To request full data deletion, contact holontechnology.com/support.
The AI draft assistant isn’t working.
The AI assistant requires an Anthropic API key to be configured in Holon Hub Settings. If no key is present, the AI Draft button will not appear or will show an error. Contact your Hub administrator to configure the key.
Why does the course search show students not in my current course?
The Specific Students search looks across all courses you teach, not just the current launch course. This is intentional — it allows you to message students from any of your courses in a single send.