Instructor-facing table showing all enrolled learners with per-module completion ticks and average quiz scores. On GAS reads live from the course progress Sheet via a2uiCohortRead. On web renders from static items[] array. Shows enrolled and active learner counts at top.
| Field | Type | |
|---|---|---|
| course_id | string (required). Matches the progress_store course_id. | required |
| title | string. Board heading. Default "Cohort Progress". | optional |
| modules | array. Array of {id, label} for column headers. Drives per-module completion dots. | optional |
| items | array (optional, web/static). Array of {email, progress{}, updated_at} learner objects. | optional |
{
"type": "cohort_progress_board",
"course_id": "course-101"
}
{
"identifier": "urn:air:a2uicatalog.ai:atom:cohort_progress_board",
"displayName": "Cohort Progress Board",
"type": "application/vnd.a2ui.atom+json",
"url": "https://a2uicatalog.ai/atoms/cohort_progress_board",
"capabilities": [
"apps-script-web",
"web",
"meet-stage"
],
"description": "Instructor-facing table showing all enrolled learners with per-module completion ticks and average quiz scores. On GAS reads live from the course progress Sheet via a2uiCohortRead. On web renders from static items[] array. Shows enrolled and active learner counts at top.",
"representativeQueries": [
"show a instructor cohort table \u2014 per-learner module completion + scores; live on GAS",
"instructor-facing table showing all enrolled learners with per-module completion ticks and average q",
"render a cohort progress board"
]
}
The renderer is open source. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.
git clone https://github.com/a2uicatalog/a2ui
cd apps-script-surface/gas-schema-renderer
clasp push && clasp deploy
Full deploy guide →