iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
To update or cancel a calendar invite later, save the event identifier returned by the calendar provider when you create it. Keep that provider ID separate from the stable iCalendar UID, and use the provider’s own update or cancellation operation: Google Calendar’s update replaces the event resource, while Microsoft Graph offers an organizer-only cancellation action that sends attendees a notice.
The examples below focus on Google Calendar API and Microsoft Graph. The cited API documentation establishes their request behavior, but not current Node.js SDK package names or setup. Verify the official JavaScript client instructions before adding SDK-specific code.
Choose an identity you can use again
A calendar invite needs a durable identity if your application is going to find the same event for edits or cancellation. For API calls, persist the event ID returned by the provider. For iCalendar interoperability, preserve the component’s UID as well. They serve related but distinct purposes.
Free tools Windows power users keep installed
One-click scans. No signup required.
RFC 5545 requires a UID in a VEVENT and defines it as a persistent, globally unique identifier. The same UID should identify the same event in iCalendar exchanges. Google likewise distinguishes an event’s API id from its iCalUID; for a recurring event, individual occurrences have different event IDs but share an iCalUID. Do not substitute one field for the other.
#1 Best Overall
Store both identifiers when you need both workflows
- Store the provider’s event ID with the provider and calendar context needed to address that event in later API requests.
- Retain the iCalendar UID if your system exchanges or exports iCalendar data.
- For recurring events, account for the fact that an occurrence’s event ID can differ while its iCalendar UID is shared.
Create an event with Google Calendar API
Google creates events with events.insert. The request requires start and end values; timed events use date-time fields, while all-day events use date fields. The authenticated user also needs write access to the selected calendar. Google’s creation guide describes the available Calendar and event-specific authorization scopes: Create events.
- Authorize the application with an appropriate Calendar write scope and confirm the authenticated user can write to the target calendar.
- Call
events.insertfor the chosen calendar, supplying the event’s start and end in the correct timed or all-day form. - Persist the returned event ID for later provider API calls. Preserve the separate iCalendar UID if your application also needs calendar-data interoperability.
Google’s event resource reference documents the distinction between id and iCalUID and describes event deletion and patch behavior: Events resource.
Rank #2
Update Google events without losing existing details
Google’s events.update is a full-resource replacement, not a partial update. Sending only the fields you intend to change can therefore remove other event details that are absent from the request. Google recommends retrieving the event before updating it and using etags for atomicity, which helps guard against overwriting a concurrent change. See events.update.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Fetch the current event using its saved event ID.
- Build the replacement resource from the current event, retaining the fields your application needs, and apply the intended changes.
- Use the event’s etag to protect the update from an intervening modification, following Google’s documented conditional-update behavior.
- Submit the complete resource with
events.update.
When a patch is more appropriate
events.patch leaves omitted fields unchanged, but an array included in the patch replaces that entire existing array. For example, if you send an attendees array, provide the full attendee list you intend to retain—not merely the attendee being added or changed. Google also documents that each patch consumes three quota units. Use patch when its partial-update behavior fits the change and account for those array and quota rules.
Rank #3
Cancel or delete according to the calendar provider
“Cancel” and “delete” are not interchangeable across calendar APIs. Decide whether the goal is to send attendees a cancellation notice or simply remove an event, then use the provider operation that matches.
Google Calendar
Google provides an event delete operation. Address the event using its saved event ID. Do not assume a delete request guarantees a particular attendee notification outcome; attendee settings and whether the sender is known can affect whether an invitation appears on a recipient’s calendar before they add it or RSVP. Google describes this attendee behavior in its event creation guidance.
Rank #4
Microsoft Graph
Microsoft Graph supports creating, updating, deleting, and canceling calendar events. Its distinct cancel action is for the organizer and sends a cancellation message to attendees; the action accepts an optional comment that is sent to them. Graph distinguishes that cancellation notice from deleting an event. See Cancel event.
- Use the organizer’s cancel action when attendees should receive a cancellation message.
- Use deletion when the intended operation is removal rather than an organizer cancellation notice.
- Do not attempt cancellation as a non-organizer; Graph restricts the action to the organizer.
Keep the Node.js implementation aligned with current clients
The API behaviors above are provider-documented, but the sources cited here do not establish a current Node.js SDK package name, version, or installation procedure. Before writing package-specific code, follow the provider’s current official Node.js client documentation. Keep application logic independent of SDK syntax where possible: create, persist the returned provider ID, fetch before a full replacement update, protect against stale writes where supported, and select cancellation or deletion based on the user’s intended outcome.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

