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
| Value | Meaning |
|---|---|
true | Always supported |
false | Never 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: truereturns occurrences, computed by the provider or by calsdk for it.- events.attendeesCapability
- Invite and read attendees.
- events.conferenceCapability
createConference: truecreates a video link.- events.remindersCapability
- Set reminders.
- events.colorCapability
- Set event colors.
- events.etagCapability
- Events carry
etagand writes honorifMatch. - events.searchCapability
- Free-text search with
queryonlistEvents. - 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.