ICS UID and SEQUENCE: why a changed title is still the same meeting
A meeting renamed from “Planning” to “Launch planning” can remain the same event. Its title is not the interchange identifier. When an update creates a second entry, compare the event identity and delivery route before deleting either copy.
Illustrative identity comparison
| Observation | Likely interpretation to investigate | Next check |
|---|---|---|
| Same title, different UID | Separate identities, possibly a copy | Owning calendars and creation route |
| Same UID, higher SEQUENCE | A later revision may be involved | Organizer and supported update route |
| Same UID, different RECURRENCE-ID | Different instances in one series | Original occurrence dates |
| Same file imported twice | Repeated snapshot operation | Destination import behavior; not live sync |
Start with UID, not the title
RFC 5545 section 3.8.4.7 defines UID as a persistent, globally unique identifier. Calendar systems use it to correlate scheduling requests with later replies, modifications and cancellation requests. Two different meetings may share a title, while one meeting may change its title and time.
A UID that resembles an email address is still an identifier; it does not by itself establish the organizer’s email address or grant permission. Preserve the complete value while investigating a harmless sample. Do not replace it with a newly generated value merely because a meeting was edited.
Read the revision number in context
SEQUENCE describes the component’s revision sequence. Section 3.8.7.4 says it begins at zero and the organizer’s calendar system increments it for significant revisions. It is not an attendance count, a timestamp or an instruction requesting an RSVP.
Imagine a fictional event with UID:planning-demo@example.invalid. The original is SEQUENCE:0 at 10:00Z. A revised invitation has the same UID, SEQUENCE:1 and a new 11:00Z start. That is an illustrative revision relationship. It is not a promise that every file-import command recognizes or replaces the first entry.
Distinguish delivery from identity
An account connection or scheduling message and a user importing a downloaded file are different paths. Google explicitly says imported events do not stay in sync between accounts. A matching UID does not turn a one-time import into a live subscription or guarantee how every application resolves repeated imports.
For a duplicate report, record whether the second entry arrived through an invitation email, an account sync, a subscription or another import. Compare both owning calendars as well as UID and the revision information you can inspect. Similar text on two calendars is not enough to prove the records are the same.
Handle recurring events and suspicious updates carefully
A recurring series uses UID for the set, with RECURRENCE-ID identifying a particular instance. Comparing only the UID can mistake a legitimate exception for a duplicate. The occurrence identifier refers to the original scheduled start, even when that occurrence has been moved.
This diagnostic guide does not claim Cloud Calendars exposes raw UID or SEQUENCE fields. Use the original provider or an authorized support export if needed. Do not accept a calendar file as an authorized update solely because its text contains a familiar UID: sender identity and scheduling authorization also matter.
What it looks like
Cloud Calendars overview, using our product images. Provider settings and protocol examples described in this guide are separate from the screens shown here.
What to do
- Keep both records while identifying their owning calendars.
- Compare UID rather than relying on titles alone.
- For a recurring series, include RECURRENCE-ID in the comparison.
- Check revision and delivery route with the organizer or provider before removing a copy.
Questions
- Does a higher SEQUENCE request an RSVP?
- No. The RFC distinguishes revision numbering from the RSVP parameter on an attendee.
- Will importing another file with the same UID always replace the old event?
- No universal import behavior is promised. A scheduling identity does not make a snapshot import an updating connection.

