Skip to content

School objectives

An objective is a single line item a student must complete before they're considered done with the school. For a Foundations course, objectives might be "Attend session 1", "Complete homework week 2", "Pass final assessment". For a leadership track, "Shadow a small-group leader for 3 weeks", "Submit testimony", "Pass interview". The objectives list is the curriculum that defines what "graduating" actually means.

Adding objectives to a school

Open Schools → [School] → Objectives. The list starts empty for a brand-new school. Click Add objective to start.

Objectives list

Each objective takes:

FieldNotes
TitleThe line item — e.g. "Attend session 1: Who is Jesus?"
OrderNumeric position; reorder by drag
Required for graduationIf checked, the student can't be graduated until this is marked complete
NotesOptional — additional context, expectations, due timing

Save and the objective appears on every student's enrolment view.

Reordering and renaming

Drag objectives by their handle to reorder. Reordering only affects display — it doesn't reset anyone's completion. Renaming an objective rewrites the title on every existing enrolment row that references it; the completion status for each student stays the same.

Per-student completion

Open any student's enrolment row and you'll see the objectives list with a checkbox next to each:

Student objectives checklist

Check an item and it's marked complete with your user ID and a timestamp. Uncheck and it's reverted (the row stays for audit purposes but the completion is nulled out). Each completion writes to student_objective_completions:

ColumnValue
enrolment_idThe enrolment row
objective_idThe objective
completed_atTimestamp
completed_byWho marked it
gradeOptional letter or numeric grade
notesOptional per-completion notes

Optional grading

If your school awards grades, turn on Settings → Grading per school and pick a scheme (letter, percentage, pass/fail). When grading is on, checking an objective opens a small dialog where you enter the grade. The grade shows on the student's transcript and is averaged for the cohort report.

Required vs optional objectives

The Required for graduation flag lets you build a curriculum with some "graded" items and some "encouraged" items. A student missing an optional objective can still graduate; missing a required one blocks graduation.

When you try to record a graduation for a student with unchecked required objectives, the confirmation dialog lists them and forces you to acknowledge before proceeding. You can override with a note ("graduated by petition") — the override is logged.

Don't make every objective required

A common mistake is marking 15 of 15 objectives as required, then having to constantly override. Better: mark the 4-5 truly load-bearing objectives as required (final assessment, attended X of Y sessions, submitted testimony) and let the rest be "encouraged".

Bulk-checking objectives

For session-by-session schools where everyone attending session N gets that objective checked, use Schools → [School] → Bulk update objectives. Filter to attendees, pick the objective, and check it across the whole list at once. The action shows up in the bulk-actions monitoring page.

Workflows

You can trigger a workflow on objective completion — for instance, send a "You've completed week 3! Here's the homework for week 4" WhatsApp message. See Workflows → Triggers.

Permissions

Adding, editing, or reordering objectives requires schools.write. Marking student completions requires schools.write_completions — which is normally granted to school leaders specifically rather than every Administrator, so that classroom volunteers can mark attendance without being able to restructure the curriculum.

Next steps

  1. Recording a graduation — what happens when a student completes the required objectives.
  2. Reports — completion rate, time-to-completion, transcript per student.
  3. Workflows — automate follow-up when objectives are completed.
  4. Bulk actions → Monitoring — for session-wide bulk completion updates.