Capabilities

The capability flags every provider declares, and what each one means.

Before you offer a feature, such as "edit this and following" or a video link, you'll want to know the user's calendar can do it. Every provider has a capabilities object that tells you. calsdk also uses it to pick fallbacks, the conformance suite runs only the tests a provider declares, and these docs build the provider comparison from it.

calendar.capabilities.events.recurrenceScopeThisAndFollowing; // true, false, 'unknown' or { condition }

Values

ValueMeaning
trueAlways supported
falseNever supported
'unknown'The provider cannot tell ahead of time. Not the same as unsupported
{ condition: string }Supported only under the condition, such as 'Teams meetings need a work or school account.'

Flags

events.detailsCapability
Events keep the title and description they are written with. Booking tools name events from a template instead.
events.allDayCapability
Create all-day events.
events.recurrenceCapability
Create and read recurring series.
events.recurrenceScopeThisAndFollowingCapability
Change or delete this and later occurrences with scope: 'thisAndFollowing'.
events.serverSideExpansionCapability
expandRecurring: true returns occurrences, computed by the provider or by calsdk for it.
events.attendeesCapability
Invite and read attendees.
events.conferenceCapability
createConference: true creates a video link.
events.remindersCapability
Set reminders.
events.colorCapability
Set event colors.
events.etagCapability
Events carry etag and writes honor ifMatch.
events.searchCapability
Free-text search with query on listEvents.
freeBusyCapability
A free/busy endpoint. Without one, calsdk computes free/busy from events.
syncCapability
Fetch changes since a cursor with syncEvents.
webhooksCapability
Push notifications. Part of the contract, not implemented by any provider yet.

On this page