Events
An event is a custom Craft element belonging to one calendar. It carries a start, an end, an all-day flag, a timezone and an optional recurrence rule, alongside the usual title, slug, status and custom fields.
Creating an event
Go to Owl → Events → New event, choose a calendar, then set:
- Title and any custom fields from the calendar’s field layout.
- Start and end date/time (or mark it all-day).
- Timezone — the date pickers display in the event’s own timezone.
- Recurrence — leave empty for a one-off, or add a rule. See Recurrence.
When you save, Owl materialises the event’s occurrences (one for a single event, many for a recurring one) and shows a live occurrence count.
Querying events
Events use a fluent EventQuery, just like entries. The most common starting point is the front-end occurrence query — see Front-end & Twig — but you can also query events directly:
{% set events = craft.owl.events()
.calendar('concerts')
.orderBy('startDate ASC')
.all() %}
{% for event in events %}
{{ event.title }}
{% endfor %}
Events vs occurrences
Querying events gives you each event once, regardless of how often it repeats. To render a calendar — where a weekly event should appear on every week it falls — query occurrences with craft.owl.events() across a date range. The Front-end & Twig page covers this in detail.
Statuses
Events honour Craft’s element statuses (enabled / disabled) and post/expiry dates. Disabled events and their occurrences are excluded from front-end queries and feeds by default.