Skip to content

Commit

Permalink
Merge pull request #16261 from MicrosoftDocs/main
Browse files Browse the repository at this point in the history
Publish main to live, 12/30/24, 3:30 PM PT
  • Loading branch information
Ruchika-mittal01 authored Dec 30, 2024
2 parents ec62de8 + c977a65 commit 9d17f14
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 51 deletions.
89 changes: 45 additions & 44 deletions Teams/collaboration-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,111 +21,112 @@ description: Learn about how to integrate custom collaboration applications with

# Integrate custom collaboration applications with Microsoft 365

This article provides an overview of collaboration-related integrations in Microsoft 365 services. This may be of interest to independent software developers (ISVs) developing applications that integrate with Microsoft 365. Resources to learn how to create these types of integrations in any application are included in the following sections. APIs are also available to export data from Teams for use in such custom applications.
This article provides an overview of collaboration-related integrations in Microsoft 365 services. This topic may be of interest to independent software developers (ISVs) developing applications that integrate with Microsoft 365. Resources to learn how to create these types of integrations in any application are included in the following sections. APIs are also available to export data from Teams for use in such custom applications.

## Collaboration services in Microsoft 365

Microsoft 365 provides standard application programming interfaces (APIs) to all developers to enable integrations, including the functionality relied upon by Microsoft product and services for such integrations. Developers can use these APIs to create many similar experiences in their own applications.

#### User account management
### User account management

Microsoft 365 uses Microsoft Entra ID for authentication and authorization of users, including people outside your organization (B2B guests), and for maintaining user profile information.

Microsoft Entra authentication is used by Microsoft 365 web applications such as SharePoint and OneDrive, and by client applications such as Outlook and Teams. User profile information is viewable by users in a variety of places in Microsoft 365 and its associated applications.
Microsoft Entra authentication is used by Microsoft 365 web applications such as SharePoint and OneDrive, and by client applications such as Outlook and Teams. User profile information is viewable by users in various places in Microsoft 365 and its associated applications.

Microsoft documents and makes available the APIs necessary to create these experiences in your custom applications:

- [person resource type](/graph/api/resources/person)
- [List directReports](/graph/api/user-list-directreports)
- [List manager](/graph/api/user-list-manager)
- [Person resource type](/graph/api/resources/person).
- [List directReports](/graph/api/user-list-directreports).
- [List manager](/graph/api/user-list-manager).

Microsoft 365 groups are used to give groups of users access to a set of related applications, including SharePoint, Planner, and Teams. Microsoft documents and makes available the APIs necessary to create these experiences in your custom applications:

- [group resource type](/graph/api/resources/group)
- [group resource type](/graph/api/resources/group).

#### Calendar management

Microsoft 365 uses Exchange Online to manage users’ mailboxes and calendars. Mail and calendar information is made available to users in applications such as Outlook and Teams. Microsoft documents and makes available the APIs necessary to create these experiences in your custom applications:

- [calendar resource type](/graph/api/resources/calendar)
- [calendar resource type](/graph/api/resources/calendar).

#### File management

Microsoft 365 uses SharePoint and OneDrive for all file storage and sharing. The files APIs allow any application to access and modify files.

Microsoft 365 uses insights to provide lists of documents that are trending, or that a user has viewed, modified, or shared. For example, OneDrive provides this information to users. These insights are available to any application via the Office Graph Insights API.
Microsoft 365 uses insights to provide lists of documents that are trending, or that a user viewed, modified, or shared. For example, OneDrive provides this information to users. These insights are available to any application via the Office Graph Insights API.

Microsoft documents and makes available the APIs necessary to create these experiences in custom applications:

- [Working with files in Microsoft Graph](/graph/api/resources/onedrive)
- [Permission resource type](/graph/api/resources/permission)
- [officeGraphInsights resource type](/graph/api/resources/officegraphinsights)
- [Working with files in Microsoft Graph](/graph/api/resources/onedrive).
- [Permission resource type](/graph/api/resources/permission).
- [officeGraphInsights resource type](/graph/api/resources/officegraphinsights).

#### Search

Microsoft 365 uses a unified search engine to cover many different experiences from a single interface. This can be extended to other applications by using the Microsoft Search API. Microsoft documents and makes available the APIs necessary to create these experiences in your custom applications:
Microsoft 365 uses a unified search engine to cover many different experiences from a single interface. This search can be extended to other applications by using the Microsoft Search API. Microsoft documents and makes available the APIs necessary to create these experiences in your custom applications:

- [Overview of the Microsoft Search API in Microsoft Graph](/graph/search-concept-overview)
- [Overview of the Microsoft Search API in Microsoft Graph](/graph/search-concept-overview).

## Exporting Messages and other Media from Microsoft Teams

Once you’ve integrated your custom application with Microsoft 365, you can export direct messages, group messages, channel posts (including their replies), call and meeting transcripts and recordings from Teams by using published APIs.
Once you integrated your custom application with Microsoft 365, you can export direct messages, group messages, channel posts (including their replies), call and meeting transcripts and recordings from Teams by using published APIs.

> [!NOTE]
> Some of the APIs listed below are metered and have costs associated with their use.
> Some of the following APIs are metered and have costs associated with their use.
#### Direct messages, group messages, and meeting messages
### Direct messages, group messages, and meeting messages

Teams includes direct messages (1-on-1 chats), group chats, and chats associated with meetings. Messages in Teams may contain pain text, rich HTML, images, links, etc. Microsoft documents and makes available the APIs necessary to export this data out of Microsoft Teams:
Teams includes direct messages (one-to-one chats), group chats, and chats associated with meetings. Messages in Teams may contain plain text, rich HTML, images, links, etc. Microsoft documents and makes available the APIs necessary to export this data out of Microsoft Teams:

- [List Chats](/graph/api/chat-list)
- [Get Chat](/graph/api/chat-get)
- [List members of a Chat](/graph/api/chat-list-members)
- [Get chatMessage in a channel or chat](/graph/api/chatmessage-get)
- [chats: getAllMessages](/graph/api/chats-getallmessages)
- [List Chats](/graph/api/chat-list).
- [Get Chat](/graph/api/chat-get).
- [List members of a Chat](/graph/api/chat-list-members).
- [Get chatMessage in a channel or chat](/graph/api/chatmessage-get).
- [chats: getAllMessages](/graph/api/chats-getallmessages).

#### Channel posts

Channel posts, also known as threaded conversations, are conversations that occur in a Teams channel. Microsoft documents and makes available the APIs necessary to export this data out of Teams:

- [List joinedTeams](/graph/api/user-list-joinedteams)
- [List teams](/graph/api/teams-list)
- [List Channels](/graph/api/channel-list)
- [List allChannels](/graph/api/team-list-allchannels)
- [Get Channel](/graph/api/channel-get)
- [List members of a channel](/graph/api/channel-list-members)
- [Get chatMessage in a channel or chat](/graph/api/chatmessage-get)
- [channel: getAllMessages](/graph/api/channel-getallmessages)
- [List joinedTeams](/graph/api/user-list-joinedteams).
- [List teams](/graph/api/teams-list).
- [List Channels](/graph/api/channel-list).
- [List allChannels](/graph/api/team-list-allchannels).
- [Get Channel](/graph/api/channel-get).
- [List members of a channel](/graph/api/channel-list-members).
- [Get chatMessage in a channel or chat](/graph/api/chatmessage-get).
- [channel: getAllMessages](/graph/api/channel-getallmessages).

#### Meeting recordings and transcripts

Recordings of Teams meetings and calls are stored in OneDrive or SharePoint. Microsoft documents and makes available the APIs necessary to export this data out of Teams:

- [List recordings](/graph/api/onlinemeeting-list-recordings)
- [Get callRecording](/graph/api/callrecording-get)
- [onlineMeeting: getAllRecordings](/graph/api/onlinemeeting-getallrecordings)
- [List recordings](/graph/api/onlinemeeting-list-recordings).
- [Get callRecording](/graph/api/callrecording-get).
- [onlineMeeting: getAllRecordings](/graph/api/onlinemeeting-getallrecordings).

> [!NOTE]
> The APIs to list and download call/meeting recordings are currently in beta.
Transcripts of Teams meetings and calls are stored in OneDrive and SharePoint. Microsoft documents and makes available the APIs necessary to export this data out of Teams:

- [List callTranscripts](/microsoftteams/platform/graph-api/meeting-transcripts/api-transcripts#list-calltranscripts)
- [Get callTranscript](/microsoftteams/platform/graph-api/meeting-transcripts/api-transcripts#get-calltranscript)
- [Get callTranscript content](/microsoftteams/platform/graph-api/meeting-transcripts/api-transcripts#get-calltranscript-content)
- [List callTranscripts](/microsoftteams/platform/graph-api/meeting-transcripts/api-transcripts#list-calltranscripts).
- [Get callTranscript](/microsoftteams/platform/graph-api/meeting-transcripts/api-transcripts#get-calltranscript).
- [Get callTranscript content](/microsoftteams/platform/graph-api/meeting-transcripts/api-transcripts#get-calltranscript-content).

You can use the following APIs to get Teams meeting recordings and transcripts:

- [List available drives](/onedrive/developer/rest-api/api/drive_list)
- [Get Drive](/onedrive/developer/rest-api/api/drive_get)
- [List items shared with the signed-in user](/onedrive/developer/rest-api/api/drive_sharedwithme)
- [Download the contents of a DriveItem](/onedrive/developer/rest-api/api/driveitem_get_content)
- [List available drives](/onedrive/developer/rest-api/api/drive_list).
- [Get Drive](/onedrive/developer/rest-api/api/drive_get).
- [List items shared with the signed-in user](/onedrive/developer/rest-api/api/drive_sharedwithme).
- [Download the contents of a DriveItem](/onedrive/developer/rest-api/api/driveitem_get_content).

## Support

As you start working with Microsoft Graph, check out these references to get started:

- [Get started with Microsoft Graph Toolkit](/graph/toolkit/get-started/overview)
- [Best practices for working with Microsoft Graph](/graph/best-practices-concept)
- [Get started with Microsoft Graph Toolkit](/graph/toolkit/get-started/overview).
- [Best practices for working with Microsoft Graph](/graph/best-practices-concept).
- [Export options for switching from Microsoft Teams](migration-from-teams.md).

Developers who are working with and implementing the scenarios described in this article can obtain assistance from Microsoft and its engineers, including managed technical support, by emailing [[email protected]](mailto:[email protected]).
Developers and admins who are working with and implementing the scenarios described in this article can obtain assistance from Microsoft and its engineers, including managed technical support, by emailing [[email protected]](mailto:[email protected]).
96 changes: 96 additions & 0 deletions Teams/migration-from-teams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
title: Export options for switching from Microsoft Teams
ms.author: heidip
author: MicrosoftHeidi
manager: jtremper
ms.topic: article
ms.date: 12/30/2024
ms.service: msteams
audience: admin
ms.collection:
- M365-collaboration
- m365initiative-deployteams
ms.reviewer: freda.li
search.appverid: MET150
f1.keywords:
- NOCSH
description: Guidance on exporting data when migrating from Microsoft Teams to a third-party application.
appliesto:
- Microsoft Teams
ms.localizationpriority: medium
---

# Export options for switching from Microsoft Teams

Microsoft supports customer choice, including enabling the export of data at no charge when switching from Teams to another provider. For any customer who prefers to use Teams Export APIs, refer to [Steps to access the Teams Export APIs](#steps-to-access-the-teams-export-apis).

In addition to the APIs, Teams now offers a brand-new data export tool for small to medium-sized customers to export data when switching. This tool allows for unlimited exports during a 90-day period with just a single action in the Teams admin center. For more information about how to use the tool, refer to [Steps to access the Teams data export tool](#steps-to-access-the-teams-data-export-tool).

## Steps to access the Teams data export tool

1. To export your data from Microsoft Teams for switching and access the tool at no charge, select [this link](https://aka.ms/AccessTeamsDataExportTool) to contact support through the Teams admin center.
1. Choose your preferred method of contact: email or phone. Make sure to have the following information ready.
1. Title: Use a predefined title.
1. Description: Provide an estimate of the size of your tenant and confirmation that you are accessing the tool for the purpose of switching from Teams.
1. The tool supports the export of data for tenants of up to 500 users.
1. When we receive your request, we begin processing it and notify you when you can access the tool.

### Access the Teams data export tool

Exporting data may involve your confidential, personal, and sensitive data. Note the following considerations:

- **Access role**: As the tool gives access to sensitive Teams data, you need to sign in to the Teams admin center as the global administrator to access it.
- **Duration**: You can use the tool for up to 90 days from the time the access is provided to the tool.
- **Download window**: After the data is prepared, you'll download a ZIP file with a series of JSON files. When the download link becomes available, you have 24 hours to download it.

> [!NOTE]
> When you start exporting data or when an export is in progress, any new data created during or after the export is not included. To capture the content that is not included, you can do another export within the 90 days.
### What the Teams data export tool supports

The data exported through the tool closely resembles the data exported through the Teams Export APIs. For more details, refer to [Export content with the Microsoft Teams Export APIs](export-teams-content.md).

The Teams data export tool allows you to export the following from Microsoft Teams:

- 1:1 chats
- Group chats
- Meeting chats
- Channel messages

The Teams data export tool also supports the following data:

- **Team and Channel structure**: The Teams data export tool supports the Team and Channels structure. Channels are specific collaboration spaces within a team where members can focus on topics, projects, or departments.
- **User/Roster**: The Teams data export tool supports exporting the list of users who are part of a specific team or channel, including details about each user's roles.
- **Apps**: The Teams data export tool supports exporting the list of installed apps for a channel.

### What the ZIP file includes

|File name |Note |Public documentation |
|----------|-----|---------------------|
|/users/usersList.json |List of all users with user details |[List users](/graph/api/user-list) |
|/users/{userId}/messages_{userId}.json |List of messages for a user |[chats: getAllMessages](/graph/api/chats-getallmessages) |
|/users/{userId}/retainedMessages_{userId}.json |List of edit message history of a user |[chat: getAllRetainedMessages](/graph/api/chat-getallretainedmessages) |
|/users/{userId}/meetings_{userId}.json |List of meetings user is part of |[List events](/graph/api/calendar-list-events) |
|/users/{userId}/meetingRecordings_{userId}.json |List of meeting recordings links organized by a user |[onlineMeeting: getAllRecordings](/graph/api/onlinemeeting-getallrecordings) |
|/users/{userId}/meetingTranscripts_{userId}.json |List of meeting transcript links organized by a user |[onlineMeeting: getAllTranscripts](/graph/api/onlinemeeting-getalltranscripts) |
|/teams/teamsList |List of teams |[List groups](/graph/api/group-list) |
|/teams/teamsSettings |Team settings of all teams |[Get team](/graph/api/team-get) |
|/teams/{teamId}/teamMembers_{teamId}.json |List of members of a team |[List members of team](/graph/api/team-list-members) |
|/teams/{teamId}/messages_{teamId}.json |List of messages for a team |[channel: getAllMessages](/graph/api/channel-getallmessages) |
|/teams/{teamId}/retainedMessages_{teamId}.json |Message edit history of a team |[channel: getAllRetainedMessages](/graph/api/channel-getallretainedmessages) |
|/teams/{teamId}/teamInstalledApps_{teamId}.json |List of installed apps of a team |[List apps in team](/graph/api/team-list-installedapps) |
|/teams/{teamId}/groupEvents_{teamdId}.json |List of meetings for a team |[List calendarView](/graph/api/calendar-list-calendarview) |
|/teams/{teamId}/channels_{teamId}.json |List of channels for a team |[List allChannels](/graph/api/team-list-allchannels) |
|/teams/{teamId}/channels/{channelId}/channelMembers.json |List of members of a channel (Only available for shared and private channels; standard channel members are the same as teams member.) |[List members of a channel](/graph/api/channel-list-members) |

## Steps to access the Teams Export APIs

1. To export your data out of Microsoft Teams by using the Export APIs directly at no charge, select [this link](https://aka.ms/Teamsexportbillingsuspension) to contact support through the Teams admin center.
1. Choose your preferred method of contact: email or phone. Make sure to have the following information ready.
1. Title: Use a predefined title.
1. Description: Provide confirmation that you are exporting through the Teams Export APIs for the purpose of switching from Teams.
1. When we receive your request, we begin the evaluation process and notify you when you can access the APIs at no charge to customer charge.

### Access the Teams Export APIs

To learn more about which data we support to export using the Teams Export APIs, see [Export content with the Microsoft Teams Export APIs](export-teams-content.md).
Loading

0 comments on commit 9d17f14

Please sign in to comment.