This is sandbox for the Microsoft Outlook Sandbox API, using an OpenAPI specification with examples, Microcks and Bruno as the sandbox interface, and this GitHub repository as the vehicle for delivering as a localized sandbox, or also enabling the working directly with production APIs.
There is an APIs.yml file in the root of this repository, providing an index of all the artifacts used as part of this capability, providing a machine-readable way to read, manage, and execute the resources available here.
This capability uses OpenAPI as the definition, providing a complete definition of all available paths for the Microsoft Outlook Sandbox. The OpenAPI for this capability uses examples and Microcks extensions to mock the requests and responses for each API operation, something we will iterate and expand upon with richer examples as the capability evolves.
This capability uses Microcks to deliver the mock API. You just install Microcks, with the Docker extension being the easiest, import the OpenAPI as a service, and you have a mocked API for all APIs, available via REST and MCP APIs--providing a multi-protocol sandbox.
This capability uses Bruno as the client, leveraging Bruno Collections pre-generated from the OpenAPI and Bruno environments that uses the localhost and port of Microcks to work with the mocked API. You just have to install Microcks, then open the collection provided in this repository, select the available environments, and begin calling the Microsoft Outlook Sandbox via the sandbox or production.
These are the OpenAPIs available for the Microsoft Outlook Sandbox, which are made available via this sandbox API, which can be imported into Microcks and deployed as a sandbox using their mock feature.
These are the agent skills available for the Microsoft Outlook Sandbox, providing a discrete list of capabilities that AI agents can use when working with Microsoft Outlook mail and calendar via the Microsoft Graph API. Each skill maps directly to an OpenAPI operation, making it easy for agents to discover and invoke the right capability for a given task.
- List User Calendars (
listUserCalendars) — Get all calendars for the signed-in user with optional filtering and pagination. - Create User Calendar (
createUserCalendar) — Create a new calendar in the default or specified calendar group. - Get User Calendar (
getUserCalendar) — Get properties and relationships of a single calendar by its ID. - Update User Calendar (
patchUserCalendar) — Update calendar properties such as name and color. - Delete User Calendar (
deleteUserCalendar) — Delete a calendar, moving it to deleted items. - Permanently Delete Calendar (
permanentDeleteUserCalendar) — Permanently delete a calendar folder from the mailbox with no recovery option.
- List Calendar Group Calendars (
listCalendarGroupCalendars) — Get calendars in a specific calendar group. - Create Calendar in Group (
createCalendarGroupCalendar) — Create a new calendar in a specified calendar group.
- Get Group Calendar (
getGroupCalendar) — Get the default calendar of a Microsoft 365 group. - Update Group Calendar (
patchGroupCalendar) — Update properties of a Microsoft 365 group calendar.
- List Primary Calendar View (
listPrimaryCalendarView) — Get events in the primary calendar for a specified time range. - List Calendar View by Calendar (
listCalendarViewByCalendar) — Get events in a specific calendar for a specified time range.
- List Calendar Events (
listCalendarEvents) — Get all events in a specified calendar. - Create Calendar Event (
createCalendarEvent) — Create a new event in a specified calendar. - Create Default Calendar Event (
createDefaultCalendarEvent) — Create a new event in the user's default calendar.
- Get Free/Busy Schedule (
getFreeBusySchedule) — Get free/busy availability information for users and groups over a time range. - Find Meeting Time Suggestions (
findMeetingTimeSuggestions) — Suggest meeting times based on participants' availability and constraints.
- Create Single-Value Property (
createCalendarSingleValueProperty) — Create a single-value extended MAPI property on a calendar. - Create Multi-Value Property (
createCalendarMultiValueProperty) — Create a multi-value extended MAPI property on a calendar.
- List Messages (
listMessages) — Get messages in the signed-in user's mailbox with filtering, search, and pagination. - Create Draft Message (
createMessage) — Create a draft message with support for delegation via from/sender properties. - Get Message (
getMessage) — Get the properties and relationships of a message by its ID. - Update Message (
updateMessage) — Update properties of a message such as subject, body, or read status. - Delete Message (
deleteMessage) — Delete a message from the user's mailbox. - Reply to Message (
replyToMessage) — Reply to the sender of a message with an optional comment. - Reply All to Message (
replyAllToMessage) — Reply to all recipients of a message with an optional comment. - Forward Message (
forwardMessage) — Forward a message to one or more recipients with an optional comment. - Send Mail (
sendMail) — Send a new message in JSON or MIME format with optional save to sent items. - Send Draft Message (
sendDraftMessage) — Send an existing draft message from the user's mailbox.
- Get Message MIME Content (
getMessageMimeContent) — Get the MIME representation of a message including any attachments. - Get Attachment Content (
getAttachmentContent) — Get the raw binary content of a message attachment.
- List Attachments (
listAttachments) — Get all attachments on a message. - Add Attachment (
createAttachment) — Add a file, item, or reference attachment to a message. - Get Attachment (
getAttachment) — Get a single attachment by its ID. - Delete Attachment (
deleteAttachment) — Delete an attachment from a message.
- List Mail Folders (
listMailFolders) — Get all mail folders in the user's mailbox. - Create Mail Folder (
createMailFolder) — Create a new mail folder in the mailbox root. - Get Mail Folder (
getMailFolder) — Get a mail folder by its ID. - Update Mail Folder (
updateMailFolder) — Update mail folder properties such as display name. - Delete Mail Folder (
deleteMailFolder) — Delete a mail folder and its contents. - List Folder Messages (
listMailFolderMessages) — Get messages in a specific mail folder. - List Child Folders (
listChildFolders) — Get child folders under a specified mail folder. - Create Child Folder (
createChildFolder) — Create a child folder under a specified parent folder. - Copy Mail Folder (
copyMailFolder) — Copy a mail folder and its contents to a destination folder. - Move Mail Folder (
moveMailFolder) — Move a mail folder to a different destination folder.
- Create Search Folder (
createMailSearchFolder) — Create a search folder to dynamically query messages with a filter. - Get Search Folder (
getMailSearchFolder) — Get a mail search folder by its ID. - Update Search Folder (
updateMailSearchFolder) — Update a search folder's filter query or source folders. - Delete Search Folder (
deleteMailSearchFolder) — Delete a mail search folder.
- List Categories (
listCategories) — Get all Outlook color categories defined for the user. - Create Category (
createCategory) — Create a new Outlook color category. - Get Category (
getCategory) — Get an Outlook category by its ID. - Update Category (
updateCategory) — Update an Outlook category's name or color. - Delete Category (
deleteCategory) — Delete an Outlook category.
- List Inbox Rules (
listMessageRules) — Get all message rules defined for the user's inbox. - Create Inbox Rule (
createMessageRule) — Create a rule to automate actions such as forwarding specific messages. - Get Inbox Rule (
getMessageRule) — Get an inbox message rule by its ID. - Update Inbox Rule (
updateMessageRule) — Update an inbox message rule's conditions or actions. - Delete Inbox Rule (
deleteMessageRule) — Delete an inbox message rule.
- List Focused Inbox Overrides (
listInferenceClassificationOverrides) — Get overrides for classifying messages from specific senders as focused or other. - Create Focused Inbox Override (
createInferenceClassificationOverride) — Create an override to always classify messages from a sender as focused or other. - Get Focused Inbox Override (
getInferenceClassificationOverride) — Get a Focused Inbox classification override by its ID. - Update Focused Inbox Override (
updateInferenceClassificationOverride) — Update a Focused Inbox classification override. - Delete Focused Inbox Override (
deleteInferenceClassificationOverride) — Delete a Focused Inbox classification override.
- Get Mailbox Settings (
getMailboxSettings) — Get the user's mailbox settings including automatic replies, locale, time zone, and working hours. - Update Mailbox Settings (
updateMailboxSettings) — Update one or more mailbox settings such as automatic replies or time zone.
- List Supported Languages (
listSupportedLanguages) — Get the list of locales and languages supported for the user. - List Supported Time Zones (
listSupportedTimeZones) — Get the list of time zones supported for the user in Windows or IANA format.
- Get Mail Tips (
getMailTips) — Get MailTips for recipients including out-of-office status and delivery restrictions.
- List Subscriptions (
listSubscriptions) — Get all webhook subscriptions for change notifications. - Create Subscription (
createSubscription) — Subscribe to change notifications for messages in a folder. - Get Subscription (
getSubscription) — Get a webhook subscription by its ID. - Renew Subscription (
renewSubscription) — Renew a webhook subscription's expiration date. - Delete Subscription (
deleteSubscription) — Delete a webhook subscription.
- Get Mail Folder Delta (
getMailFolderDelta) — Get incremental changes to mail folders using delta queries. - Get Message Delta (
getMessageDelta) — Get incremental changes to messages in a folder using delta queries.
- Get Message Trace (
getMessageTrace) — Trace a message through the Exchange Online organization to see routing and delivery events.
- List Extensions (
listExtensions) — Get open type extensions on a message for custom app data. - Create Open Extension (
createOpenExtension) — Create an open type extension to store custom app data on a message. - Get Extension (
getExtension) — Get an open type extension on a message by its ID. - Update Open Extension (
updateOpenExtension) — Update an open type extension on a message. - Delete Extension (
deleteExtension) — Delete an open type extension from a message.
- List Single-Value Properties (
listSingleValueExtendedProperties) — Get single-value extended MAPI properties on a message. - Create Single-Value Property (
createSingleValueExtendedProperty) — Create a single-value extended MAPI property on a message. - List Multi-Value Properties (
listMultiValueExtendedProperties) — Get multi-value extended MAPI properties on a message. - Create Multi-Value Property (
createMultiValueExtendedProperty) — Create a multi-value extended MAPI property on a message.
Please provide any questions or feedback via GitHub issues, or just email kinlane@naftiko.io with feedback. The goal is to keep iterating upon this sandboxes using existing OpenAPI, Microcks, and Bruno features, offering value out of the box via this forkable capability.