From 3af855829640cb3c134a392d49ef6776b67a162e Mon Sep 17 00:00:00 2001 From: shalim786 Date: Mon, 19 Oct 2026 17:19:19 -0700 Subject: [PATCH 1/2] Calendar: invitations from iCloud, Luma and Maven are accepted Inbound calendar now admits a recognized calendar service sending for its organizers (agentmail-to/agentmail-api#1715). organizer_email is the organizer the invitation names, which for iCloud is a relay address. Co-Authored-By: Claude Opus 5.5 --- fern/pages/calendar/invitations.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fern/pages/calendar/invitations.mdx b/fern/pages/calendar/invitations.mdx index 9c93db9c..0016c0e9 100644 --- a/fern/pages/calendar/invitations.mdx +++ b/fern/pages/calendar/invitations.mdx @@ -96,7 +96,7 @@ A reply is only applied to the attendee whose address sent it, so one attendee c ## Receiving invitations -When the inbox receives an email with a calendar invitation attached, AgentMail adds the event to the inbox's calendar automatically. The new event has `source: email`, `organizer_email` set to the sender, the `attendees` listed in the invitation, and `origin_message_id` pointing at the email. A `calendar.event.created` webhook follows, as well as the usual `message.received` for the email itself. +When the inbox receives an email with a calendar invitation attached, AgentMail adds the event to the inbox's calendar automatically. The new event has `source: email`, `organizer_email` set to the organizer the invitation names, the `attendees` listed in the invitation, and `origin_message_id` pointing at the email. A `calendar.event.created` webhook follows, as well as the usual `message.received` for the email itself. Once an email's invitation is applied, the email records its event in `calendar_event_id`, so you can go from an email (say, a `message.received` webhook) to its event with Get Event. Updates, cancellations and attendees' replies record it too; for an email about one date of a recurring event it is that date's event ID. The event is created a few seconds after the email arrives, so get the message again if the field is not there yet. @@ -111,7 +111,7 @@ Later emails from the organizer keep the event in sync: To keep strangers from writing to your agent's calendar, an invitation is applied only when all of these hold: - The email passed sender authentication and is not labeled `spam`, `blocked` or `unauthenticated`. Messages held for a security review are processed if they are released. -- The authenticated sender is the event's organizer. A forwarded invitation, or a cancellation sent by anyone other than the organizer, is ignored. +- The authenticated sender is the event's organizer, or a calendar service AgentMail recognizes as sending for its organizers: iCloud, Luma or Maven. For iCloud, `organizer_email` is an `imip.me.com` relay address Apple assigns, not the organizer's own address. A forwarded invitation, or a cancellation sent by anyone other than the organizer, is ignored. - The invitation is a `text/calendar` or `application/ics` attachment of at most 1 MB, containing exactly one event. Invitations that fail these checks leave the calendar unchanged. The email is still delivered to the inbox like any other message. From bdca5999d8bdf4a32df3a71ee1fe843b241acfd8 Mon Sep 17 00:00:00 2001 From: shalim786 Date: Mon, 19 Oct 2026 18:26:12 -0700 Subject: [PATCH 2/2] Drop Maven from the recognized calendar services agentmail-api#1717 removes it from CALENDAR_RELAY_SENDERS until list.maven.com is confirmed to carry no user-authored mail. Co-Authored-By: Claude Opus 5.5 --- fern/pages/calendar/invitations.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fern/pages/calendar/invitations.mdx b/fern/pages/calendar/invitations.mdx index 0016c0e9..1421ace3 100644 --- a/fern/pages/calendar/invitations.mdx +++ b/fern/pages/calendar/invitations.mdx @@ -111,7 +111,7 @@ Later emails from the organizer keep the event in sync: To keep strangers from writing to your agent's calendar, an invitation is applied only when all of these hold: - The email passed sender authentication and is not labeled `spam`, `blocked` or `unauthenticated`. Messages held for a security review are processed if they are released. -- The authenticated sender is the event's organizer, or a calendar service AgentMail recognizes as sending for its organizers: iCloud, Luma or Maven. For iCloud, `organizer_email` is an `imip.me.com` relay address Apple assigns, not the organizer's own address. A forwarded invitation, or a cancellation sent by anyone other than the organizer, is ignored. +- The authenticated sender is the event's organizer, or a calendar service AgentMail recognizes as sending for its organizers: iCloud or Luma. For iCloud, `organizer_email` is an `imip.me.com` relay address Apple assigns, not the organizer's own address. A forwarded invitation, or a cancellation sent by anyone other than the organizer, is ignored. - The invitation is a `text/calendar` or `application/ics` attachment of at most 1 MB, containing exactly one event. Invitations that fail these checks leave the calendar unchanged. The email is still delivered to the inbox like any other message.