Skip to content

ICS calendar feed

The ICS calendar feed is a read-only, personal subscription URL that gives any standard calendar app (Google Calendar, Apple Calendar, Outlook, Fantastical, Thunderbird, and so on) live access to your Syndik8 bookings across every syndicate you belong to. The receiving app polls the URL; Syndik8 serves the latest bookings as an ICS document.

The feed is yours. It contains only bookings you are the author of, plus (by default) the events for syndicates you belong to. Other members’ bookings are not in your feed.

Every signed-in member can generate and subscribe to their own feed, regardless of role. Viewers can generate a feed too, though it will be empty because viewers have no bookings.

Bookings tab → Subscribe to calendar button at the top of the list. This opens a bottom sheet with:

  • A “Set up calendar subscription” action if no token has been generated yet.
  • A Subscribe button on iOS, macOS, and Windows that launches the OS calendar app via a webcal:// URL.
  • A Copy link button that copies the https://… URL to your clipboard on every platform.
  • A Reminder chooser (None, 30 min, 1 hour, 1 day) that adds a VALARM to each event in the feed.
  • A Regenerate link action that invalidates the old URL and issues a new one.
In the feedNot in the feed
Your own bookings with status pending, tentative, suspended, confirmed, or completed.Other members’ bookings.
Your syndicates’ events (AGMs, fly-ins, meetings).Events from syndicates you are not a member of.
Asset name and syndicate name in each entry’s title.Detailed financial data, member balances, squawks.
A VALARM block matching your chosen reminder duration, if set.Cancelled or rejected bookings: these are excluded.

confirmed and completed bookings appear as ICS CONFIRMED. pending, tentative, and suspended bookings appear as ICS TENTATIVE, and their titles are prefixed with Pending: , Tentative: , or Suspended: so you can tell a soft hold or an on-hold booking from a firm one.

The reminder picker in the subscribe sheet sets the lead-time on every event in the feed. Options:

OptionDuration before the event
NoneNo reminder added.
30 min30 minutes.
1 hour60 minutes.
1 day24 hours.
  • HTTPS: plain https://… URL, works in any calendar client. This is what Copy link copies.
  • webcal: webcal://… URL that OS-level calendar apps recognise as “subscribe me to this”. Used by the Subscribe button on iOS, macOS, and Windows.

The token at the end of the URL is the credential. Anyone with the URL can read your bookings, which is why Regenerate link exists. Use it if you share or accidentally expose the URL.

  • You must generate the token. The first time you open the subscribe sheet there is no token yet; tap “Set up calendar subscription” to generate one.
  • One active token per member. Regenerating the link invalidates the old URL immediately; any calendar app still using it will stop receiving updates and must be re-subscribed with the new URL.
  • Private credential. The token in the URL is your credential. Do not post it in chat, screenshots, or support tickets.
  • Polling cadence is the client’s choice. Syndik8 asks calendar apps to refresh every 15 minutes, but how often your app actually checks is up to the app, not Syndik8. Apple Calendar usually refreshes a subscribed calendar around every 15 minutes; Google Calendar can take 12 to 24 hours and does not support webcal://, so on Google (including Android) use Copy link and add the https:// URL by hand. There is no way to push updates to a subscribed client.
  • Events are included by default. Events for syndicates you belong to are included in the feed. There is no user-facing toggle in the app to exclude them; the backend default (include_events = true) is what takes effect.
  • Cancelled and rejected bookings are excluded. They never appear in the feed, so they cannot leave “ghost” events in your calendar after they are cancelled.