skills/get-free-busy-schedule/SKILL.md
# Get Free/Busy Schedule Retrieves the free/busy availability information for a collection of users and distribution lists. Use this operation to check people's availability before scheduling a meeting. ## API Details - **API**: Microsoft Outlook Calendar API - **Method**: POST - **Path**: `/me/calendar/getSchedule` - **Operation ID**: `getFreeBusySchedule` - **Tag**: Schedules - **OpenAPI**: [microsoft-outlook-calendar-api.yaml](../../openapi/microsoft-outlook-calendar-api.yaml) ## Sandbox
npx skillsauth add naftiko/microsoft-outlook-sandbox skills/get-free-busy-scheduleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Retrieves the free/busy availability information for a collection of users and distribution lists. Use this operation to check people's availability before scheduling a meeting.
/me/calendar/getSchedulegetFreeBusyScheduleMock server URL: http://localhost:8080/rest/microsoft-outlook-calendar-api/1.0.0/me/calendar/getSchedule
Authorization: Bearer {access-token}Content-Type: application/jsonCalendars.ReadCalendars.ReadWriteCalendars.Read.SharedCalendars.ReadWrite.Shared| Property | Type | Required | Description |
|----------|------|----------|-------------|
| schedules | array | Yes | Array of email addresses to check availability for |
| startTime | object | Yes | Start of the time range with dateTime and timeZone properties |
| endTime | object | Yes | End of the time range with dateTime and timeZone properties |
| availabilityViewInterval | integer | No | Duration of each time slot in minutes (default: 30) |
curl -X POST "http://localhost:8080/rest/microsoft-outlook-calendar-api/1.0.0/me/calendar/getSchedule" \
-H "Authorization: Bearer {access-token}" \
-H "Content-Type: application/json" \
-d '{
"schedules": ["[email protected]", "[email protected]"],
"startTime": {
"dateTime": "2025-06-16T09:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2025-06-16T18:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": 30
}'
{
"value": [
{
"scheduleId": "[email protected]",
"availabilityView": "0020000020000000000000000000000000",
"scheduleItems": [
{
"status": "busy",
"start": {
"dateTime": "2025-06-16T10:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2025-06-16T11:00:00",
"timeZone": "Pacific Standard Time"
},
"subject": "Team Standup"
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00",
"endTime": "17:00:00",
"timeZone": {
"name": "Pacific Standard Time"
}
}
}
]
}
Use this operation when you need to check the availability of one or more users before scheduling a meeting. Provide the email addresses of the people to check, along with the time range. The availabilityView string uses digits to represent availability in each time slot: 0 = free, 1 = tentative, 2 = busy, 3 = out of office, 4 = working elsewhere. The scheduleItems array provides detailed information about each busy period.
tools
# Update Open Extension Update an existing open type extension on a message. ## API Details - **API**: Microsoft Outlook Mail API - **Method**: PATCH - **Path**: `/me/messages/{message-id}/extensions/{extension-id}` - **Operation ID**: `updateOpenExtension` - **Tag**: Extensions - **OpenAPI**: [microsoft-outlook-mail-api.yaml](../../openapi/microsoft-outlook-mail-api.yaml) ## Sandbox Mock server URL: `http://localhost:8080/rest/microsoft-outlook-mail-api/1.0.0/me/messages/{message-id}/exten
development
# Update Message Updates the properties of an existing message in the signed-in user's mailbox, such as marking it as read or changing its importance. ## API Details - **API**: Microsoft Outlook Mail API - **Method**: PATCH - **Path**: `/me/messages/{message-id}` - **Operation ID**: `updateMessage` - **Tag**: Messages - **OpenAPI**: [microsoft-outlook-mail-api.yaml](../../openapi/microsoft-outlook-mail-api.yaml) ## Sandbox Mock server URL: `http://localhost:8080/rest/microsoft-outlook-mail-
development
# Update Inbox Rule Update the properties of an existing inbox message rule. ## API Details - **API**: Microsoft Outlook Mail API - **Method**: PATCH - **Path**: `/me/mailFolders/inbox/messageRules/{messageRule-id}` - **Operation ID**: `updateMessageRule` - **Tag**: InboxRules - **OpenAPI**: [microsoft-outlook-mail-api.yaml](../../openapi/microsoft-outlook-mail-api.yaml) ## Sandbox Mock server URL: `http://localhost:8080/rest/microsoft-outlook-mail-api/1.0.0/me/mailFolders/inbox/messageRule
development
# Update Mailbox Settings Update the user's mailbox settings such as automatic replies, locale, time zone, or working hours. ## API Details - **API**: Microsoft Outlook Mail API - **Method**: PATCH - **Path**: `/me/mailboxSettings` - **Operation ID**: `updateMailboxSettings` - **Tag**: MailboxSettings - **OpenAPI**: [microsoft-outlook-mail-api.yaml](../../openapi/microsoft-outlook-mail-api.yaml) ## Sandbox Mock server URL: `http://localhost:8080/rest/microsoft-outlook-mail-api/1.0.0/me/mail