learndash/course-progress-report reports how far every learner in one course has got: their status, completed step count and percentage, plus cohort totals.
Administrators are excluded by default.
At a glance
| Ability | learndash/course-progress-report |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Reporting |
| Requires | AcrossAI Pro, plus LearnDash LMS active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
They can open every course on the site, so including them adds the same people to every cohort and makes the not-started count meaningless.
The cohort totals are the summary worth reading first: how many have not started, how many are in progress, how many have finished. A course where most of the cohort never started has a different problem from one where they all stalled halfway.
The per-learner rows say where. Stalling at the same step across many learners points at that step — a broken video, an assignment nobody is approving, a quiz that is too hard.
group_id narrows to one group, which is how a cohort report for a single organisation is produced on a site serving several.
Paginated, because a popular course has thousands of learners. Raise per_page for a larger slice.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
course_id | integer | Yes | The course. |
group_id | integer | No | Narrow to one group. |
include_admins | boolean | No | Include administrators. |
per_page | integer | No | Rows per page. |
What comes back
| Name | Type | What it is |
|---|---|---|
learners | array | Each learner with status, completed steps and percentage. |
totals | object | Not started, in progress and completed counts. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
How is the cohort doing on this course?
It resolves to one call:
{
"ability": "learndash/course-progress-report",
"parameters": {
"course_id": 412
}
}Worth knowing
- Administrators are excluded, or the not-started count is meaningless.
- Many learners stalling at one step points at that step.
- Narrow to a group for a per-organisation report.
- Paginated.
Related abilities
- LearnDash Get User Progress — one learner in detail
- LearnDash Query Activity — the general reporting query
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category