Objective

Clarify how to migrate the existing SAIL Boat Outlook calendar into SAIL-AWAY using Microsoft Graph / Outlook.

Current verification on 2026-06-02

Outlook connector list still shows SAIL Boat as a shared calendar owned by Nathaniel Hatfield and editable from Sam's account. It does not show SAIL-AWAY as an Outlook calendar.

Microsoft Graph app-only search confirms SAIL-AWAY exists as a Microsoft 365 group: displayName SAIL-AWAY, mail sailaway@kylawoffice.com, group type Unified, visibility Public. Members include Sam, Janelle, Kyle, and Jenni. Owners include Sam, Janelle, and Jenni.

Graph app-only can read Nathaniel Hatfield's mailbox calendars and can read sample events from Hatfield's SAIL Boat calendar. This means the source side is accessible.

Graph app-only receives 403 Access Denied for /groups/{SAIL-AWAY group id}/calendar and /groups/{SAIL-AWAY group id}/calendar/events. This means the current SAIL-AWAY group calendar is not accessible with the existing app-only registration.

A saved delegated Sam Outlook token exists, but it only has mail/profile scopes. A refresh attempt requesting calendar/group scopes failed with AADSTS65001, meaning Microsoft requires interactive user/admin consent before those scopes can be used.

Practical migration path

Recommended path: create or designate a true shared mailbox calendar as the SAIL-AWAY operational calendar, then migrate future SAIL Boat events into that mailbox calendar with Graph. The current SAIL-AWAY group address is already occupied by a Microsoft 365 group, so either keep the group for collaboration and create a separate shared mailbox address, or rename/release the group address and create a shared mailbox at the desired address.

Alternative path: keep SAIL-AWAY as the Microsoft 365 group and grant/consent a delegated Graph app lane with calendar/group scopes, then copy events through delegated Sam access. This may work, but it is less reliable for automation than a shared mailbox target because the current app-only route cannot access the group calendar.

Suggested next steps

  1. Decide whether SAIL-AWAY should be a true shared mailbox calendar or remain a Microsoft 365 group calendar.
  2. If shared mailbox: create/designate the mailbox, verify Graph read/write to /users/{mailbox}/events, then copy future SAIL Boat events.
  3. If group calendar: complete interactive delegated consent for calendar/group scopes, verify /groups/{SAIL-AWAY group id}/calendar access, then copy future events.
  4. Before copy: export SAIL Boat event backup and define the migration window.
  5. After copy: QA count parity and sample event bodies, all-day flags, times, recurrence, reminders, and privacy. Keep SAIL Boat as rollback until verified.

Handoff note

No events were created, changed, moved, or deleted. This session was read-only except for this Notion export. The key blocker is destination calendar access, not source calendar access.