Microsoft Teams for Education Tenant to Tenant Migration Guide
Introduction
The Apps4.Pro Migration Manager guide offers a comprehensive, step-by-step approach to migrating Microsoft Teams Education, whether between tenants or within the same tenant.
This guide covers the entire migration process using Apps4.Pro for Microsoft 365 Education Teams, ensuring the secure transfer of class notebooks, grades, classwork, assignments, and class materials without data loss.
The following Education team types are supported in Apps4.Pro Migration Manager:
- Class
- Professional Learning Community (PLC)
- Staff
- Other
No Limitations
- During Education Teams Migration, there are no limitations on the number of teams, channels, conversations, permissions, OneNote files, and tabs that can be migrated. The process ensures a seamless transfer of all associated data without any restrictions.
- Securely migrate files of any size without limitations.
Scope of Microsoft Teams EDU Migration
The migrated and non-migrated items are listed below for Microsoft Teams Education Migration.
Roles & Licenses for Teams EDU Migration
- Microsoft 365/Office 365(E3 or E5) License is required for Source & Target Connector Accounts.
- Microsoft Teams License is required for both Source & Target Connector accounts.
- Teams Administrator role with Admin Consent and Delegated Permission is required for both Source & Target Connector accounts.
- Source Connector Account should be a
- Owner & Member of the EDU Teams that you choose to migrate
- Owner of the EDU Teams with Private / Shared Channels.
- Owner of the Assignments & OneNote
Architecture Diagram

Microsoft Teams EDU Inventory Report
Follow the below steps to Export the Inventory Report of “Source Tenant – Team-wise Channel count” for better migration planning.
Step 1 : Open Windows PowerShell ISE as Run as administrator
Step 2 : Download and open the attached script from PowerShell
Script File Link : GetTeamsChannelsCount.ps1
Step 3 : Replace the value of parameter “Path” to export the Teams Channel count details in the script.
Step 4 : Execute the script, and once it runs successfully, you will find the output CSV file saved in the location specified in the script.
Note : Ensure the script is executed using an account that holds either the “Team Admin” role or the “Global Admin” role for proper permissions.
Sample Output file : TeamsChannelsCount.csv
Pre-Migration Setup for Teams EDU Migration
Before migrating Microsoft Teams for Education using Apps4.Pro Migration Manager, it is crucial to understand the migration requirements for both the source and destination endpoints. Ensure that all necessary prerequisites are met for a smooth and successful migration process.
Admin Consent & Delegate Permission
Apps4.Pro has its own Azure AD application, which gets registered during the application configuration.
Since migration uses service accounts with minimal privileges, Admin must provide Consent & Delegate Permission just by clicking a link [Please contact us at presales@apps4.pro for the link]
- Ask the admin to open the consent URL in their browser and sign-in with the admin account.
- Click “Accept” to provide consent to use the Apps4.Pro app.
When the admins consent using the consent URL,
- Application registered : “Apps4.Pro”, the required scopes are added with delegated permissions.
- API involved :Microsoft Graph API
Required Permissions for Source Connector :
Permission | Justification |
Admin Consent [Delegated Permission] | |
ChannelMessage.Read.All | Used to retrieve the source team’s channel messages. |
Group.Read.All | Used to list all source group information from the source in AppData. |
TeamSettings.Read.All | Used to read both private and shared channel members from the selected team for migration. |
ChannelSettings.Read.All | Used to read the settings of the channels in the teams selected for migration. |
TeamsTab.Read.All | Used to read all channel tabs from each channel within the teams selected for migration. |
ChannelMember.ReadWrite.All | Used to read both private and shared channel members from the selected team for migration. |
Offline_access | Allows the app to see and update the data you give it access to, even when users are not currently using the app. This does not give the app any additional permissions. |
Profile | View users’ basic profile |
Openid | Allows users to sign in to the app with their work or school accounts and allows the app to see basic user profile information. |
User Consent | |
Notes.Read.All | Used to retrieve OneNote notebooks for the selected EDU teams for migration. |
Required Permissions for Target Connector :
Permission | Justification |
Admin Consent [Delegated Permission] | |
Team.Create | Used to create new Education teams in the target environment. |
TeamSettings.ReadWrite.All | Used to update the source team’s settings into the target team’s settings. |
Channel.Create | Used to create channels in the target team. |
ChannelMember.ReadWrite.All | Used to add members to the private and shared channels in the target environment. |
ChannelSettings.ReadWrite.All | Used to update the source team’s channel settings into the target team’s channel settings. |
TeamsTab.ReadWrite.All | To update the channel tabs in the target EDU teams. |
ChannelMessage.Send | Used to update the source team’s channel messages into the target team. |
Files.ReadWrite.All | Used to update the files in the corresponding location in the target. |
offline_access | Allows the app to see and update the data you give it access to, even when users are not currently using the app. This does not give the app any additional permissions. |
Profile | View users’ basic profile |
Openid | Allows users to sign in to the app with their work or school accounts and allows the app to see basic user profile information. |
User Consent | |
Notes.ReadWrite.All | Used to update the OneNote notebook contents into the selected Education teams for migration |
Note: Apps4.Pro supports MFA and Modern Authentication and hence there is no need to disable security features.
App Installation
Contact us at presales@apps4.pro to get the latest version of the Microsoft Teams Education Migration application download and installation process.
During the installation process, all necessary software required for the application (listed below) will be installed.
- Node-v20.9.0-x64
- Microsoft EdgeWebView2 Runtime
- ASP.NET Core Runtime 6.0.20 x64
- .NET Desktop Runtime 6.0.21 x64
- Dotnet-sdk-3.1.426
Connect your Source & Target Environments
Source Connector Account – Sign-in
Establish a connection with the Source Connector Account by signing in through the Apps4.Pro Migration Manager app.
Steps to Connect:
- Go to the Setup tab in the Migration App.
- Under Source Connection, click on the Copy & Open button.
- Paste the copied code into the authentication window.
- Enter the Source Connector Account details to complete the connection.
Target Connector Account – Sign-in
Establish a connection with the Target Connector Account by signing in through the Apps4.Pro Migration Manager app.
Steps to Connect:
- Go to the Setup tab in the Migration App.
- Under Target Connection, click on the Copy & Open button.
- Paste the copied code into the authentication window.
- Enter the Target Connector Account details to complete the connection.
Configure Other Connectors
Configure the Source and Target Connectors for the below from the Setup tab :
- Configure the M365 Education and OneNote API connectors.
- Configure the SharePoint connectors to migrate Associated SharePoint sites.
Application Tenant Data Refresh
Perform an Application Data Refresh before you start the Migration.
- Navigate to “Settings -> App Data”.
- Select the checkbox next to the below resources to perform a full sync of the app data resources for the following resources:
- Source Tenant Users
- Source Tenant Users
- Source Tenant Teams
- Target Tenant Teams
- Source Tenant Groups
- Target Tenant Groups
- Source Tenant Plans
- Target Tenant Plans
- Source Tenant Sites
- Target Tenant Sites
Note :
- Click on
icon to download the source and target users, which can be used to frame the Tenant-level Users / Groups Mapping.
- If the checkbox is unselected, it performs an incremental refresh from the last time it was refreshed. You could also find the time when the data was previously refreshed here.
Configurations
User Mapping
The users in the source and target tenants need to be mapped so the app can intelligently utilize this information during migration.
Steps to Perform User Mapping:
Navigate to the “Mapping” tab → USERS MAPPING. Here, you can add user mappings based on any of the options listed below.
Option 1 – Individual Manual Mapping: Manually add user mappings using the “Add” option.
Option 2 – Bulk Mapping through Auto Map: If user’s display name or UPN in the source and target tenants are the same, our tool provides an “Automap” feature to streamline the mapping process.
Option 3 – Upload bulk mappings through CSV: If the display names of the users in the source and target tenants are different, you can download the sample file, add the user mappings, and import them using the “Import CSV” option.
You can download the tenant-level users to frame the Mapping CSV, please refer to Application Tenant Data Refresh.
Sample CSV File

Important: Using the “Clear All” option you can clear the previously added mappings in a single shot.
Group Mapping
The Office365 and Security groups in the Source and Target tenants need to be mapped, to get the group-level unique permissions of a SharePoint site to be migrated successfully.
Steps to Perform Group Mapping:
Navigate to the “Mapping” tab → GROUPS MAPPING. Here, you can add Group mappings based on any of the options listed below.
Option 1 – Individual Manual Mapping: Manually add Group mappings using the “Add” option.
Option 2 – Bulk Mapping through Auto Map: If Group’s display name or UPN in the source and target tenants are the same, our tool provides an “Automap” feature to streamline the mapping process.
Option 3 – Upload bulk mappings through CSV: If the display names of the Groups in the source and target tenants are different, you can download the sample file, add the Group mappings, and import them using the “Import CSV” option.
Sample CSV File

Important: Using the “Clear All” option you can clear the previously added mappings in a single shot.
Basic Task Settings for Associated Sites
As the associated SharePoint Task is created automatically, we have to configure the required ‘SharePoint-Basic Task Settings’ in advance for the SPO task to pick them.
- Navigate to Settings -> Other settings -> SharePoint Site Settings
- Click Set Button next to ‘Basic Task Settings’
- Select the required components from the below and Click Save.
- Site Settings
- Generic Lists
- Document Library
- Site Assets
- All Files & Folders
- OneNote
- Subsites
- Term Groups
- Pages
- Navigation
- Regional Settings
- External User Permission (applies to Site-level Permission only)
Migrate Version and Meta data
Apps4.Pro also migrates versions and metadata. You can choose to migrate all versions or only the latest ‘n’ versions based on your preference.
- Navigate to Settings -> Other settings -> SharePoint Site Settings.
- Enable the Option “Migrate File Version History”.
- Choose file version limit based on your preference.
Note:
1. RECOMMENDED: Opting for more versions slows down the migration process. So, the tool recommends unchecking this option, which migrates only the latest version of the File.
2. When opting for more versions, the tool recommends users to configure a maximum upto 200 versions.
Conversation Prefix [OPTIONAL]
The app will migrate the conversations appended with the conversation prefix. To change this prefix, Navigate to Settings -> Other settings -> Team Settings -> Conversation_Prefix.
The prefix will be appended before each conversation as below in the target tenant

Skip Membership / Permission during Initial Migration [OPTIONAL]
When there are active users in Target Tenant, migrating the Team memberships & File permissions in the first place, gives the active users access to the migrated content during the migration.
This may affect the course of Migration. To avoid this, you can disable the below settings before the Initial Migration and then post completion of Initial Migration, enable these settings and re-trigger migration.
- Settings tab –> Other settings –> Team settings -> “Teams – Migrate Membership”
- Settings tab –> Other settings –> SharePoint Site settings -> “Migrate Permissions”
Once all the above preparatory steps are done, you are ready to create a Migration Task.
Recommended: We recommend running a small Pilot Migration (perhaps one or two EDU Teams) before moving all EDU Teams, to validate your setup and measure throughput.
Start Education Teams Migration
Create Task
Follow the below steps to create a task
- Navigate to ‘Teams’ tab.
- Hit ‘Refresh’ to load the Teams.
- Select the Teams you want to migrate.
Migration from CSV: Select a bulk number of EDU Teams in a single shot using this option.
You can Browse for a CSV containing the details of the Teams to be Migrated.
Sample CSV :
You can always download a sample CSV from our tool to feed in your data by clicking the button Sample CSV.

Migration Settings
You can also choose the components to be part of the Microsoft Teams Migration that includes
- Channels (Standard Channels)
- Conversations
- Files
- Private Channels
- Shared Channels
- OneNote tab
- Planner tab
- Office tab
- Website tab
- Assignments (Class Team Only)
- Class Work
Add Source Connector to the selected Source Teams: This option helps to add the Source Connector as “Owner and Member” of the EDU teams to be migrated, if they have not been added previously.
Task Creation Mode
Basic Mode
Choose ‘Basic’ Mode to enable Teams to have the exact replica of the Source to the Target with no tailoring needed in Target teams, channels, tabs and plans in scope. In this case, the tool migrates entire Teams in Basic Mode. If you prefer to customize the migration process, you can use Advanced Mode.
Advanced Mode
Choose ‘Advanced’ Mode to tailor the Education teams, channels, tabs and plans in scope.
This helps to make customizations in the target
- As a new / existing team, channel, tab or plan.
- Customize the names of the target team, channel, tab or plan.
- Choose how to migrate the conversations
Team Settings
In this step, you can choose how do you want the target team(s) to be. You will have the following three options to decide on.
- Migrate into a new Team (OR)
- Append all team data into an existing Team (OR)
- Enable the team for an existing Group – target team’s name will be same as Target Group.
Migrate User : When migrating to an existing team / group, one can choose to migrate the additional members by enabling this option.
Channel Settings
Under Channel Settings tab, you can choose required channels to migrate and required components to be migrated along with channels. For existing target team, you can choose to migrate channel details either to a New Channel or an already Existing Channel(target).
You can even migrate conversations starting from a particular date by specifying a date in Column Conversation -> Migration From.
Tab Settings
Under Tab Settings, you can choose required tabs to migrate and map the tab with existing tab if you have selected existing target team/channel.
Plan Settings
Under Plan Settings tab, it lists the plans available in the selected Education teams.
Planner Task Attachments : You can select the target format from one of the below:
- None – no attachments will be migrated
- Copy URLs and SharePoint Files
- Copy URLs alone
Post configuring all the above attributes, click Migrate. This creates one task for each of the Teams selected.
Task Execution
You can track the progress and migration status in the TASKS section.
- Task in Queue:
After task creation, it enters the Queue section, awaiting processing. - Task in InProgress:
The task then moves to In Progress, where migration begins. During this stage, all Education teams, channels, conversations, tabs and files are transferred from the Source to the Target. - Task in Pause:
The task can be paused if needed, temporarily halting the migration process. - Task completed:
Once the migration is successfully completed, the task moves to the Completed section.
View Details : You can check the detailed status of each action (like Migrate Team, Migrate Member, Migrate Channel) at channel or conversation level.
Migration of Associated SharePoint Sites
Once the Teams Education Migration tasks complete, associated SPO tasks are created automatically which can be tracked under SharePoint tab -> TASKS.
Part of the SPO task, associated SharePoint Sites of the Groups linked with the selected EDU Teams are migrated. Based on the “Basic Task Settings”, configured components are migrated.
Important: OneNote content and the channel files are migrated part of the Associated SharePoint Task only.
How to resolve errors using ‘Retry’ Option ?
The Retry function helps resolve errors when a task is completed with an error or warning.
Steps to Perform Retry:
- Navigate to Teams → Tasks → Completed tab.
- Identify the tasks with a status of “Completed with Errors” or “Completed with Warning”
- Select the task you want to retry.
- Click ‘Retry’ to resolve the error / warning.
How to perform Incremental Migration ?
The Rerun function enables incremental migration for newly added items & conversations in the Source EDU Teams & Channels after the initial migration.
Steps to Perform Incremental Migration:
- Navigate to Teams → TASKS → COMPLETED Tab.
- Select the Tasks that require Incremental Migration.
- Click ‘Rerun’ to initiate the Incremental Migration.
Note: If the task status is “Completed with Errors” or “Completed with Warning” review the errors/warnings with the support team before proceeding with the Incremental Migration.
Get Summary view of the Migration Tasks
- Navigate to Teams -> Summary
- Click
Sync to load the latest Task Summary
- All Tasks Results : Lists down all the tasks including the ones Completed with Errors & Warnings. You can also Retry the tasks that are Completed with Errors / Warnings from here.
Here, you get the
1. Overall Task-wise Success / Failed count on
– Channels
– Tabs
– Conversations
2. For the Associated SharePoint Sites, Overall Task-wise Success / Failed count on
– Document Library
– Files
– Lists
– List Items
Note: You cannot resolve SharePoint Related errors by Retrying the Teams Tasks here. It must be resolved by Retrying the Associated SharePoint Tasks from
– SharePoint tab ->Summary -> All Tasks Results [OR]
– SharePoint tab ->Tasks -> Completed
3. Specific error / warning wise count. - All Tasks Errors : Lists down all the tasks that were Completed with Errors. Here, you get the detailed error message Item-wise.
- All Tasks Warnings : Lists down all the tasks that were Completed with Warnings. Here, you get the detailed warning message Item-wise.
Email Notification
When migrated to a NEW Target Team
End users will get below notifications in Microsoft Teams Activity Feed, when migrating the team’s data to a New Team in target tenant.
- Added You to the team
- Added You to the private channel
- Added You to the Shared channel

Note: We cannot avoid these notifications.
When migrated to an Existing Planner Tab in Target
End users will get notifications when migrating the below stated items to a pre-existing planner tab in Target.
- Comments
- Task Assignments
To avoid these notifications, each end user needs to enable the below settings.
- Outlook: Group Mailbox Settings
In Outlook, Open the Mailbox of Respective Plan’s Office 365 group which we are going to migrate. Click on Settings icon& Select Don’t receive any group messages.
- Planner Settings
Go to Planner -> Click Settings Iconon top right corner -> Click Notifications -> Turn Off the below settings under Planner notifications and click Save.
- Email me when someone assigns me a task
- Email me when a task assigned to me is late, due today, or due within the next seven days
Note: However, we can’t avoid these notifications during the plan migration to a “New Team”.
Post Migration
End-user Experience
Team & Conversations
Source:

Target:

Team settings
Source:

Target:

Migration view of Private Channel
Source:

Target:

Migration view of Shared Channel
Source:

Target:

Class Notebook
Source:

Target:

Assignments
Source:

Target:

Considerations
We will migrate the @mention as regular text.

Announcement icon will not get migrated.

Code snippet: We will migrate the code snippet as attachment.

Post Migration Activities
Note:
1. Once the migration tasks are completed, the ‘Source Connector’ and ‘Target Connector’ can be removed from all the migrated Education teams at once.
2. Before you remove them, ensure if all the Tasks created for Migration and Incremental Sync are completed successfully.
How to Remove ‘Source Connector Account’ from the Migrated Microsoft Education Teams
Part of the Migration Process, ‘Source Connector’ is added as Owner of all the migrated Source Teams, and hence it must be removed post Migration. To achieve this in a single shot, we can remove it by following the steps below.
- Navigate to Plan tab -> Reports -> All Source Teams.
- Generate the ‘All Source Teams’ report.
- Select All Teams by clicking the checkbox in the 1st Column Header.
- On clicking “Manage Members and Owners”, a pop-up appears.
- Choose ‘Remove Owner’ in Action.
- Click + icon and Choose the ’Source Connector’ & Update.
- Action Results are shown if the ‘Source Connector’ is removed from the selected teams.
How to Remove ‘Target Connector Account’ from the Migrated Education Teams
Part of the Migration Process, ‘Target Connector’ is added as Owner of all the migrated Target Teams, and hence it must be removed post Migration. To achieve this in a single shot, we can remove it by following the steps below.
- Navigating to Plan -> Reports -> All Target Teams.
- Generate the ‘All Target Teams’ report.
- Select All Teams by clicking the checkbox in the 1st Column Header.
- On clicking “Manage Members and Owners”, a pop-up appears.
- Choose ‘Remove Owner’ in Action.
- Click + icon and Choose the ’Target Connector’ & Update.
- Action Results are shown if the ‘Target Connector’ is removed from the selected teams.
Troubleshoot
If you require support or guidance on the errors, warnings or non-migrated items, get the logs and mail them to support@jijitechnologies.com for further analysis.
To get the logs, go to the Teams tab -> TASKS -> COMPLETED -> Export Logs.
Reports
Education Teams Migration Summary Report
The “Teams Migration Summary” report provides a comprehensive overview of the Apps4.Pro migration, detailing the total number of channels, conversations, files and tabs in the source Education Teams, along with the Apps4.Pro migrated counts for each item. This report helps in verifying the completeness of the migration process and ensures data consistency between the source and destination environments.
Steps to Generate the “Teams Migration Summary“ Report:
- Go to Plans → Reports → Migrated Summary V2 section.
- Select the “Teams Migration Summary“ report.
- Click the “Generate” button to populate the values.
Important: Verify the migration of a few random Education Teams Conversations to ensure they are visible in Target Tenant and files are accessible.
Conclusion
In summary, Apps4.Pro Migration Manager enables an efficient and dependable transfer of Microsoft Teams data for education tenants within Office 365. By using this guide, administrators can preserve data accuracy, reduce interruptions in learning, and ensure consistent collaboration between educators and students. For further assistance, check out our FAQ section or reach out to our support team at support@jijitechnologies.com.