Skip to main content

iCal, xCal, and jCal feeds

How to configure your iCal, xCal, and jCal feeds

Written by Scott Otis

Using iCal, xCal, and jCal Feeds in Tandem

Tandem provides event information through iCal, xCal, and jCal feeds, which can be used to integrate calendar data directly into your website or other platforms. As soon as events are added, edited, or deleted, these feeds update automatically, keeping your data in sync.


Why Feeds Are Useful

  • Embed live event data into your website.

  • Allow parents, students, and staff to subscribe via feed readers.

  • Filter feeds by school, group, facility, or tags for targeted calendars.

Note: By default only public events are included in feeds. It is possible to get private events to be included by requires an "auth token" to be included.


Feed Types

  • iCal Feed – Standard event subscription feed (also known as .ics files)

  • xCal Feed – Official XML version of the iCalendar standard.

  • jCal Feed – Official JSON version of the iCalendar standard.

Each feed type can be generated by replacing the action parameter in the feed URL:

  • &action=ical → iCal feed

  • &action=xcal → xCal feed

  • &action=jcal → jCal feed

Filters and Excludes

You can filter or exclude events in your feeds using parameters:

  • By School: &schools=1 or &ex_schools=1

  • By Group: &groups=10 or &ex_groups=10

  • By Facility: &facilities=5 or &ex_facilities=5

  • By Department: &departments=3 or &ex_departments=3

  • By Activity: &activities=2 or &ex_activities=2

  • By Event Type: &event_types=4 or &ex_event_types=4

To filter by multiple values, separate IDs with commas (e.g., &schools=1,2,3,4).


Date and Event Options

  • date_start – Start date (format: yyyy-mm-dd) or no_start.

  • date_end – End date (format: yyyy-mm-dd) or no_end.

  • limit – Number of events to return (none = no limit; default = 30).

  • get_key_dates – Set to f to exclude key dates.

  • get_events – Set to f to exclude standard events.

  • only_recently_updated – Set to t to include only events added/updated in the past 48 hours.


Other Options

  • condition_connector_type - when using multiple filters specify how you want the system to handle matching all or some of them

    • 1 (default) - example: any of these groups AND any of these facilities

    • 2 - example: any of these groups OR any of these facilities

    • 3 - example: all of these groups AND all of these facilities

    • 4 - example: all of these groups OR all of these facilities

  • primary_time - use "setup" and if an event has a setup time defined it will use that as the start time

  • event_status_types - specify which events statuses to include

    • 1 (default) - Active and Cancelled (Tentative included only when signed in as a private user)

    • 2 - All statuses

    • 3 - Only Awaiting Approval, Cancelled by Requestor, and Declined

    • 4 - Only Active

  • event_privacy - specify when you want public and/or private events to be included

    • 1 (default) - public events only

    • 2 - private events only

    • 3 - public AND private events

  • type_of_event - An array used to specify which types of events to include

    • 1 - Normal Events

    • 5 - Facility Rentals

    • 6 - Event Requests

  • expand_multi_day_events - if set to "t" then mutli-day events will show up as separate events for each day it span across


Private Events

To include private events in these feeds you must add the following to the URL: "&event_privacy=3&user_id=[user id]&user_auth_token=[user auth token]"

user_id must be from a valid user in your "People" section and that user must have permission to view private events.


​

Did this answer your question?