Skip to content

Commit ec0d709

Browse files
committed
Clarify edge cases and documentation for event deletion
Refined and reorganized edge cases for both token-based and credentials-based examples, clarifying handling of missing parameters and token precedence. Improved expected results and notes for accuracy and completeness. Updated descriptions to highlight runtime credential exchange and attendee notification behavior. Revised summary to specify SendUpdates default, and removed redundant labels and edge cases for clarity.
1 parent c63d893 commit ec0d709

1 file changed

Lines changed: 14 additions & 30 deletions

File tree

src/G4.Plugins.Google/Actions.Calendar.Manifests/RemoveGoogleCalendarEvent.json

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -116,24 +116,18 @@
116116
"context": {
117117
"annotations": {
118118
"edge_cases": [
119-
"EventId is missing or empty",
120-
"EventId does not exist on the target calendar — API returns 404",
121119
"CalendarId defaults to 'primary' when omitted",
120+
"EventId does not exist on the target calendar — API returns 404",
121+
"EventId is missing or empty — plugin cannot build the delete request",
122122
"Invalid or expired OAuth access token — API returns 401",
123-
"Access token missing required Google Calendar API scope",
124-
"SendUpdates defaults to 'none' — no cancellation emails are sent",
125-
"Google Calendar API rate limit or quota exceeded",
126-
"Google Calendar API returns non-success status code",
127-
"Network timeout or connection failure"
123+
"SendUpdates defaults to 'none' — no cancellation emails are sent"
128124
],
129-
"expected_result": "The event is deleted from the primary calendar. The API returns 204 No Content.",
130-
"notes": "Deletes an event from the primary calendar using a direct OAuth access token.",
125+
"expected_result": "The event is deleted from the primary calendar and the API returns 204 No Content.",
126+
"notes": "EventId is the only required parameter. Token provides a raw OAuth Bearer token suited for single-step runs where token expiry is not a concern. Omitting CalendarId targets the authenticated user's primary calendar.",
131127
"use_case": "remove_calendar_event_with_token",
132128
"version": "4"
133129
},
134130
"labels": [
135-
"ApiIntegration",
136-
"Authentication",
137131
"Calendar",
138132
"Delete",
139133
"GoogleCalendar",
@@ -159,33 +153,22 @@
159153
"context": {
160154
"annotations": {
161155
"edge_cases": [
162-
"Credentials id/name not found",
163-
"Credentials record missing refresh token",
164-
"Refresh-token exchange fails",
165-
"Google OAuth token endpoint returns non-success status code",
156+
"CalendarId not found or not writable — API returns 404 or 403",
157+
"Credentials record not found or missing refresh token — token exchange fails",
166158
"EventId does not exist on the target calendar — API returns 404",
167-
"CalendarId not found — API returns 404",
168-
"CalendarId refers to a calendar the user cannot write to — API returns 403",
169-
"CalendarId contains special characters that require URL encoding",
170-
"SendUpdates:all causes cancellation emails to be sent to all attendees immediately",
171-
"Google Calendar API rate limit or quota exceeded",
172-
"Google Calendar API returns non-success status code",
173-
"Network timeout or connection failure"
159+
"SendUpdates:all sends cancellation emails to all attendees immediately",
160+
"Token parameter is ignored when Credentials is provided"
174161
],
175-
"expected_result": "The event is deleted from the specified secondary calendar and cancellation emails are sent to all attendees. The API returns 204 No Content.",
176-
"notes": "Deletes an event from a secondary calendar using stored credentials, notifying all attendees.",
162+
"expected_result": "The event is deleted from the specified secondary calendar, cancellation emails are sent to all attendees, and the API returns 204 No Content.",
163+
"notes": "Credentials is resolved at runtime to a fresh access token, making it safe for long-running workflows where raw tokens may expire. Passing CalendarId explicitly targets the secondary calendar by its email-format identifier. SendUpdates:all delivers cancellation emails to all attendees immediately.",
177164
"use_case": "remove_calendar_event_with_credentials_and_notifications",
178165
"version": "4"
179166
},
180167
"labels": [
181-
"ApiIntegration",
182-
"Authentication",
183168
"Calendar",
184169
"Credentials",
185170
"Delete",
186171
"GoogleCalendar",
187-
"Invitations",
188-
"OAuth",
189172
"SecondaryCalendar",
190173
"SendUpdates"
191174
]
@@ -194,8 +177,8 @@
194177
"### RemoveGoogleCalendarEvent: Delete event from secondary calendar using stored credentials",
195178
"",
196179
"Delete a calendar event from a secondary calendar by supplying its identifier and CalendarId.",
197-
"Stored credentials are resolved at runtime to obtain a fresh OAuth access token.",
198-
"SendUpdates:all notifies all attendees of the cancellation."
180+
"Stored credentials are exchanged at runtime for a fresh OAuth access token, avoiding hardcoded token expiry issues.",
181+
"SendUpdates:all notifies all attendees of the cancellation immediately."
199182
],
200183
"rule": {
201184
"$type": "Action",
@@ -266,6 +249,7 @@
266249
"summary": [
267250
"Deletes a Google Calendar event by its unique identifier from the target calendar.",
268251
"Authenticates via a direct OAuth access token or a stored credentials reference exchanged for a fresh token.",
252+
"Controls whether attendees receive cancellation emails via SendUpdates, defaulting to no notifications.",
269253
"Fails with a non-success API response when the calendar or event cannot be found."
270254
]
271255
}

0 commit comments

Comments
 (0)