This is sandbox for the Microsoft Teams 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 Teams 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 Teams Sandbox via the sandbox or production.
These are the OpenAPIs available for the Microsoft Teams 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 Teams Sandbox, providing a discrete list of capabilities that AI agents can use when working with Microsoft Teams 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 All Teams (
listTeams) — Retrieve a list of teams the caller is a member of. - Create Team (
createTeam) — Create a new team. - Get Team (
getTeam) — Get a team by its ID. - Update Team (
updateTeam) — Update a team's properties. - Delete Team (
deleteTeam) — Delete a team.
- List Groups (
listGroups) — List Microsoft 365 groups. - Create Group (
createGroup) — Create a new Microsoft 365 group. - Get Group (
getGroup) — Get a group by its ID. - Update Group (
updateGroup) — Update a group's properties. - Delete Group (
deleteGroup) — Delete a group.
- List Channels (
listChannels) — List channels in a team. - Create Channel (
createChannel) — Create a new channel in a team. - Get Channel (
getChannel) — Get a channel by its ID. - Update Channel (
updateChannel) — Update a channel's properties. - Delete Channel (
deleteChannel) — Delete a channel.
- List Channel Tabs (
listTabs) — List tabs in a channel. - Add Tab to Channel (
createTab) — Add a tab to a channel. - Get Tab (
getTab) — Get a tab by its ID. - Update Tab (
updateTab) — Update a tab's properties. - Remove Tab (
deleteTab) — Remove a tab from a channel.
- List Teams Apps (
listApps) — List apps in the Teams app catalog. - Publish App to Catalog (
publishApp) — Publish an app to the Teams app catalog. - Get App (
getApp) — Get an app from the catalog by its ID. - Delete App from Catalog (
deleteApp) — Remove an app from the catalog.
- List Installed Apps (
listTeamInstalledApps) — List apps installed in a team. - Install App to Team (
installAppToTeam) — Install an app to a team. - Uninstall App from Team (
uninstallAppFromTeam) — Uninstall an app from a team.
- List Chats (
listChats) — List chats for the signed-in user. - Create Chat (
createChat) — Create a new one-on-one or group chat. - Get Chat (
getChat) — Get a chat by its ID. - Update Chat (
updateChat) — Update a chat's properties such as topic.
- List Chat Messages (
listChatMessages) — List messages in a chat. - Send Chat Message (
sendChatMessage) — Send a message in a chat. - List Channel Messages (
listChannelMessages) — List messages in a channel. - Send Channel Message (
sendChannelMessage) — Send a message to a channel. - List Message Replies (
listMessageReplies) — List replies to a channel message. - Reply to Channel Message (
replyToChannelMessage) — Reply to a channel message.
- List Team Tags (
listTeamworkTags) — List tags in a team. - Create Team Tag (
createTeamworkTag) — Create a tag in a team. - Get Team Tag (
getTeamworkTag) — Get a tag by its ID. - Update Team Tag (
updateTeamworkTag) — Update a tag's properties. - Delete Team Tag (
deleteTeamworkTag) — Delete a tag from a team. - List Tag Members (
listTeamworkTagMembers) — List members of a tag. - Add Tag Member (
addTeamworkTagMember) — Add a member to a tag.
- Create Call (
createCall) — Create an outgoing call. - Get Call (
getCall) — Get a call by its ID. - End Call (
deleteCall) — Hang up or cancel a call. - Answer Call (
answerCall) — Answer an incoming call. - Invite Participants (
inviteParticipants) — Invite participants to a call.
- Play Prompt (
playPrompt) — Play a media prompt in a call for IVR scenarios. - Record Response (
recordResponse) — Record a response from a call participant for IVR scenarios. - Transfer Call (
transferCall) — Transfer a call to another participant.
- List Call Records (
listCallRecords) — List call records. - Get Call Record (
getCallRecord) — Get a call record by its ID. - List Call Record Sessions (
listCallRecordSessions) — List sessions in a call record.
- List Online Meetings (
listOnlineMeetings) — List online meetings for the signed-in user. - Create Online Meeting (
createOnlineMeeting) — Create an online meeting. - Get Online Meeting (
getOnlineMeeting) — Get an online meeting by its ID. - Update Online Meeting (
updateOnlineMeeting) — Update an online meeting's properties. - Delete Online Meeting (
deleteOnlineMeeting) — Delete an online meeting. - Get Attendance Report (
getMeetingAttendanceReport) — Get the attendance report of an online meeting.
- Get My Presence (
getMyPresence) — Get the presence status of the signed-in user. - Get User Presence (
getUserPresence) — Get the presence status of a specific user. - Get Presences for Multiple Users (
getPresencesByUserId) — Get presence information for multiple users at once.
- List Workforce Integrations (
listWorkforceIntegrations) — List workforce integrations. - Create Workforce Integration (
createWorkforceIntegration) — Create a workforce integration. - Get Workforce Integration (
getWorkforceIntegration) — Get a workforce integration by its ID. - Update Workforce Integration (
updateWorkforceIntegration) — Update a workforce integration. - Delete Workforce Integration (
deleteWorkforceIntegration) — Delete a workforce integration.
- Get Team Schedule (
getSchedule) — Get the schedule for a team. - Create or Replace Schedule (
createOrReplaceSchedule) — Create or replace a schedule for a team.
- List Shifts (
listShifts) — List shifts in a schedule. - Create Shift (
createShift) — Create a new shift. - Get Shift (
getShift) — Get a shift by its ID. - Replace Shift (
replaceShift) — Replace a shift. - Delete Shift (
deleteShift) — Delete a shift. - List Time Cards (
listTimeCards) — List time cards in a schedule. - Get Time Card (
getTimeCard) — Get a time card by its ID. - Clock In (
clockIn) — Clock in on a time card. - Clock Out (
clockOut) — Clock out on a time card.
- List Time Off Entries (
listTimesOff) — List time off entries in a schedule. - Create Time Off Entry (
createTimeOff) — Create a time off entry. - Get Time Off Entry (
getTimeOff) — Get a time off entry by its ID. - Replace Time Off Entry (
replaceTimeOff) — Replace a time off entry. - Delete Time Off Entry (
deleteTimeOff) — Delete a time off entry. - List Time Off Reasons (
listTimeOffReasons) — List time off reasons in a schedule. - Create Time Off Reason (
createTimeOffReason) — Create a time off reason.
- List Learning Providers (
listLearningProviders) — List registered learning providers. - Register Learning Provider (
createLearningProvider) — Register a new learning provider. - Get Learning Provider (
getLearningProvider) — Get a learning provider by its ID. - Update Learning Provider (
updateLearningProvider) — Update a learning provider. - Delete Learning Provider (
deleteLearningProvider) — Delete a learning provider. - List Learning Content (
listLearningContents) — List learning content from a provider. - Create Learning Content (
createLearningContent) — Create learning content for a provider. - Get Learning Content (
getLearningContent) — Get a learning content item by its ID. - Update Learning Content (
updateLearningContent) — Update learning content. - Delete Learning Content (
deleteLearningContent) — Delete learning content.
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.