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!