Interested in joining the Academy? Apply Today
Scheduled courses for your class. Confirmed entries are set; provisional ones may still change.
Required vs. delivered hours for each course, by recruit class. "Confirmed" is the audited record and "Pending" is logged but not yet confirmed by staff. The "Remaining" column shows hours still to be scheduled — required minus confirmed minus pending. (The overall total below still counts only confirmed hours toward the official balance.)
The Dates column lists the days each course runs for this class. A date in amber is on the calendar but not yet confirmed as taught.
| Course | Required Hours | Confirmed | Pending Confirmation | Remaining | Dates |
|---|
The block courses a class still needs to put on the calendar — required hours not yet covered by confirmed or scheduled (provisional) sessions. Click a course to see which active instructors are qualified to teach it. This screen is view-only; schedule the course from the class calendar as usual.
Pick a class and one of your preferred courses, then see which of that class's meeting dates are still open. Your request goes to staff for approval before it's added to the calendar.
Instructor self-select requests awaiting approval. Approving creates a Provisional session on the calendar -- it still needs Confirm Instruction after the instruction actually happens, same as anything else.
Edit corrects a request in place when an instructor picked the wrong class, course, date, time or length — instead of denying it and making them submit it again. Every rule the original request had to pass is re-checked, and the instructor sees on their My Requests page that the Academy changed it. On the Instruction Calendar, clicking a blue (Requested) entry brings you straight to its card here.
Remove an approved course from the schedule (for example, if classes were scheduled out of order). The date reopens and the instructor can request it again — they'll see your comment explaining what to re-request. Or use Edit to just fix the date, time or course: the Provisional session and its calendar entry move with it, so the instructor keeps the slot. A class already confirmed as taught can't be changed or removed here.
Every field here is editable — type, program hours, start date, and graduation date all save as soon as you change them; leave a field blank to clear it. Current & upcoming classes are on top, past classes (already graduated, or no graduation date yet) below. Changing a graduation date re-files the class into the right section. A real change to an existing graduation date is still logged (it drives the POST exam date and Equipment Overdue status).
| Class | Type | Program Hours | Start Date | Graduation Date | Google Calendar ID | Instructors |
|---|
Range Day and Driver Training Day timing come from the course being scheduled -- set "Special Timing" on the course itself under Manage Courses, not here. This screen is only for marking a date as cancelled (weather, holiday, etc.).
| Date | Reason |
|---|
Use this once to send No Class days that were marked before Google sync was turned on. Safe to run again — days already on the calendar are skipped.
See what hours this class meets on a given date -- optionally as if a specific course were being taught, to preview its timing.
Everyone who has applied. Open an applicant to review their application, check off documents, schedule an interview, and record a decision.
Your signature block is added automatically: Captain Mike Toombs, Director, Jefferson College Law Enforcement Academy.
Submissions from the public Pre-Screening Interest Form. Review each one, then Convert to Applicant to create their login so they can complete the full application, or Archive it. The public form link is /interest.html — share that URL or QR-code it for recruiting.
Instructor Records submitted at the public form by people with no Academy login. Nobody here is an instructor yet — Verify is what creates the instructor record and puts them in the assignment dropdowns. The public form link is /instructor-form.html
Qualifying certificates are emailed separately — the form tells them where to send them. Attach what arrives under Documents on the instructor's own record after verifying.
Current and past recruits. Open one to view or edit their record.
Download the template, fill it in from your spreadsheet, save it as a CSV, then upload it here. You'll see a preview before anything is saved. Only First Name and Last Name are required; the Class column matches your class number (e.g. 052). Recruits are imported as records only — no login accounts.
Off (default): existing recruits are skipped and only new ones are added. On: the sheet updates matching recruits (matched by college email, else name + class). A blank cell never erases a value already on file; Status and Sponsored are always applied.
Choose the class, then pick the folder of photos. Each photo is matched to a recruit in that class by the last name in its file name — no renaming needed, so 024 - Hapgood, A.JPG and Hapgood.jpg both work. A first name or initial is used only to tell two recruits with the same last name apart; anything still ambiguous is listed for you rather than guessed. Photos are shrunk and saved, and an existing photo is replaced. You see every match before anything uploads.
The chain of command and duty titles for a class. Titles are assigned on each recruit's record (Manage Recruits → open a recruit → Class Position(s)); a recruit can hold more than one. Use Manage Titles below to add your own (Marching Instructor, Photographer, PT Instructor, etc.).
Add a title, rename one, or retire one you no longer use. Retiring keeps it on any past recruits who held it but hides it from the assignment list. A title can only be deleted outright when no recruit currently holds it.
Generate the graduation certificate packet for a class. Each recruit’s Generate Packet button produces one PDF — their Class “A” diploma, all training certificates, any position certificates, the Judo promotion, and any honor award they received — to print for the training folder and save to their digital folder. Recognition awards (attendance, hours, PT, etc.) are added in the next phase.
Add or retire training certificates, and assign the courses that make up each one. A printed certificate’s hours are the actual hours delivered for its courses in that class (so extra scheduled hours above the POST minimum are counted), and its date is the last day those courses were taught. The “hrs min” shown below is the POST minimum for reference. Names print exactly as typed.
Loading…
Attach Drive files or folders — e.g. a folder of this recruit's background/records. Keep everything POST may audit here.
Add a current or past recruit directly. For current recruits who will log in (PT, Objectives), set status to Active and tick “Create a login.” Past recruits (Graduated, Dismissed, etc.) are kept for the record only.
Every Check Yourself quiz and mock exam this recruit can reach, grouped by block and in curriculum order — how many times they have sat each, their first score, their best, and whether they have reached the target. Practice is never graded; none of this counts toward their average or their standing.
Active recruits by class. View only.
For a new Day or Night academy class -- e.g. Class 051, 052.
Add new supplemental courses, and edit any existing course's title, required hours, or Special Timing (Range Day / Driver Training Day).
For courses outside the numbered POST curriculum -- CIT, Narcan, Drug Identification, guest speakers, etc. These won't have a fixed required-hours target, but hours logged against them still count.
Fix a typo, update required hours, or set Special Timing. Course codes can't be changed here — those are referenced by logged sessions, so a code change needs more care than a quick edit.
Quick-add so someone shows up in the instructor dropdown right away. Everything else on their full record (POST number, license status, etc.) can be filled in later.
Creates the applicant's login and their recruit record (status “Applicant”) together, and starts a blank application. Send them the temporary password — they set their own on first login, then fill out their application. You can also fill it out on their behalf.
Jefferson College Law Enforcement Academy
Jefferson College Arnold Campus
1687 Missouri State Road, Arnold, MO 63010
Fill out each section and save your progress with Save Draft. You can come back and finish later — nothing is final until you submit. Additional sections will appear as you go.
Please gather these to bring or upload. Items marked notarized must be notarized originals; others may be copies unless noted. A green check means we already have it on file.
Changes here apply to the checklist for all in-progress and future applicants, not just this one.
Once accepted, assign a class and activate. This makes them an Active recruit and moves them to Manage Recruits.
Which courses each instructor is approved to teach. This list determines what an instructor can be offered when self-select scheduling is built.
Deactivating an instructor removes them from assignment dropdowns without deleting their record -- their history and qualifications stay intact, and reactivating restores full visibility.
| Name | Phone | Status |
|---|
Pick the record to keep and the duplicate to remove. You'll see a field-by-field comparison first: every field is combined onto the kept record, and where the two records disagree (like two different emails) you choose which value to keep — nothing is deleted until you click Merge. All references, classes, evaluations, and qualifications from both records are kept. This can't be undone.
Upload a CSV of instructor details (Instructor name, Address, City, State, Zip, Phone, Work Phone, Mobile, Fax, Email, POST License, Instructor Experience, and up to three references). Imported as CLEE instructors — no login accounts are created. The name is split on the last space into first/last. Re-uploading is safe — an instructor already on file (by email, then name) is skipped. You'll see a preview first.
Certifications, instructor records, and other POST documentation. Link a Drive file or a folder.
Log your physical training activity within 24 hours of completing it, per JCLEA Rules and Regulations Section 16.3. One entry per day.
Ride-Along, Community Service, and Court Observation hours must be submitted no later than 11:59 PM the Sunday before graduation, per JCLEA Rules and Regulations Section 18.6. Entries are Pending until staff verify them — they will not count toward your percentage until verified.
Select a course to see its objectives. Your score is based on when you first submit an answer, but you may revise the wording of your answer at any time before graduation as you learn new information. Submissions are reviewed by staff before your score is finalized.
These objectives were rejected by staff. Fix your answer below and save to resend for review.
Every objectives block for your class, in course number order. Full credit is earned by the deadline; after that you can still submit for 50% credit up to the half-credit cutoff, and 0 after. A block your staff has entered a score for counts as credit and reads Complete. Blocks not yet taught show "Not yet scheduled" — nothing is due for them yet.
No internship hours pending verification right now.
No objectives pending review right now.
Every block of instruction with objectives for the selected class, sorted by course number: full-credit deadline, 50%-credit cutoff, and how the class is progressing. Blocks not yet taught show a projected due date from when they're scheduled to be taught (marked “scheduled”); blocks you've scored manually count as credit.
Edit, add, or delete individual objectives when POST revises curriculum. An objective can't be deleted once a recruit has submitted an answer against it — edit it instead in that case.
Digital replacement for the paper Practical Exercise Evaluation form. Staff must approve a submission before it becomes part of the recruit's permanent record.
No practical exercise evaluations pending review right now.
Every evaluation on file, whatever its status. An Approved one is part of the recruit’s permanent record; Pending is waiting on Review Practical Exercises, and Returned is back with the instructor for correction.
Approved evaluations from your practical exercises -- your permanent record.
These evaluations are completely anonymous — nothing about who submitted it is recorded anywhere, not even in a way staff could trace back. Select a class session below; the date, block, and instructor will fill in automatically.
All submissions are anonymous -- no recruit-identifying information exists in this data.
Course definitions that CLEE classes are built from. Add a course once here, then pick it when creating a class.
Upload a CSV with columns Course Name, Synopsis, and Objectives (an ID column is ignored). Multi-line synopsis/objectives are fine. Re-uploading is safe — a course whose name is already on file is skipped. You'll see a preview before anything is saved.
CLEE (continuing-education) classes and their POST documentation. Open a class to edit it and attach sign-in sheets, instructor records, and other files.
Upload a CSV of historical CLEE classes (Course Name, Instructor, POST Control, Start/End Date & Time, Course Hours and the POST category columns, Location, Host Only, etc.). The course is matched to your CLEE course list and the instructor to your instructor list; each class gets one session on its start date. Un-broken-out hours are recorded as Technical Studies. Re-uploading is safe — a class already on file (same course, start date, time, and POST control #) is skipped. You'll see a preview first.
Upload a CSV linking students to classes (CLEE Class, CLEE Student, and the Bill Sent / Pay Rec / No Show / Fail flags). The class is matched by its "Course - date - time" label and the student by name. Import Courses, Instructors, Students, and Classes first. Re-uploading is safe — an enrollment already on file is skipped. Large file — the commit may take a bit.
Everyone the Academy has contact details for, in one place — company and vendor contacts, recruits, instructors, and CLEE students. Details shown here are the details on the person’s own record: change a number here and it changes there, and the other way round.
Everyone who has taken a CLEE class. Search or browse, then open a student to see their training history and print past certificates.
Upload a CSV with First Name, Last Name, POST, Employer, Phone, Email, Gender, Hisp/Lat, and Race columns. Employers are matched by name and created if new. Re-uploading is safe — a student already on file (same name, POST, and email) is skipped. You'll see a preview first. Large files are fine.
Find the duplicate record. Its classes move onto the record shown above, then the duplicate is deleted.
Record recruit test scores and create new tests. Pick a class and a test below to grade that whole class on one date in one pass.
Select a class and a test to enter grades.
Download the template, paste your grades into it (from your Google Sheet), save it as CSV, then upload. Recruits are matched by their college (or personal) email address. Scores can be fractions (e.g. 14/15 or 84/100) — they're converted to a percentage. The date can be a full timestamp; only the date is kept.
Most tests are standalone — one test, one grade. Add those here. Percentage tests use a passing threshold (e.g., 70); pass/fail tests don't. Multi-test courses like EMR are set up under Courses below.
A course groups several percentage tests into one grade — its quizzes (50%) plus one final (50%). Create the course, then add its quizzes and final inside it.
All active recruits at a glance. PT flags quarters below 25 logs; Objectives shows approved points earned; Tests shows failed / taken; Miles is cumulative PT distance (1,000 earns a plaque). Click a recruit to open their record.
Your standing in each area. Physical Training and Objectives update as you log activity and submit work; tests appear once staff record your score.
Where you stand in your class by overall average, highest first. Only your own class is shown. Rankings update as grades, objectives, and PT are recorded.
Every PT activity you've logged, oldest first, with a divider at each quarter cutoff. Count your entries within a quarter to verify your PT score (25 logs = passing; the score is your logs out of 36).
Verified internship standing by class. Ride-Along and Community Service each score hours ÷ 57 (capped at 100%); passing needs both categories at 70% and at least 4 court-observation hours. Click a recruit to see their entries.
Pick the class above, then upload a Ride-Along, Community Service, or Court Observation Google Form export (saved as CSV). The category is detected automatically, recruits are matched by email to the selected class, and entries import as Verified. Re-upload any time — duplicates (same recruit, category, date, and times) are never added twice. You'll see a preview first.
Attendance standing by class. Thresholds: 4 unexcused absences or 5 unexcused tardies (dismissal), and 40 total missed hours. "Outstanding" is verified missed time not yet covered by verified make-up time (oldest first). Click a recruit to see and edit their entries.
Pick the class above, then upload the Time Missed Memo or the Time Made Up Memo Google Form export (saved as CSV). The sheet type is detected automatically, recruits are matched by email (then name) to the selected class, hours are computed from the start/end times, and entries import as Verified. Missed entries default to type Absence and Excused — adjust either inline in a recruit's detail afterward. Re-upload any time — duplicates (same recruit, date, and times) are never added twice. You'll see a preview first.
Recruits ranked by overall grade, highest first. How the overall is worked out depends on the class. Classes 050, 051 and 052 are scored on points earned out of points possible — a written test is worth its question count, while PT, objectives, the internship and each completed course are worth 100 each. Class 049 and earlier keep the older equal-weight average, in which every graded item counted once whatever its length; their grades are already with POST and are not restated. Under both, only work already given counts, and pass/fail never enters.
Shows this class every way, including how each recruit's rank moves. Changes nothing.
Upload a class's objective progress spreadsheet (save the Objectives tab as CSV) to capture their grades. Recruits are matched by name; each block's percentage is applied across that course's objectives in the app. Re-upload any time — it only adds or updates what changed on the sheet, and blank cells are skipped (an unfinished objective counts as 0 when its quarter closes). You'll see a preview before anything is saved.
Upload a class's historical PT submissions from the Google Form export. In Google Sheets choose File → Download → CSV, then upload that file here. Recruits are matched by college email; each fitness category is filled from the activity description where possible and left "Unspecified" otherwise. You'll see a preview before anything is saved. Only one entry per recruit per day is kept — duplicate days, and days already logged, are skipped.
Print-ready PDFs built from this class's details and its blocks. Fill in the flier/checklist details above and add the blocks below first. The Objectives/Synopsis and Instructor Record documents print from each block.
Verification date prints on the Final Checklist next to the course administrator's signature. Defaults to 7 days after the last block's end date; change it here if needed, then Save the class.
Materials for this specific class — handouts, slides, reference copies, anything the instructor or attendees need. Link a Drive file or a folder. The sign-in sheet does not go here; it has its own field under POST Audit Documents.
Each day or session of this class — date, time, instructor(s), and POST hours by category. Blocks are numbered automatically; the class total hours and date range roll up from them.
Students enrolled in this class. First and last name, phone, and email are required; POST number is optional (civilians may not have one). Agency prints in the ORGANIZATION field on the pre-filled sign-in sheet.
Tip: start typing a name to pick a past attendee and auto-fill their details, including their agency. Change the agency before adding them if they have moved departments — the new one sticks to their record and to this class.
Correct a session that was already confirmed but entered incorrectly. Pick a class and month, then edit any session below — changes save immediately and update the training record and its calendar entry.
What in-service training the academy delivered over a date range — every class taught, how many times each one ran, and how many students sat in each.
Invoices and receipts for one-off CLEE training — one officer paying their own way, or an agency paying for people across several classes on a single document. Add each class, say how many people it is being billed for, and the lines build themselves. Annual in-service contracts are billed on the CLEE Contracts screen instead.
Track agency and individual CLEE training contracts — renewals, invoices, and payments. Contracts expiring within 30 days with no action logged show on the staff dashboard counter.
Upload a CSV export of your contracts list. Columns are matched by header (Individual, Agency, Qty, Price Each, Start Date, Contract Type, Notes, Invoice Date, Paid Date, Active). Agencies are matched by name and created if new; Active=FALSE imports as Cancelled; Invoice/Paid dates are logged as events. Re-uploading is safe — a contract with the same holder and start date already on file is skipped. You'll see a preview before anything is saved.
Submissions are anonymous, matching the current paper process.
Have an idea for something the app should do? Submit it here. Staff review these on the Staff Dashboard and can mark them Complete, Saved for Later, or Cannot Do -- with a note if there's a reason.
Every test and quiz currently open and not yet submitted — who has it, how far through they are, and how long it has been open. Graded tests and practice quizzes both appear, labelled, because an abandoned graded attempt is one of a recruit’s two sittings under R&R 13.2 while an abandoned practice attempt is only clutter.
Every Check Yourself quiz and mock exam a recruit has submitted, newest first — one row per attempt, so a score climbing across four sittings is visible rather than averaged away. Open any row to see exactly what they answered. Practice is never graded, so nothing here counts toward anything: it is here to show you who is working and what is not landing.
Across every practice quiz, not one at a time — a topic taught badly in three sub-blocks does not show up on any single quiz. A question needs at least ten answers before it is listed, so one recruit’s bad morning is not mistaken for an instructional problem.
Every graded exam that is coming up, or already past due, for every class in session — worked out from the class calendar rather than from memory. An exam appears once the sub-block it is sat after is on a class's calendar, and drops off the moment you release it to that class with an opening time. Exams a class has already been graded on, or been examined on by other means, never appear.
Every online test a recruit has submitted. Filter by class and by test, open one to see exactly which questions were missed, and mark it reviewed. If a question tripped up most of the class, throw it out from inside the submission and every score on that test is corrected.
Learning material for each block of instruction, grouped by POST level. Open a block to see its lesson plan, PowerPoints, handouts, and other resources.
Select a conversation to read it.
This is the information the Academy has on file for you. You can update your phone number, personal email, home address, driver’s license expiration, and emergency contacts below. Changes save right away and are reviewed by staff. The read-only fields are managed by the Academy — if any of them is wrong, contact staff.
Personal-information updates recruits made to their own records. Review each and click Verify; verifying clears it from the Staff Dashboard count.
Pick a class to download an Excel sheet of its members’ college email addresses (Class Number, Recruit Name, College Email). Use it to copy the addresses into Google Contacts and create a label / distribution list for the class.
Create login accounts in one step for every Active recruit in a class who doesn’t have one yet. Each account uses the recruit’s college email; they sign in with the temporary password and must set their own on first login.
Upcoming instruction days with teaching time nobody has scheduled into — whole days with nothing on them, and days that are only part filled. Use this as a heads-up to fill them on the Instruction Calendar before they arrive.
Select a class to print (or save as PDF) a contact sheet listing each active recruit’s name, phone, college email, and V Number — useful anytime you or an outside party needs a class roster with contact details.
Active recruits in Class 051 and newer who still need an emergency contact and/or have unsigned onboarding documents. They can’t use graded features until both are complete.
Every active recruit in every class running right now, grouped by class, showing where they stand in the quarter they are currently in. Both figures are live and change as logs and objectives come in — the quarter’s real grade is not set until its end date passes.
PT is the gradebook percentage (25 logs = 70% = pass, 36 logs = 100%), colored by whether the recruit is on the pace needed to reach 25 by the cutoff. Objectives scores only the blocks whose due date has already passed, so blocks that haven’t been taught yet don’t count against anyone. Points still to come are noted under the bar.
Public Pre-Screening Interest Form: /interest.html (share this link or QR-code it for recruiting)
Practical Exercise Evaluation form: /#practicalexercise QR code
Instructor Record form: /instructor-form.html QR code
Suggestions submitted by staff, instructors, and recruits. Update a suggestion's status and add an optional note back to the person who submitted it.
Quotes here can appear in the strip above the dashboard, where every logged-in user sees them. Choose what displays: pick Show a different quote each day at the top of the list to rotate automatically (a new one each day, the same for everyone), or select a single quote to pin it until you change it.
Every login in the app, and where a view-only account is created. A view-only account can open every screen the Director can open and cannot add, change or delete anything — it is what to hand a POST auditor or college IT. They sign in with their email address and a temporary password, and are made to choose their own password the first time they sign in, exactly like every other account.
A running record of what has changed in this application, most recent first. Click an entry’s heading to read the write-up. This page keeps itself — each change is written up as part of the work and appears here on its own, so there is nothing to add or maintain. Only changes to the app and the database appear; day-to-day data entry does not. Staff only: recruits and instructors have no link to this page.
Academy vehicles, firearms, and large equipment the college tracks. Each item carries its own dated service, inspection, and maintenance history — add an entry every time work is done and the record builds itself. This is academy property; gear issued to a recruit is tracked on the recruit’s own record.
Log any class time you missed (a Time Missed Memo) and any time you make up (a Time Made Up Memo). Staff review each entry. Makeup must be done outside class hours and completed within 14 days of the time you missed.
Every class date from the start of your class through today, and whether you were here for it. Use Save as PDF to produce a copy for your agency or a prospective employer. This is a record of class dates only — it carries no grades and no test scores.
Verify or reject recruit-submitted missed time and makeup. Mark each miss Excused or Unexcused when you verify it — only Unexcused entries count toward the tardy/absence thresholds.
Recruit-submitted PT activity logs. New submissions are Pending until reviewed — Verify to accept, or Reject with a reason (a rejected log is kept on record but does not count toward the recruit's PT score). Filter by class and recruit to review a specific person. Delete is for an entry that should never have been recorded at all — a duplicate, the wrong recruit, a test row — and works even after the entry was verified. It removes the entry instead of marking the recruit rejected for something they did not do.
Every class date from the start of the class through today, and whether this recruit was here for it. This is the same sheet the recruit can print for a sponsoring or prospective agency — class dates only, no grades and no test scores.
Read and sign each document. A green check and timestamp appear once you've signed the current version. If a document is updated, you'll be asked to sign it again.
Documents recruits must read and sign. Editing a document's wording publishes a new version and requires everyone to sign again; their previous signature stays in history.
**bold** — bold- item — a bullet{{name}} — filled with the recruit's typed name when they sign.Loading instructions…
Print the sign-in sheet for a class day, then bring it to class to sign. To print several days ahead at once, pick a different "To" date.
Helpful links for your role. Contact the Academy office if a link is broken or missing.
Add a link and choose who can see it. Each user sees only links tagged for a role they hold. Group sets which collapsible heading the link sits under on the staff view above — instructors and recruits see a plain list either way.
Saving publishes a new version — the current one is kept in Version History, never overwritten. A summary of changes is required for the audit trail.
# 3.0 Section Title — a main section (one # then a space)## 3.1 Subsection Title — a subsection (two ## then a space)- item — a bullet point (dash, space)**bold text** — boldEvery published version, newest first — when it took effect, when it was saved, by whom, and what changed. Open any version to read it or save it as a PDF for the record.
No instruction pending confirmation right now.
Submit a memo to the Academy office. Choose the type below. Once submitted, a memo goes to staff — you won't see a copy here.
Submit within 24 hours of the injury or pain. If you saw a doctor, the doctor's note must be in your documents folder.
Let staff know something needs attention — a facility issue, low supplies, or anything else. Your name and the date are attached automatically.
Recruit-submitted infraction memos awaiting review. Open one to read it, verify it to record it to the recruit's file, or save it as a PDF.
Upload a CSV export. The type (infraction, injury, or notes) is detected from the column headers. Recruits are matched by college email, then by an unambiguous name. Imported memos are recorded on each recruit's file as historical (Verified), so they stay out of the review queues above.
Submitted injury memos and recruits currently on light duty. Verify a memo to record it; a recruit on light duty can't be returned to full training until a doctor's release link is provided.
Messages recruits have sent to the office. Mark one handled once it's been addressed.
Departments and companies ask the academy for volunteers, and their events are posted here. Sign up for any event with slots left.
Signing up is a commitment. Once your name is on the list you cannot take it off. If something changes, contact academy staff. To record hours you have already worked, use Log Internship Hours instead.
Post an event a department or company has asked for volunteers on, see who has signed up, print the roster for the point of contact, and email the opportunity to a class. Recruits cannot remove their own names — only staff can.
For sign-ups taken outside the app. Past events are fine.
Pick the classes to send to. The message goes to every active recruit in those classes who has an email address on file, with recipients on BCC.