-
Notifications
You must be signed in to change notification settings - Fork 534
[Doc Feature] [4595639] New Draft for Migrating External Message to Teams #13193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NehaHEDAU-MSFT
wants to merge
77
commits into
main
Choose a base branch
from
NehaHEDAU-MSFT/Migrating-APIs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+282
−98
Open
Changes from 16 commits
Commits
Show all changes
77 commits
Select commit
Hold shift + click to select a range
707f98b
Created a new draft for migrating external message to Teams
NehaHEDAU-MSFT 46ee76d
updated Note and changed errors for language accuracy
NehaHEDAU-MSFT 534e140
Added Note and Step 2
NehaHEDAU-MSFT 71180f2
made corrections with Acrolinx
NehaHEDAU-MSFT 0c9be99
Added Title
NehaHEDAU-MSFT e8daf73
Made corrections to Title and content
NehaHEDAU-MSFT 5cd4c6e
Fixed errors and resolved issues
NehaHEDAU-MSFT 9ff77d1
changed author
NehaHEDAU-MSFT 7764410
Update new-draft-external-messages-to-teams.md
NehaHEDAU-MSFT d951009
Updated the content for chat migration
NehaHEDAU-MSFT 92871b3
Added Example
NehaHEDAU-MSFT 25afb26
Added content for completing chat and channel migration
NehaHEDAU-MSFT 2775fd2
incorporated internal review changes
NehaHEDAU-MSFT 616767e
added second-level headings
NehaHEDAU-MSFT 970f339
saved file
NehaHEDAU-MSFT 1f1434b
Merge branch 'main' into NehaHEDAU-MSFT/Migrating-APIs
NehaHEDAU-MSFT eb4476d
changes in draft
NehaHEDAU-MSFT c1e3c1e
changes in the content
NehaHEDAU-MSFT d1f96df
renamed file and seperated chat and channel migration APIs
NehaHEDAU-MSFT 734f87e
Changed Step 3
NehaHEDAU-MSFT 9f7ddd5
Merge branch 'main' into NehaHEDAU-MSFT/Migrating-APIs
NehaHEDAU-MSFT ec8b327
Changed the numbering and headings
NehaHEDAU-MSFT 7f6dddf
added permissions and supported channel types
NehaHEDAU-MSFT 11bd1db
made a tunnel
NehaHEDAU-MSFT 37b05a1
updated sections and content
NehaHEDAU-MSFT 1af3bba
removed tunnel
NehaHEDAU-MSFT 3daa96f
Update import-external-platform-messages-to-teams.md
NehaHEDAU-MSFT e055973
end tabset added
NehaHEDAU-MSFT b588849
ending loop component
NehaHEDAU-MSFT debfdbd
incorporated review changes
NehaHEDAU-MSFT a2436ac
Update import-external-platform-messages-to-teams.md
NehaHEDAU-MSFT 957b062
Self review
NehaHEDAU-MSFT a134244
Fixes from SME and peer review
NehaHEDAU-MSFT e5853ea
part 2 changes
NehaHEDAU-MSFT 3902730
Update import-external-platform-messages-to-teams.md
NehaHEDAU-MSFT 65b7c16
Update import-external-platform-messages-to-teams.md
NehaHEDAU-MSFT 7331e29
Review comments addressed part 1
NehaHEDAU-MSFT b896017
Added a Tip
NehaHEDAU-MSFT a93ac0f
review comments part 3
NehaHEDAU-MSFT 6279c57
moved the content scope table and part 3 changes
NehaHEDAU-MSFT 98f0602
final changes and acrolinx
NehaHEDAU-MSFT 874f400
deleted extra table row and added a lead line
NehaHEDAU-MSFT fca0279
Update import-external-platform-messages-to-teams.md
NehaHEDAU-MSFT cf612f3
Update import-external-platform-messages-to-teams.md
NehaHEDAU-MSFT 883ec94
Deleted new file and copied final content
NehaHEDAU-MSFT 326326b
file renamed
NehaHEDAU-MSFT 4f6c180
removed the tunnel
NehaHEDAU-MSFT 45c1dbd
added overview for channel and chat
NehaHEDAU-MSFT 10305fb
explained new and existing chats and channels
NehaHEDAU-MSFT e21aba7
added federated content
NehaHEDAU-MSFT 397cb61
added two paths
NehaHEDAU-MSFT 81c003c
updated content for Path 1
NehaHEDAU-MSFT 8a22417
updated steps as per new flow
NehaHEDAU-MSFT ff088e9
channel migration completion
NehaHEDAU-MSFT 57595ad
internal review incorporated
NehaHEDAU-MSFT aada80c
part 2 changes
NehaHEDAU-MSFT 79fb8ba
internal review comments addressed-part 1
NehaHEDAU-MSFT df5597e
internal review-part 2
NehaHEDAU-MSFT 75a83e1
Update import-external-messages-to-teams.md
NehaHEDAU-MSFT 0fdbb84
Update import-external-messages-to-teams.md
NehaHEDAU-MSFT 4ab2c6c
Merge branch 'main' into NehaHEDAU-MSFT/Migrating-APIs
SukanyaDas-MSFT 0950d1a
Merge branch 'NehaHEDAU-MSFT/Migrating-APIs' of https://github.com/Mi…
SukanyaDas-MSFT 0f116e9
Draft enhancement 1
SukanyaDas-MSFT 9bb04c6
Dev 0 changes
SukanyaDas-MSFT 67296b1
Edits
SukanyaDas-MSFT 6cca850
Update
SukanyaDas-MSFT 9841cf9
Update import-external-messages-to-teams.md
SukanyaDas-MSFT 8aecc36
Update import-external-messages-to-teams.md
SukanyaDas-MSFT bd4260d
Update import-external-messages-to-teams.md
SukanyaDas-MSFT 9733548
Merge branch 'main' into NehaHEDAU-MSFT/Migrating-APIs
SukanyaDas-MSFT ce78a76
PR final updates-SD
SukanyaDas-MSFT e24c7c2
Update import-external-messages-to-teams.md
SukanyaDas-MSFT 714ec08
update to whats new.md
NehaHEDAU-MSFT 2e77e6a
fixed warnings
NehaHEDAU-MSFT d30781c
updated the new optional step
NehaHEDAU-MSFT 7ef9f68
fixed warning
NehaHEDAU-MSFT 943225a
re-worded the example
NehaHEDAU-MSFT File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
150 changes: 150 additions & 0 deletions
150
msteams-platform/graph-api/import-messages/new-draft-external-messages-to-teams.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,150 @@ | ||
| --- | ||
| title: Import External Platform Messages Using Microsoft Graphs | ||
| description: Learn how to use Microsoft Graph to import historical messages and data from all third-party platforms to Teams. | ||
| ms.localizationpriority: high | ||
| author: "surbhigupta" | ||
| ms.topic: overview | ||
| ms.owner: TBD | ||
| ms.date: 01/08/2025 | ||
| --- | ||
|
|
||
| # Use Microsoft Graph to Import Messages from External Platforms to Teams | ||
|
|
||
| You can use Microsoft Graph to migrate existing message history and data from an external system into a Teams channel. This feature enables users to continue conversations without interruption, by recreating the messaging hierarchy from a third-party platform directly within Teams. | ||
NehaHEDAU-MSFT marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| > [!NOTE] | ||
| > In the future, Microsoft might require you or your customers to pay extra fees based on the amount of data imported. | ||
| ## API Migration Workflow | ||
|
|
||
| Use the step-by-step migration flow to ensure a seamless transition of historical messages in both existing and newly created channels or chats by enabling migration mode. | ||
|
|
||
| ## Step-by-Step Migration Flow | ||
|
|
||
| ### 1. Create or select a channel/chat | ||
|
|
||
| Namespace: microsoft.graph | ||
|
|
||
| You can either create a new channel or chat in a Team or use an existing channel or chat. | ||
|
|
||
| > [!NOTE] | ||
NehaHEDAU-MSFT marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| > All APIs listed in the following sections require the `Teamswork.Migrate.All` permission in the application context. Delegated authentication isn't supported. | ||
| ### 2. Use startMigration API to start channel and chat migration | ||
NehaHEDAU-MSFT marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| * Use the startMigration API, to enable migration mode on existing Teams channels/chats, and allow import of historical messages. Previously, import operations were restricted to newly created standard channels and chats in an empty state. Refer [Import third-party platform messages to Teams using Microsoft Graph](import-external-messages-to-teams.md) | ||
|
|
||
| * Define a minimum timestamp for messages to be migrated. The provided timestamp must be older than the channel or chat’s current createdDateTime and replaces it during migration. | ||
|
|
||
| #### 2.1 Channel migration | ||
|
|
||
| * The supported channels are all the existing Shared, Private, and Public channels. You can optionally provide a request body to specify the minimum timestamp for the messages to be migrated. | ||
|
|
||
| #### Channel request | ||
|
|
||
| ```HTTP | ||
| POST /teams/{team-id}/channels/{channel-id}/startMigration | ||
| { | ||
| "conversationCreationDateTime": "2024-01-01T00:00:00Z" | ||
| } | ||
| ``` | ||
|
|
||
| #### 2.2 Chat migration | ||
|
|
||
| * The supported chat types include Group chats and One-on-one (1:1) chats. **Meeting chats are not supported. External members are supported in all applicable chat types.** | ||
| * The startMigration API initiates the message migration process by setting the migrationMode property to **inProgress** for a specified chat. | ||
|
|
||
| #### Chat request | ||
|
|
||
| ```HTTP | ||
| POST /chats/{chat-id}/startMigration | ||
| { | ||
| "conversationCreationDateTime": "2024-01-01T00:00:00Z" | ||
| } | ||
| ``` | ||
|
|
||
| #### Channel and Chat response | ||
|
|
||
| For both channels and chats, if the request is successful, the method returns a **204 No Content** status code. The response body is empty. | ||
|
|
||
| **Example of a request**: | ||
NehaHEDAU-MSFT marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ```HTTP | ||
| POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels/19:[email protected]/startMigration | ||
| { | ||
| “conversationCreationDateTime”: “2024-01-01T00:00:00Z” | ||
| } | ||
| ``` | ||
|
|
||
| Response of the request: | ||
| **HTTP/1.1 204 No Content** | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > * If no request body is provided, the API uses the current date and time as the minimum timestamp. | ||
| > * `conversationCreationDateTime` must be: | ||
| > * Greater than the minimum value for `DateTimeOffset`. | ||
| > * Less than the current value of the channel or chat's `CreatedDateTime`. | ||
| ### 3. Call the GET /channel/chat API to confirm that the **migrationMode** property is set to **inProgress**, after completing step 2 | ||
|
|
||
| ### 4. Import messages using POST API | ||
|
|
||
| Go to [Import third-party platform messages to Teams using Microsoft Graph](import-external-messages-to-teams.md) and use the POST API, to begin sending back-in-time messages. | ||
|
|
||
| ### 5. Complete channel and chat migration | ||
|
|
||
| Namespace: microsoft.graph | ||
|
|
||
| Use the **completeMigration** API to finish the migration process for both new and existing channels and chats. Previously, this operation was limited to newly created Standard channels and chats initiated for the initial migration flow. | ||
|
|
||
| #### 5.1 Complete Channel Migration | ||
|
|
||
| * When a channel is created in migration mode for the initial import flow, calling the **completeMigration** API updates the migrationMode property to completed. **This change is permanent and marks the channel as fully migrated.** | ||
| * After calling completeMigration, you can still import extra messages by using the startMigration API. | ||
|
|
||
| #### Request for Completing Channel Migration | ||
|
|
||
| ```HTTP | ||
| POST /teams/{team-id}/channels/{channel-id}/completeMigration | ||
| ``` | ||
|
|
||
| #### 5.2 Complete Chat Migration | ||
|
|
||
| * For existing chats already in migration mode, call the **completeMigration** API to update the migrationMode property to completed. **This marks the chat as fully migrated.** | ||
| * After calling completeMigration on a new or existing chat, you can continue importing messages by using the startMigration API. | ||
|
|
||
| #### Request for Completing Chat Migration | ||
|
|
||
| ```HTTP | ||
| POST /chats/{chat-id}/completeMigration | ||
| ``` | ||
|
|
||
| > [!IMPORTANT] | ||
| > Don't include a request body when calling this method for channels or chats. If the request is successful, the method returns a 204 No Content status code. The response body is empty. | ||
| > | ||
| > [!NOTE] | ||
| > | ||
| > In Migration Mode: | ||
| > | ||
| > * Certain operations such as sending messages and adding members are restricted. | ||
| > * Calling the completeMigration API means that channel or chat migration is complete and normal operations can resume. | ||
| #### Supported channel or chat types | ||
|
|
||
| |Entity Type |Sub Type |Migration Mode Support |Notes| | ||
| |---------|---------|---------|---------| | ||
| |**Channels** | General, Standard, Private, Shared | New and existing | Must be created or already in migration mode | | ||
| |**Chats** | Group, One-on-one (1:1) | New and existing | Meeting chats not supported; external members supported | | ||
|
|
||
| ### 6. Call the GET /channel/chat API to verify that the migrationMode property is marked as **completed** | ||
|
|
||
| ## See also | ||
|
|
||
| * [Microsoft Graph and Teams integration](/graph/teams-concept-overview) | ||
| * [Export content with the Microsoft Teams Export APIs](/microsoftteams/export-teams-content) | ||
| * [Microsoft Teams service limits](/graph/throttling-limits#microsoft-teams-service-limits) | ||
| * [Licensing and payment requirements for the Microsoft Teams API](/graph/teams-licenses) | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.