generated from kestra-io/plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 13
Labels
area/pluginPlugin-related issue or feature requestPlugin-related issue or feature requestenhancementNew feature or requestNew feature or requestgood first issueGreat issue for new contributorsGreat issue for new contributors
Description
Feature description
📌 Context / Motivation
We already have the Google Workspace - Calendar plugin for Kestra that supports tasks like listing, creating, updating, deleting events. :contentReference[oaicite:0]{index=0}
However, there is no trigger that reacts to a new event being created in a Google Calendar.
Adding such a trigger will allow workflows to start automatically when a calendar event is added.
🎯 Proposal
Introduce a new trigger (e.g. GoogleCalendarEventCreated) in the Google Workspace Calendar plugin, which will:
- Subscribe (or poll, depending on implementation) to one or more calendars
- Detect new events (on creation)
- Emit an “event created” message (with the event’s metadata)
- Optionally allow filters (e.g. only events with specific labels, organizers, etc.)
This trigger should follow the Kestra trigger contract as documented in:
- https://kestra.io/docs/workflow-components/triggers
- https://kestra.io/docs/plugin-developer-guide/trigger
🔍 Requirements & Considerations
| Aspect | Description / Questions |
|---|---|
| Authentication / Permissions | The trigger will likely need https://www.googleapis.com/auth/calendar permissions (or equivalent) |
| Implementation Strategy | Could use the Google Calendar push notifications (via webhook/channel) or polling (List with sync tokens) |
| State management | Must maintain state (e.g. sync tokens or change tokens) to know which events are new |
| Configuration options | Calendar ID(s), filters, polling interval or webhook endpoint, time window, maximum lookback |
| Output payload | Should include event fields: id, summary, description, start, end, organizer, attendees, etc. |
| Error handling & retries | If API fails, backoff, resume, etc. |
| Testing | Unit & integration tests (e.g. mock Google Calendar API) |
| Documentation & examples | Add sample YAML workflows showing how to use the trigger |
✅ Acceptance Criteria
- A new trigger class (e.g.
GoogleCalendarEventCreated) is added in the plugin module. - It implements the
Triggerinterface following the plugin-developer guide :contentReference[oaicite:1]{index=1} - The trigger can be configured via YAML (with reasonable parameters)
- It emits an execution start when a new event is created
- The trigger is documented (README, plugin docs) with an example
- Tests are added verifying correct behavior (e.g. no duplicate events, filters, error handling)
🔗 References
- Google Workspace - Calendar plugin documentation: https://kestra.io/plugins/plugin-googleworkspace/calendar :contentReference[oaicite:2]{index=2}
- Kestra Triggers documentation: https://kestra.io/docs/workflow-components/triggers :contentReference[oaicite:3]{index=3}
- Plugin developer guide (trigger section): https://kestra.io/docs/plugin-developer-guide/trigger :contentReference[oaicite:4]{index=4}
Metadata
Metadata
Assignees
Labels
area/pluginPlugin-related issue or feature requestPlugin-related issue or feature requestenhancementNew feature or requestNew feature or requestgood first issueGreat issue for new contributorsGreat issue for new contributors