Skip to content

Commit 4abde7e

Browse files
committed
fix(outlook): scope online-meeting comments to what Graph documents
onlineMeetingProvider is optional and defaults to unknown; the docs state that setting isOnlineMeeting alone initializes onlineMeeting. They do not document Graph substituting the calendar's defaultOnlineMeetingProvider, so the comments now claim only that, plus the real reason not to pin teamsForBusiness (mailboxes that disallow it via allowedOnlineMeetingProviders).
1 parent 0f9b946 commit 4abde7e

3 files changed

Lines changed: 10 additions & 9 deletions

File tree

apps/sim/tools/outlook/calendar-tools.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ describe('outlook calendar tools', () => {
135135
expect(built.start).toEqual({ dateTime: '2025-06-03T18:00:00', timeZone: 'UTC' })
136136
expect(built.attendees).toHaveLength(2)
137137
expect(built.isOnlineMeeting).toBe(true)
138-
// We intentionally do NOT set onlineMeetingProvider so Graph uses the mailbox
139-
// default (Teams on work/school accounts) instead of hardcoding a work-only value.
138+
// onlineMeetingProvider is optional and pinning it would break mailboxes that
139+
// disallow that provider; isOnlineMeeting alone initializes the online meeting.
140140
expect('onlineMeetingProvider' in built).toBe(false)
141141
})
142142

apps/sim/tools/outlook/calendar_create_event.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,10 +155,11 @@ export const outlookCalendarCreateEventTool: ToolConfig<
155155
}
156156

157157
if (toBool(params.isOnlineMeeting)) {
158-
// Let Graph use the mailbox's default online-meeting provider (Teams on
159-
// work/school accounts) rather than hardcoding teamsForBusiness. Personal
160-
// accounts have no supported provider (Skype consumer was retired in 2025),
161-
// so joinUrl stays null there regardless.
158+
// Setting isOnlineMeeting alone is enough: Graph initializes `onlineMeeting` from
159+
// it, and `onlineMeetingProvider` is optional. We deliberately do not pin
160+
// teamsForBusiness, since that value is invalid on mailboxes that don't allow it
161+
// (see calendar.allowedOnlineMeetingProviders).
162+
// https://learn.microsoft.com/en-us/graph/api/resources/event
162163
event.isOnlineMeeting = true
163164
}
164165

apps/sim/tools/outlook/calendar_update_event.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,9 @@ export const outlookCalendarUpdateEventTool: ToolConfig<
169169
}
170170

171171
if (params.isOnlineMeeting !== undefined) {
172-
// Let Graph use the mailbox's default online-meeting provider (Teams on
173-
// work/school accounts) rather than hardcoding teamsForBusiness. Personal
174-
// accounts have no supported provider (Skype consumer was retired in 2025).
172+
// See calendar_create_event: isOnlineMeeting alone initializes `onlineMeeting`, and
173+
// pinning a provider would break mailboxes that disallow it. Note Graph ignores
174+
// further changes once a meeting has been made online.
175175
event.isOnlineMeeting = toBool(params.isOnlineMeeting)
176176
}
177177

0 commit comments

Comments
 (0)