External integration: ability to read Gladys calendars from the SDK (for a CalDAV server)

Hello everyone,

I would like to create an external integration that exposes a CalDAV server, to be able to read Gladys calendars from other tools (Thunderbird, phone, Nextcloud…).

What I’ve seen in the SDK (integration-sdk-js)

  • The "calendar" type only allows pushing calendars and events to Gladys.
  • An integration only sees its own calendars, not those from other sources (internal CalDAV, Google, manually created events).
  • There is no method to read existing events.
  • However, exposing a port via sub-containers already works, so the CalDAV server part is not an issue.

My proposal

  • Add a read method to the SDK, for example getCalendarEvents(userSelector, { from, to }).
  • Keep the same principle as the existing one: the user activates the integration to give consent and chooses which calendars are shared.
  • A declaration in the manifest (e.g. "calendar_read": true) displayed during installation, like for "location": true.

Use cases

  • View Gladys events on your phone or in your email client.
  • Share a « home » calendar (trash, alarms, presence) with family.
  • Export to ICS for other tools.

Questions

  • Does this need interest other people?
  • Would this be feasible on the core / SDK side?
  • Or do you see a better approach (native ICS export in the core, for example)?

I am ready to develop the integration if the read method is added.

Thanks!