Make a daily school page
make_school_digestUse this when the user wants a printable daily school page from a Canvas snapshot they already have, for example "make today's page from this Canvas JSON". Returns: one section per child with grades, due today, the next 7 days, missing and late, recent scores, announcements, attendance, changes, attention flags, page_text and html. Input tips: send date (YYYY-MM-DD), run_at (ISO time) and canvas, the Canvas API JSON with observees [{id, name}], courses [{id, name, teachers, enrollments}], assignments as an object keyed by course id, and announcements. Optional: timezone (IANA name), infinite_campus {students: [...]}, parentsquare_emails for ParentSquare mail, notice_emails for any other school notice, previous (yesterday's full request, same shape) for the changes block, and summaries as up to 3 lines per child name. Not for: fetching live Canvas data, logging in, storing grades, or answering without a snapshot (ask the user to export one). Never send a token or a password.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | The report day in the school time zone, as YYYY-MM-DD, such as "2026-10-08". | |
| canvas | Yes | Canvas API JSON from a parent observer account, such as {"observees": [{"id": 1, "name": "River Sample"}], "courses": [...], "assignments": {"11": [...]}, "announcements": []}. No token. | |
| run_at | Yes | When the snapshots were taken, as an ISO time, such as "2026-10-08T12:00:00Z". | |
| previous | No | Optional: yesterday's full request with its own date, run_at, timezone and canvas (and infinite_campus, if any), for the changes block. | |
| timezone | No | A valid IANA time zone name for the school, such as "America/Chicago" (the default). | |
| summaries | No | Optional lines you wrote, keyed by child name as in observees, 1 to 3 lines of up to 180 characters each. The tool does not call a model. | |
| notice_emails | No | Any other school notice emails, same format and limits. Plain text with From, Subject and Date headers, a blank line, then the body. Up to 30 emails of 12000 characters each. Optional. | |
| infinite_campus | No | Optional Infinite Campus grade snapshot. Each student is matched to a Canvas observee by firstName and lastName. | |
| parentsquare_emails | No | ParentSquare notice emails. Plain text with From, Subject and Date headers, a blank line, then the body. Up to 30 emails of 12000 characters each. Optional. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| html | Yes | The printable page as a full HTML document. | |
| notes | No | ||
| status | Yes | ||
| stored | Yes | Always false: nothing is stored. | |
| children | Yes | ||
| timezone | Yes | ||
| page_text | Yes | The page as plain text. Show this to the user. | |
| previous_date | Yes | Date of the previous snapshot, or null when none was sent. |