Reports and Compliance
Who this guide is for: Tenant administrators, compliance officers, and managers who need to track, export, and schedule learning data reports.
Overview
EmbayLMS provides a comprehensive reporting suite covering enrollment and completion trends, assessment performance, compliance status, attendance, skills gaps, and individual learner history. Reports can be run on demand, exported to CSV or Excel, scheduled for automatic email delivery, and scoped to any group or organizational unit.
Prerequisites
- Tenant Admin or a custom role with the
report:readpermission (viewing and exporting reports) - To create, edit, delete, or schedule saved reports: the
report:managepermission (LMS-559) - For scheduled reports: access to Admin Panel > Reports > Scheduled reports
- For compliance dashboard: courses must have a due date configured
1 - Report Types
| Report | What it shows |
|---|---|
| Completion report | Who completed each course, when, and with what score |
| Enrollment report | Current enrollment status across courses |
| Compliance report | Compliance status per user/course pair |
| Attendance report | Attendance records for ILT/VILT sessions |
| Assessment scores | Quiz and assessment attempt history |
| Skills gap report | Required vs. completed competencies per user or group |
| Cohort analysis | Completion and engagement trends for a defined learner group |
| User activity report | Login frequency, time-in-platform, last active date |
| Course performance report | Completion rate, average score, drop-off points per course |
| Custom report | Drag-and-drop field selection |
2 - Running a Report
- Navigate to Admin Panel > Reports.
- Click the report type you want to run.
- Set your filters (see section 3).
- Click Run report.
- Results appear in a paginated table.
- Use the Export button to download results (see section 4).
Reports are generated in real time for datasets under 50,000 rows. Larger datasets are queued and delivered via email link within 5 minutes.
3 - Applying Filters
| Filter | Description |
|---|---|
| Date range | Restrict results to a start and end date |
| Group | Scope to one or more groups or departments |
| User | Filter to a specific user or list |
| Course | Filter to one or more courses or learning paths |
| Completion status | Not started / In progress / Completed / Overdue / Failed |
| Role | Filter by user role |
| Enrollment type | Self-enrolled / Admin-enrolled / SCIM-assigned |
Saving filter presets: Set filters, click Save preset, name it. Presets appear in the Presets dropdown.
4 - Exporting Reports
- Run the report.
- Click Export.
- Choose CSV (plain values) or Excel (.xlsx) (formatted workbook).
- Large reports (>10,000 rows) are queued. A secure download link is emailed when ready. The link expires in 24 hours.
Exported files contain personal data. Treat exports as confidential.
5 - Scheduling Automated Email Delivery (LMS-547)
Saved custom reports can be emailed on a recurring cadence. The CSV is generated server-side and attached to the email — recipients do not need EmbayLMS accounts.
5.1 Schedule a report
- Open the Custom Report Builder and build (or load) the report you want to send.
- Under Email schedule, choose a frequency: Daily, Weekly, or Monthly (or Off to disable).
- Enter recipient emails (comma-separated).
- Give the report a name and click Save.
A scheduled report shows a 📅 badge with its cadence in the Saved reports list.
5.2 How delivery works
- An hourly background sweep checks every saved report and sends the ones that are due (daily = once per calendar day UTC, weekly = every 7 days, monthly = once per calendar month). A newly-scheduled report sends on the next sweep.
- The email subject is
EmbayLMS report: <name>; the body notes the row count and generation date, with the CSV attached as<name>-<date>.csv. - Each run is capped at the first 10,000 matching rows (consistent with on-demand runs). Tighten filters for very large datasets.
- Delivery failures are isolated per report and retried on the next sweep; a report’s “last sent” timestamp only advances once it is sent.
5.3 Change or stop a schedule
Load the report in the builder, change the Email schedule frequency (or set it to Off) and Save. Deleting the saved report removes its schedule.
Format note: CSV is the supported export format. Excel (.xlsx) export is not yet available.
6 - Sharing a Report URL
- Configure your report filters.
- Click Share > Copy link.
- Send to any admin with the
report:readpermission.
The link encodes filter state but not data. Recipients run the report fresh and see up-to-date results.
7 - Group-Level Reports
- Open any report.
- In the Group filter, select the group or department.
- Results are restricted to members of that group.
Group Admins see only their assigned groups automatically. Selecting a parent department includes all nested sub-departments.
8 - User Drill-Down: Complete Learning History
- Navigate to Admin Panel > Users > All Users > [user name].
- Click the Learning history tab.
Displays all enrollments, assessment scores, certificates (with download links), ILT/VILT attendance, and learning path progress.
From any report, click a user name then View full transcript.
Exporting a transcript: Learning history tab > Export transcript > PDF or CSV.
9 - Compliance Dashboard
Navigate to Admin Panel > Reports > Compliance dashboard.
9.1 Dashboard panels
| Panel | Description |
|---|---|
| Overall compliance rate | Percentage of required training completed on time |
| Overdue learners | Users who missed a required course deadline |
| Expiring soon | Completions expiring within the configured window |
| Certificate expiry forecast | Upcoming expirations by date and course |
| Compliance by group | Compliance rate per department or group |
| Compliance by course | Courses with the highest non-compliance rate |
9.2 Overdue tracking
A learner is overdue when enrolled in a course with a past due date and no completion. Configure due dates: Admin Panel > Courses > [course] > Enrollment settings > Due date.
9.3 Certificate expiry
- Navigate to Admin Panel > Courses > [course] > Settings > Certificate expiry.
- Set the number of days until the certificate expires after completion.
- Expiring learners appear on the dashboard and receive automated reminder emails (configure cadence in Notifications).
10 - Custom Report Builder (LMS-296)
Open Admin Panel > Reports, then click Custom Report Builder (top right) to reach /admin/analytics/custom.
- Select columns from the left panel, grouped by dimension: Learner, Course, Enrollment, Progress, Score, Group. Each report row represents one enrollment (a learner in a course).
- Add filters — pick a field, an operator (the available operators depend on the field type: text → contains / is / is not; status → is / is not / is any of; number → greater than / less than / is; date → before / after), and a value. Filters are combined with AND.
- Group by a field (optional) to get counts per distinct value instead of rows.
- Sort by any field, ascending or descending.
- Run report to see results. Row reports paginate 50 at a time; runs are capped at the first 10,000 matching rows (a banner appears when the cap is hit — tighten your filters for a complete set).
- Save the definition with a name. Saved reports appear in the Saved reports list, where you can reload or delete them.
- Export CSV downloads the current result.
To email a saved report on a recurring cadence, set an Email schedule on it (see §5).
11 - Advanced Analytics Reports (LMS-285)
Beyond the compliance dashboard and custom builder, three pre-built analytics
reports are available from the Reports page (linked at the top). All are
report:read-gated and scoped to a group admin’s groups; each exports to CSV.
11.1 Course Engagement
Reports → Course Engagement. One row per course: enrolled count, started %, completed %, dropped %, average score, and average time (minutes). Click a column header to sort. Useful for spotting low-engagement or high-drop-off courses. (Aggregated over the most recent 20,000 enrollments.)
11.2 Overdue Training
Reports → Overdue Training. Every enrollment past its due date and not completed, with the learner, course, due date, days overdue, and the learner’s groups (your escalation targets). Paginated; exports to CSV.
11.3 Learner Drill-Down
Reports → Learner Drill-Down. Pick a learner to see their full learning history — each course with enrollment/completion dates, status, best score, time spent, and whether a certificate was issued. Exports to CSV.
Configuration Reference
| Setting | Location | Description | Default |
|---|---|---|---|
| Report timezone | Settings > General > Timezone | Timezone for timestamps and delivery | Tenant timezone |
| Scheduled report format | Per schedule | CSV or Excel | CSV |
| Expiring soon window | Compliance dashboard settings | Days before expiry to flag | 30 days |
| Large report threshold | Platform-wide | Rows above which report queues async | 50,000 rows |
| Export link expiry | Platform-wide | Hours before download link expires | 24 hours |
Troubleshooting
Report shows no data Check active filters. Click Reset filters and run again.
Scheduled report email not received Check Delivery history for the schedule. Confirm recipients are valid and schedule is not paused. Ask recipients to check spam.
Export link expired Re-run the report and export again. Links expire after 24 hours.
Compliance dashboard shows overdue learners who completed the course The dashboard refreshes every 15 minutes. Wait and reload. If it persists, verify the course due date setting.
Custom report builder is missing a field Contact EmbayLMS support to discuss a data export via the REST API.
Can’t save, edit, or schedule a report (button disabled or permission error)
Saving, editing, deleting, and scheduling reports require the report:manage permission — viewing only requires report:read. Ask a Tenant Admin to add report:manage to your role (LMS-559).