Meeting invites: attendee fields that often get stripped
Level: intermediate · ~15 min read · Intent: informational
Audience: developers, product teams, ops engineers, event teams, technical teams
Prerequisites
- basic familiarity with ICS files or meeting invites
- basic understanding of calendar workflows
Key takeaways
- RFC 5545 supports rich attendee metadata, but many real client workflows center on a much smaller subset such as attendee email, display name, and response status.
- Forwarding, importing, exporting, and subscribing are not the same thing as live scheduling. These workflows often flatten or rewrite attendee-related fields.
- If attendee fidelity matters, treat the ICS file as a contract and test the exact fields you care about across the clients and transport paths your users actually use.
References
FAQ
- What attendee fields exist in RFC 5545?
- RFC 5545 supports attendee metadata such as common name, role, participation status, RSVP expectation, calendar user type, delegation metadata, group membership, directory references, and sent-by information.
- Why do attendee fields get stripped in practice?
- Because many real workflows are imports, forwards, or subscriptions rather than full scheduling exchanges, and many clients only preserve or expose the smaller subset of attendee data they actively use.
- Does importing an ICS file preserve live attendee behavior?
- Not necessarily. Importing an event file and participating in a live invitation workflow are different behaviors with different guarantees.
- What fields are most likely to survive?
- Typically the attendee address, a display name if one is recognized, and basic response semantics are the most likely to remain useful across clients.
Meeting invites: attendee fields that often get stripped
An .ics file can describe attendees in much richer detail than many teams realize.
The iCalendar spec does not stop at:
- email address
- display name
- accepted or declined
RFC 5545 supports a much broader set of attendee-related parameters and properties, including:
CNROLEPARTSTATRSVPCUTYPEMEMBERDELEGATED-TODELEGATED-FROMSENT-BYDIRLANGUAGE
That sounds powerful. And it is.
But in real meeting-invite workflows, many of those fields are often:
- stripped
- ignored
- recomputed
- flattened
- hidden from users
- or lost when an invite crosses client, server, or workflow boundaries
That is why teams building or debugging calendar invites need to understand a simple truth:
RFC richness is not the same as client round-trip fidelity.
If you want the quickest path to building a clean invite, start with the ICS File Generator and the broader ICS tools hub. If your source data begins in spreadsheets or exports, the Converter can help before you generate the calendar file.
This guide explains which attendee fields exist in the standard, why some of them often get stripped in practice, and which fields are the safest to rely on across common workflows.
Why this topic matters
Teams search for this topic when they need to:
- generate ICS invites with attendees
- preserve RSVP and response state across systems
- understand why imported events lose attendee metadata
- debug why a forwarded invite behaves differently
- determine whether display names, roles, or delegation data survive export and import
- compare invitation workflows to subscription or static import workflows
- build scheduling features that work across Google, Apple, and Microsoft ecosystems
- know which ICS fields are worth relying on
This matters because a lot of invite bugs are not really bugs in the spec.
They are interoperability gaps between:
- what RFC 5545 allows
- what a calendar client exposes
- what an email-based invitation flow preserves
- what an import flow recreates
- what a subscription flow updates over time
That is exactly where attendee fields get lost.
What RFC 5545 actually supports for attendees
RFC 5545’s ATTENDEE property is much richer than many teams expect.
The spec explicitly says ATTENDEE can include parameters to indicate:
- group membership with
MEMBER - delegation targets with
DELEGATED-TO - delegation sources with
DELEGATED-FROM - acting-on-behalf-of information with
SENT-BY - directory information with
DIR - language for the common name with
LANGUAGE
It also says recipients delegated a request must inherit the RSVP and ROLE values from the attendee who delegated the request, and that multiple attendees can be specified by including multiple ATTENDEE properties within the same component. citeturn526684view0turn526684view2turn526684view3turn526684view4
The RFC also shows concrete examples such as:
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Henry Cabot:mailto:hcabot@example.comATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:hcabot@example.com";CN=The Big Cheese:mailto:iamboss@example.comATTENDEE;SENT-BY=mailto:jan_doe@example.com;CN=John Smith:mailto:jsmith@example.comciteturn526684view0turn526684view1turn526684view3
So the standard clearly supports rich attendee semantics.
The core interoperability problem
The challenge is not that these fields are invalid.
The challenge is that many real workflows are not full scheduling exchanges in the strongest sense.
Instead, teams often rely on:
- imported
.icsfiles - emailed attachments
- forwarded invitations
- exported calendar files
- subscription URLs
- consumer clients that simplify the model for users
Those workflows often preserve only the subset of attendee information that the platform actively uses.
That is where fields get stripped.
The first big distinction: invite workflow vs import workflow
This is one of the most important distinctions in calendar interoperability.
Live invitation workflow
A user receives an invitation and responds through the calendar system.
Static import workflow
A user imports or opens an .ics file as event data.
Those are not the same thing.
Apple’s Calendar import docs say you can import events saved in a calendar .ics file and add them into a calendar. That is an event-import workflow. Its reply-to-invitations docs separately describe responding to invitations with actions like Accept, Decline, Maybe, and even proposing a new time. citeturn778553view4turn778553view2
That difference matters because importing an event file does not automatically mean every scheduling-specific attendee behavior remains alive after the import. Apple’s docs describe import as event transfer and reply flow as invitation interaction, which are related but not identical user paths. citeturn778553view4turn778553view2
Outlook’s docs also distinguish importing an .ics file from subscription-based or shared-calendar experiences. Microsoft says importing events from an .ics file adds them into your calendar, while ICS subscriptions are refreshed by the recipient’s calendar service on its own timing. citeturn350299search1turn350299search5turn778553view5
That tells you something crucial:
the more your workflow looks like “event import,” the less you should assume full attendee-state fidelity.
The second big distinction: attendee email vs attendee metadata
The field most likely to survive is usually the attendee address itself:
ATTENDEE:mailto:person@example.com
Everything around it is more vulnerable.
The spec supports metadata like:
CNfor common nameROLEPARTSTATRSVPCUTYPEMEMBERDELEGATED-TODELEGATED-FROMSENT-BYDIRciteturn526684view0turn526684view1turn526684view2turn526684view3turn526684view4
But real calendar clients often reduce the user-visible model to:
- who the attendee is
- whether they accepted, declined, or maybe responded
- basic organizer and guest permissions
That means the first fields likely to get flattened or ignored are usually the richer metadata fields, not the bare attendee address.
Fields that often get stripped, ignored, or rewritten
1. CN (common name)
CN gives a display name alongside the attendee address.
Why it gets stripped or rewritten:
- the client may already know the person’s display name from contacts or directory data
- the system may prefer the name from the mailbox, profile, or tenant directory
- importing/exporting may preserve only the email and rebuild the display name later
RFC 5545 clearly supports CN, but that does not guarantee every workflow round-trips it exactly. citeturn526684view0turn526684view1
2. ROLE
ROLE can express things like required participant, optional participant, or non-participant.
Why it often gets flattened:
- many end-user clients present simpler guest models
- not every UI exposes role distinctions explicitly
- imported events may be turned into generic guest lists
RFC 5545 supports ROLE, including inherited role behavior in delegated requests. But practical client UIs often collapse that down to simpler participant behavior. citeturn526684view0
3. RSVP
RSVP is a request expectation, not the same thing as an actual response.
Why it often disappears:
- some clients focus on response state rather than preserving the explicit RSVP hint
- once the invite enters a client-native invitation system, the platform may derive behavior from its own scheduling model
The spec is clear that RSVP exists and can be inherited in delegated cases. In practice, it is often less visible than actual accept/decline state. citeturn526684view0turn526684view3
4. PARTSTAT
PARTSTAT is one of the fields most likely to survive conceptually but not always identically.
Why it gets rewritten:
- the platform may recompute response state from its own invitation workflow
- forwarding, importing, or re-creating an event can reset the effective response state
- some clients restrict who can see the response state
Microsoft’s support docs explicitly say that attendee response visibility can vary, and that external users or users outside the tenant may not be able to see responses to the meeting invitation. Google’s support docs show user-facing response actions like Yes, No, and Maybe, and Apple similarly presents Accept, Decline, or Maybe. citeturn778553view3turn778553view1turn778553view2
That means response semantics are present across major ecosystems, but their visibility and round-trip behavior are not universal. citeturn778553view3turn778553view1turn778553view2
5. CUTYPE
CUTYPE identifies the type of calendar user.
Why it often gets ignored:
- many everyday invitation UIs do not expose this distinction
- the client may not need it for common user flows
- it tends to matter more in richer scheduling systems than in casual import scenarios
This is one of the parameters that exists in the standard but often provides little visible benefit in common client UX.
6. MEMBER
MEMBER lets the attendee indicate group or list membership.
Why it often gets stripped:
- group membership is rarely shown in common invite UIs
- platform-specific group systems may not map cleanly from ICS metadata
- imported or forwarded events often become flattened guest lists
RFC 5545 clearly supports MEMBER, but it is exactly the kind of field that frequently loses meaning outside advanced scheduling workflows. citeturn526684view4turn526684view0
7. DELEGATED-TO and DELEGATED-FROM
These are rich fields that describe delegation relationships.
Why they often get stripped:
- many consumer and cross-platform workflows do not preserve explicit delegation metadata
- forwarding or re-inviting a guest may create a new effective attendee relationship rather than round-tripping the original delegation model
- UIs often represent only the resulting guest list
RFC 5545 supports both parameters explicitly and gives delegation examples. But they are much richer than what many mainstream invite flows expose. citeturn526684view2turn526684view0turn526684view1
8. SENT-BY
SENT-BY indicates someone is acting on behalf of the attendee or organizer.
Why it often gets flattened:
- the platform may rely on mailbox, delegate, or tenant permissions instead
- cross-client import/export paths often keep only the principal identity
- end-user clients rarely surface “sent by” metadata prominently
RFC 5545 supports SENT-BY for attendees and organizers, but it is another field that often does not survive simplistic import/export flows intact. citeturn526684view3turn526684view0
9. DIR and LANGUAGE
These are useful metadata fields in the standard:
DIRpoints to directory informationLANGUAGEcan apply to the common name
Why they often get ignored:
- many clients do not expose this metadata in everyday scheduling UIs
- directory resolution is often handled natively by the platform rather than by the imported ICS parameters
- import/export flows may keep only the core user-facing event fields
These are among the most standards-rich and commonly ignored fields in day-to-day interoperability.
Why forwarding changes attendee behavior
Google’s support docs say that when you forward an invitation and have permission to invite others, the forwarded recipient can RSVP and is added to the event as a guest. They also say forwarding can let the recipient send a response to the organizer, invite others depending on permissions, and modify your RSVP. citeturn778553view1
That is a good example of why raw attendee metadata can drift in real workflows.
Once an invite is forwarded, you are no longer just preserving original ATTENDEE parameters. You are entering a platform-specific guest-management model.
So if your workflow relies on delegation or special attendee metadata, forwarding is a common place where the original richness gets rewritten into simpler guest semantics. citeturn778553view1
Why subscriptions are even more likely to flatten attendee intent
Microsoft’s calendar-sharing docs say an ICS URL creates an Internet Calendar Subscription and that the recipient’s calendar service chooses when to sync updates. They note examples like Outlook.com syncing roughly every three hours and Gmail potentially updating every 24–48 hours. citeturn778553view5
This matters because subscription workflows are optimized for:
- calendar data updates
- periodic refresh
- event visibility
They are not the same thing as a full interactive meeting-scheduling exchange.
So if you are distributing an ICS URL rather than participating in a platform-native invite flow, you should expect less reliable preservation of rich attendee behavior and more of a “shared event feed” model. citeturn778553view5
A practical field-survival hierarchy
For many cross-client workflows, the fields most likely to remain useful are roughly:
Most likely to survive conceptually
- attendee mailto address
- a display name of some kind
- basic response state
- organizer identity
Often preserved but potentially rewritten
CNPARTSTATRSVP
More likely to be flattened, ignored, or lost
ROLECUTYPEMEMBERDELEGATED-TODELEGATED-FROMSENT-BYDIRLANGUAGE
The exact behavior still depends on:
- client
- transport path
- whether the event is imported, forwarded, or subscribed
- whether the platform converts the ICS into its own internal scheduling model
A practical design strategy
If attendee fidelity matters, build around this strategy.
1. Keep the attendee model simple by default
Rely first on:
- attendee email
- stable display name
- organizer
- core response expectations
2. Treat advanced attendee metadata as best-effort
Fields like delegation, group membership, or sent-by are valid, but should not be assumed to round-trip perfectly without testing.
3. Distinguish import from invitation
An .ics import is not the same as a native invitation workflow.
4. Distinguish subscription from collaboration
An ICS subscription is even less like a live scheduling exchange than an imported invite.
5. Test the exact client paths you care about
At minimum:
- original invite
- forwarded invite
- imported
.ics - subscribed ICS URL
- update flow
- cancellation flow
This is the only safe way to know which attendee fields matter in your actual product.
Good examples
Example 1: safe baseline attendee
ATTENDEE;CN=Jane Doe:mailto:jane@example.com
This is much more likely to remain useful across clients than a more elaborate ATTENDEE record.
Example 2: richer but fragile attendee
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;RSVP=TRUE;CN=Jane Doe:mailto:jane@example.com
Still valid. Still useful. But more likely to be partly rewritten depending on the workflow.
Example 3: delegation-heavy attendee
ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:delegate@example.com";CN=Manager:mailto:manager@example.com
This is exactly the kind of field-rich construct that often loses fidelity outside advanced scheduling paths.
Common anti-patterns
Assuming RFC support means round-trip support
That is the biggest mistake.
Using imported ICS as if it were a live scheduling protocol
Import and invitation workflows are different.
Treating forwarded invites as metadata-preserving
Forwarding often mutates guest semantics.
Relying on advanced attendee parameters without client tests
That is how invisible stripping bugs happen.
Using subscriptions where real attendee interaction is required
Subscriptions are great for visibility, not necessarily for preserving rich scheduling state.
Which Elysiate tools fit this article best?
For this topic, the most natural supporting tools are:
These fit naturally because meeting-invite fidelity usually depends on getting the event model right before you distribute the ICS file across different clients and transport paths.
FAQ
What attendee fields exist in RFC 5545?
RFC 5545 supports attendee metadata such as common name, role, participation status, RSVP expectation, calendar user type, delegation metadata, group membership, directory references, and sent-by information. citeturn526684view0turn526684view1turn526684view2turn526684view3turn526684view4
Why do attendee fields get stripped in practice?
Because many real workflows are imports, forwards, or subscriptions rather than full scheduling exchanges, and many clients only preserve or expose the smaller subset of attendee data they actively use.
Does importing an ICS file preserve live attendee behavior?
Not necessarily. Importing an event file and participating in a live invitation workflow are different behaviors with different guarantees. Apple and Microsoft both document import separately from response or subscription workflows. citeturn778553view4turn778553view2turn350299search1turn778553view5
What fields are most likely to survive?
Typically the attendee address, a display name if one is recognized, and basic response semantics are the most likely to remain useful across clients.
Why can RSVP or response state look different across clients?
Because platforms expose and share response state differently. Google, Apple, and Microsoft all support response flows, but Microsoft explicitly notes that response visibility can differ for external users or users outside a tenant. citeturn778553view1turn778553view2turn778553view3
What is the safest default?
Use a simple attendee model for broad interoperability, treat advanced attendee metadata as best-effort, and test the exact import, forwarding, and subscription workflows your users rely on.
Final takeaway
RFC 5545 gives meeting invites a rich attendee model.
Real calendar workflows often do not.
That is why attendee fields get stripped: not because they are invalid, but because importing, forwarding, exporting, and subscribing are simpler workflows than full scheduling interchange.
The safest baseline is:
- depend most on attendee address and clear event identity
- keep display names stable
- treat advanced attendee metadata as best-effort
- expect forwarding and importing to flatten the model
- test the exact client paths your users rely on
That is how you avoid designing around fields that exist in the spec but disappear in the real world.
About the author
Elysiate publishes practical guides and privacy-first tools for data workflows, developer tooling, SEO, and product engineering.