A program only keeps generating events while its status is Active. The nightly job that rolls the schedule forward looks for programs whose status is exactly Active. A program sitting in Draft, Planning, Seasonal Pause, Completed or Archived generates its first batch of events when you save it — and then stops. It will not fall behind noisily; it will simply stop producing new dates until someone opens it and presses Generate upcoming.
If you set up a weekly series and left it as Draft, that is why the events ran out.
What a program is
A program is a template plus a repeat rule. Saving it creates real events on your calendar — one per occurrence — that you then manage individually. The program is not the events; it is what makes them.
Find it under Workspace → Programs. You need the Programs permission to open it, Programs · Create to add one, and Programs · Edit to change one or generate events.
The fields
Program name (required, at least two characters), Category, Status, Location, Space (the list narrows to the location you chose), Program manager, Annual budget, Budget currency (US dollars or Canadian dollars), Start date, End date (optional), Repeats, Target audience, Expected attendance, Purpose and Description. Choosing a weekly repeat adds On day; choosing monthly adds Day of month.
A start date is required for anything to generate, even though the field is not marked as required and the form will let you save without one. No start date means no occurrences — the program saves cleanly, produces nothing, and gives you no warning.
The repeat rules that exist
Does not repeat, Daily, Weekly on one weekday, Every 2 weeks on one weekday, and Monthly on a day of the month.
Not supported — plan around these:
- More than one weekday. A program repeats on a single weekday. “Tuesdays and Thursdays” is two programs.
- Positional rules. “The second Tuesday”, “the last Friday of the month” — there is no way to express these.
- Any other interval. Every 3 days, every 3 weeks, every 2 months, yearly: none of them can be built from the form.
- A day of the month that some months do not have. Day 31 simply produces nothing in February, April, June, September and November. It is skipped, not moved.
Leaving End date blank means the program keeps generating indefinitely, one window at a time.
What lands on a generated event
This is the part worth reading twice. A generated event is thinner than the program it came from.
| On the program | On the generated event |
|---|---|
| Program name | Event name — copied |
| Location | Location — copied |
| Space | Space — copied |
| Program manager | Event manager — copied |
| — | Program — set, linking the event back |
| — | Description — replaced with “Auto-generated from program …” |
| — | Status — always Planned |
| Category | Not copied |
| Purpose | Not copied |
| Description | Not copied (see above) |
| Target audience | Not copied |
| Expected attendance | Not copied |
| Annual budget | Not copied |
| Start / End date | Not copied |
A generated event also has no start or end time, no client, no capacity, no budget and no entertainment requirements. Those are yours to fill in on the event itself. Every generated event starts at Planned, whatever the program's own status is.
How far ahead it generates
Generation covers a rolling window that starts today. The platform default is 90 days, but this is an organization setting, not a fixed number: it lives in Settings → Automation → Program scheduling window and needs the Settings · Administer permission. The control enforces its own minimum and maximum. Both the nightly roll and the “Generate upcoming” button read the same setting, so they always agree.
Two honest notes:
- Shortening the window never removes events already generated. It only stops generating further out.
- The hint on the program form and on the Schedule tab always reads “the next 90 days”. That text is fixed and does not follow your setting. The setting is what actually runs.
Regenerating, and the things it will not do
Generate upcoming on the Schedule tab tops the window up. It only ever adds dates that have no event yet.
- It never updates events already created. Change the program's name, location, space or manager and the events already generated keep the old values. Only future occurrences pick up the change.
- There is no way to skip a single occurrence from the program. What you can do is open that generated event and cancel or archive it — an occurrence that already exists is never recreated, so it will not come back on the next run.
- Running it twice creates nothing the second time.
Status is a vocabulary, not a workflow
Draft, Planning, Active, Seasonal Pause, Completed, Archived. You can set any of them at any time from the dropdown; nothing enforces an order and nothing advances on its own. Only one status has a real consequence, and it is the one at the top of this article: Active is what keeps the schedule rolling.
Two buttons behave slightly differently from the dropdown. Pause sets Seasonal Pause. Archive sets Archived and stamps an archive date, which is what removes the program from your lists. Choosing “Archived” in the Status dropdown on the edit form only changes the label — the program stays in your lists.
There is no delete and no restore button.
The workspace
Tabs: Overview, Schedule (the repeat rule, the generate button, and upcoming and past occurrences), Events, Performers (derived from bookings against this program), Budget, Documents, Tasks, Timeline, History, Messages and AI Assistant. Analytics and Marketing are marked Soon.
On Budget, only the annual budget is real. Spend always shows $0 — it is a placeholder, not a total of what the program has cost, and Remaining simply repeats the annual budget.
What this does not do yet
Analytics and Marketing are unbuilt. There are no per-occurrence overrides, no skip list, and no notification when the nightly roll adds events. Program spend is not computed from bookings.
