Skip to content

Notes and Events

Calendar notes are journal entry pages attached to specific dates, with rich text content, custom icons, recurrence patterns, categories, and macro triggers.

Notes are stored as journal entries within a folder per calendar. These folders are hidden from the Journal sidebar. Access notes through the calendar UI or the Note Viewer.

  1. Click a date on the calendar grid
  2. Click Add Note to open the note editor
  3. A preset selection dialog appears where you can pick a category (or skip)
  4. Configure title, icon, dates, times, and content
  5. Close the window to save
  1. Click the note to open it in view mode
  2. Click the edit icon in the header to switch to edit mode
  3. Make changes
  4. Click the save icon or close the window
  1. Open the note in edit mode
  2. Click the trash icon in the header
  3. Confirm deletion

The note editor has three tabs: Content, Schedule, and Settings.

  • Title: Note name
  • Emblem: FontAwesome class or image file (right-click to switch modes)
  • Color: Note color via color picker
  • Content: Rich text editor for the note body

Festival notes display an info banner on each tab, linking to the calendar editor (GM-only).

The top of the tab has a Schedule Mode toggle with two options: One-time Event and Recurring Event. The controls below change based on the selected mode.

Switching from Recurring to One-time prompts a confirmation because it clears the condition tree.

  • Start Date / End Date: Click to open a date picker. The two pickers sit side by side and set the event’s span directly.
  • Time: Hour and minute inputs for start and end time (hidden when All Day is checked)
  • All Day: Checkbox to hide time fields. When checked, end date fields are disabled and synced to match the start date.
  • Anchor Date: Click to open a date picker for the base date the recurrence pattern is anchored to
  • Repeats Until: Optional date picker that caps the recurrence. Click the x button to clear.
  • Time: Hour and minute inputs (hidden when All Day is checked)
  • All Day: Checkbox to hide time fields.
  • Duration: Number of days each occurrence spans (minimum 1)
  • Condition Presets: Dropdown with presets that reflect your calendar’s weekdays, months, seasons, and moon phases (e.g., “Every Monday”, “Monthly on the 15th”, “Every Full Moon”)
  • Edit in Builder: Opens the visual condition builder with the note’s current conditions loaded
  • Condition Summary: Displays the note’s recurrence rules as readable pills. Right-click a pill to delete it.
  • Max Occurrences: Limit how many times a recurring note appears (leave blank for unlimited)
  • Occurrence Preview: Read-only list of the next upcoming dates

Show Bookends lives on the Settings tab under Display Style.

  • Visibility: Visible, Hidden, or Secret (GM only)
  • Silent: Suppress reminders and event announcements
  • Display Style: Icon, pip, or banner
  • Show Bookends: Start/end markers on the first and last days. Enabled only when the event spans more than one day.
  • Macro: Select a macro to execute when the event triggers
  • Reminder Type: None, Toast, Chat, or Dialog
  • Reminder Targets: All, GM, Author, Viewers, or Specific users
  • Reminder Offset: Minutes before the event to trigger (0 = at event start, max 720)
  • Reminder Users: User list (only shown when target is Specific)
  • Select from existing categories
  • Add new categories inline
  • Categories with the player-usable flag disabled are hidden from non-GM users unless already assigned to the note
  • The Default preset does not appear as a selectable category. It acts as a fallback for uncategorized notes and is hidden from category pickers and badge displays

Per-user permission dropdowns. Each user can be set to None, Observer, or Owner. GM and note author are fixed at Owner.

Per-user grants layer on top of the visibility default and are editable in every visibility mode. Set a Hidden note to “GM and author plus Player X” by granting Player X Observer; set a Visible note to “everyone except Player Y” by granting Player Y None. Flipping visibility updates the default tier (Visible raises it to Observer, Hidden and Secret drop it to None) but does not touch existing per-user grants, so manually configured access survives visibility changes.

Only GMs can manage note permissions. Non-GM users see a disabled ownership fieldset with a tooltip explaining that permission management is restricted to the GM.


Rule-based scheduling for notes. Conditions check date, weekday, season, moon phase, and more to decide whether a note shows on a given day.

Conditions check:

  • Date fields: year, month, day, day of year, full date comparison, and more
  • Weekday fields: weekday, week number in month (e.g., “3rd Tuesday”), inverse week number
  • Season fields: current season, percentage through the season, season day, solstices, equinoxes
  • Moon fields: moon phase, named phase (New, Full, etc.), sub-phase (Rising, True, Fading), phase occurrence counts
  • Cycle and Era fields: current cycle entry and era (when the calendar defines them)
  • Other fields: intercalary days, leap years, weather, eclipses, random values, event references

See API Reference for the complete field list.

  • Comparison: equals, not equals, greater than, less than, greater or equal, less or equal
  • Modulo: repeating intervals like “every 4th year” with an optional offset
  • Event-relative: days ago, days from now, within the last N days, within the next N days

See API Reference for the complete operator list.

Organize conditions into groups with boolean logic:

  • AND: All conditions must pass (default)
  • OR: At least one condition must pass
  • NAND: Passes when not all conditions pass (negated AND)
  • XOR: Passes when exactly one condition passes
  • COUNT: Passes when a specific number of conditions pass

Groups nest inside other groups for complex rules.

Example: “Every 3rd Tuesday in winter during a full moon” uses an AND group with conditions for weekday, week number, season, and moon phase.

A note’s schedule can depend on another note’s occurrences: “3 days after Festival X” or “within 5 days of Event Y”.

  • Select the target note using the note picker in the condition builder
  • Use event-relative operators: days ago, days from now, within last, within next
  • Circular references are prevented

Visual editor for condition trees.

  1. Open a note in edit mode
  2. Go to the Schedule tab
  3. Click Edit in Builder

In the builder:

  • Select a field from the dropdown (grouped by category)
  • Choose an operator for the field type
  • Enter a value using the field-specific input
  • Add groups to organize conditions with boolean logic
  • Reorder with move up/down controls
  • Delete via right-click context menu

Presets are available from a dropdown (Basic, Weekly, Monthly, Yearly, Every Nth, Seasons, Moons, Eclipses). A merge checkbox appends conditions instead of replacing the tree.


Organize notes by type. Every world starts with 8 built-in presets (Birthday, Deadline, Downtime, Lore, Meeting, Quest, Reminder, Session), and you can create your own.

Open the Note Preset Editor from the Settings Panel to create, edit, delete, and reorder presets.

Categories define defaults that auto-apply when creating a note: display style, visibility, reminder settings, and duration.

Categories also define overrides that force specific values on all notes in the category. Overridden fields are locked in the note editor. Use the lock toggle in the Note Preset Editor to promote a field from default to override.

Each category has a player-usable flag. When disabled, non-GM users don’t see that category when creating or editing notes.


Three visibility levels:

LevelIconWho Can See
Visible(none)All users with journal permissions
HiddenEye-slashGM only
SecretLockGM only, and only when “Show Secret Notes” is enabled
  • Hidden notes are always visible to GMs
  • Secret notes are hidden from everyone by default, including GMs. Enable Show Secret Notes in the Settings Panel to see them.
  • The Silent flag suppresses reminders and announcements independently
  • Non-GM users need at least Observer permission on the parent journal entry to see a visible note

Duration is a number-of-days field. Its visibility on the Schedule tab depends on the Schedule Mode:

  • One-time: the Start Date / End Date pickers control the span directly. Duration is derived on save from the date range.
  • Recurring: Duration is the primary control for per-occurrence length.

Multi-day events render as continuous bars across calendar days in BigCal.

  • Show Bookends: Start/end markers on the first and last days. Configured on the Settings tab.
StyleDescription
IconDefault inline icon next to the note name
PipCompact dot indicator with minimal footprint
BannerFull-width bar spanning the event’s duration across days

Notes sort by display priority: banner > icon > pip, with festivals first.


Calendar festivals are created as journal notes using the condition engine. Festivals act as templates that produce independent notes.

  • After creation, festival notes are independent. Editing a festival note does not change the template.
  • An info banner on the note editor links to the calendar editor (GM-only)
  • Reminder settings are preserved across festival updates
  • Festivals support leap-year-only scheduling via the Is Leap Year condition field
  • Non-GM users cannot delete festival notes
  • GMs can re-sync festival notes from Settings Panel > Notes tab

Players create and edit notes based on Calendaria permissions, combined with Foundry document permissions.

[!NOTE] Players with the “Add Notes” permission but without Foundry’s core Journal Create permission can still create notes as long as a GM is present. The request is relayed to a connected GM.

  • Create notes using the Add Note button
  • Edit notes they created (Owner permission)
  • Edit others’ notes if granted “Edit Notes” permission (not hidden/secret notes)
  • Delete notes they created
  • View notes with appropriate permissions
  • View hidden or secret notes
  • Delete others’ notes or festival notes
  • Modify time, date, or weather

See API Reference and Hooks.