Skip to contents

The roster fields that downstream code treats as mandatory. Nothing on the Monday board itself enforces these – validate_roster_27.qmd only warns once a column passes 20% null – but each of these will break or silently drop a participant somewhere downstream:

  • Participant Name – every tracker and webhook join is on it.

  • Site/District – update_coaching_roster_27.qmd errors without the column, and an unmapped site is skipped entirely for Qualtrics.

  • School – participates in the roster distinctness check and the DC_DCPS cluster remap.

  • Participant Email – tracker_27.qmd drops null-email rows silently.

  • Participant Status – must be Current/Active to reach the Qualtrics teacher pickers at all.

A second tier was added on the evidence of the live board rather than the code: Participant Role, Service Type, Responder's Email and the four "... Needed?" flags are filled on 100% of roster rows, with real variety in their values rather than a column default, so ops plainly treats them as mandatory. Nisa cannot supply any of them.

Deliberately excluded: Grade Level(s) (96% filled), Content Area (89%) and Coach (81%). Requiring those would quarantine participants who are on the roster and working today.

Name and email each have an "Updated ..." override column that the roster ETL coalesces over the original, so either side satisfies the requirement.

Usage

roster_required_fields()

Value

A tibble with one row per required field: title (human label), column_id (Monday column id) and alt_column_id (an override column that also satisfies the requirement, or NA).