Overview
Loading…
Next sessions
By host
By category
Recent activity
My Sessions
Today and the rest of the week, with the host link ready to go.
Schedule a Zoom
Creates the meeting, turns on registration, applies the RRFF registration questions, and attaches the survey.
Result
The join and registration links will appear here after you create the meeting.
Bulk Schedule
Build a repeating pattern or paste a list, preview every session, then create them all.
Paste rows straight from a spreadsheet, or type them. Each session keeps its own title and duration — the defaults below are only used where a row leaves something out.
Which columns can I use?
With a header row, columns are matched by name in any order. Recognised names:
| Date | date, day, when, start date | 2026-09-08 · 9/8/2026 · Sept 8 2026 |
| Time | time, start, start time | 13:00 · 1:00 PM · 1pm |
| Title | topic, title, subject, session, training, class, name | per session |
| Duration | duration, minutes, mins, length | 90 · 90 min · 1.5 hours · 2h |
| Host | host, host email, presenter, facilitator, account | email address |
| Category | category, type, track | caregiver, staff, specialized… |
| Required | required, mandatory, req | yes / no |
| Description | agenda, description, details, notes | free text |
Without a header row, the order is assumed to be: date, time, title, minutes, host, category, required.
Or upload the filled-in template
The Excel template has dropdowns for the training title, host, category and length — pick from the list instead of typing. Fill it in, save it, drop it here.
Creates a single Zoom meeting with a recurring schedule — one join link and one registration for the whole series.
Preview
| # | Date | Time | Topic | Min | Host | Category |
|---|
Results
| Status | Date | Topic | Links |
|---|
All Meetings
| Date & time | Topic | Host | Category | Min | Calendar | Actions |
|---|
Templates
Reusable session settings for the schedulers.
| Name | Topic | Category | Min | Default host |
|---|
Class Descriptions
The blurb under each training on the public calendar. Written once per class title — every session of that class picks it up, including ones you schedule later.
Paste your descriptions
Class name, then its description. Any of these work — one entry per block:
Trauma 101: how trauma affects the developing brain. ·
Trauma 101 — how trauma… · or the title on one line and the description underneath.
Saved descriptions
Classes with no description yet
Titles on your schedule that would show nothing under them on the calendar.
Registration Questions
Build the questions once, then apply them to new meetings automatically or to existing meetings in bulk.
Question sets
The default set is applied to every new meeting that has registration turned on.
Preview
Pick a set to see the registration form your participants will fill in.
Edit question set
Zoom's standard fields
First name and email are always collected. Tick anything else you want on the form.
Your own questions
Short answer, or a dropdown with set choices. Zoom allows up to 20, and every dropdown needs at least two choices.
Calendar & Embeds
Everything below is live from Zoom — nothing runs locally any more.
Live preview
Exactly what the website shows. It grows with the month, so nothing is cut off.
Feed URLs
| Calendar page Full training calendar for the website | |
| JSON feed Replaces meetings.json | |
| iCal subscription Outlook / Google Calendar |
WordPress embed codes
Paste into a Custom HTML block at ncrapidresource.org/training/trainingcalendar/.
Users
Who can sign in to this dashboard. Zoom host accounts are managed in Zoom.
| Name | Role | Last sign-in |
|---|
Change my password
Host Rules
Defaults applied automatically to everything a host account schedules — so nobody has to remember to tick the same boxes every time.
Applied to every meeting this account schedules, unless a different category is picked on the form.
Always-required classes
One training title per line. These are marked as required classes automatically whenever this host schedules them — shortened titles count too, so "De-escalating Behaviors" matches "De-escalating Behaviors & Management of Property Damage".
Try it
Paste a meeting title to see exactly what these rules would do to it.
Reports
How much training is being run, by month, category, host and title.
Sessions each month
By category
By host
Most-scheduled trainings
Who attends — agencies and roles
Taken from what people put on the Zoom registration form. Similar spellings of the same agency are counted together. One Zoom call per session, so it loads in batches.
Agencies
Roles
Registrations
Registration numbers come from Zoom one session at a time, so they load on request rather than automatically.
| Training | Date | Category | Host | Registered |
|---|
Monthly Flyer
A print-ready one-sheet of any month's trainings, grouped by week.
Pick the month and filters in the bar below. Printing has to happen from the full page — use the button above, then choose "Save as PDF" as the destination.
Emails
Reminders to registrants, and the weekly digest to your team.
Registrant reminders
Settings
Test it before turning it on
Nothing here reaches a registrant. The dry run only reads; the test sends a single email to the address you type.
Dry run
| Session | Starts | Host | Recipients | Notes |
|---|
Turn reminders on
While this is off, the hourly job still runs — as a dry run — and writes what it would have sent to the Netlify function log. Turning it on is the only thing that lets email reach registrants.
Weekly digest to your team
Every Monday morning: what is running this week, how many have registered, and a flag on anything close by that hardly anyone has signed up for.
Settings
Test it before turning it on
The dry run only reads. The test sends a single copy to the address you type — nobody on the recipient list is contacted.
Dry run
| Session | Starts | Host | Registered |
|---|
Turn the digest on
While this is off, the hourly job still checks the clock and writes what it would have sent to the Netlify function log. Turning it on is the only thing that puts it in an inbox.
Certificates
The certificate manager, carried into this build and switched off.
Checking…
How it is held back
| No scheduled job | There is no cron entry for certificate delivery in this build, so nothing here can run on its own — whatever the switches say. |
| Its own email key | Certificate email reads CERT_RESEND_API_KEY, never the reminder key. Until that variable exists, the send path has nothing to send with. |
| Separate storage | Records live in this site's own storage. The hardcoded pointer to the live certificate site was removed — nothing here can read or write the live log. |
| Behind this login | Every certificate endpoint now requires a dashboard sign-in, which the standalone version did not. |
The live certificate manager keeps running exactly as it does today. Nothing in this build touches it.
System Health
Checks Zoom, storage, the website feed and the background jobs. Read-only — running it changes nothing.
Tell someone when it breaks
The same checks run every hour on their own. If something is still broken on the second check in a row, whoever is listed here gets an email — once, plus a second one when it clears. With nobody listed, it still runs and logs, it just has nobody to tell.
Try it
Neither of these changes anything: the dry run shows what the hourly watchdog would do right now, and the test sends one alert email to the single address you type.
Settings
Defaults applied to new meetings.