How to migrate from MS Teams to Zoho Cliq?

How to migrate from Microsoft Teams to Zoho Cliq?

Prerequisites-Migration Requirements

1. Disk Space
Users must ensure that the disk has sufficient free space for the export process to complete successfully.
2. Network and System Stability
Users must ensure there are no network interruptions during the migration. They should also ensure their machine does not go to sleep, as the script will terminate if the system enters sleep mode.
3. Python Installation and Setup
Python version 3 or above is strongly recommended to avoid errors. Users can install Python using the following links: MacOS and Windows. For step-by-step instructions on how to install Python, you can refer to this link.
To verify the installation, run:
  •  python3 --version
4. pip is usually installed along with Python. If pip is missing, it must be installed separately. Installation guide:
https://pip.pypa.io/en/stable/installation/
To verify pip installation, run:
  •    pip3 --version (or) python3 -m pip --version
5. As a prerequisite to checking if all the necessary modules are installed, you can run the following code in a .py file in your terminal. This will display all the installed modules. If a specific module is missing, you can install it.
  1. import importlib
  2. def check_module(module_name):
  3.     try:
  4.         module = importlib.import_module(module_name)
  5.         print(f"{module_name} module is installed")
  6.     except ModuleNotFoundError:
  7.         print(f"{module_name} module is not installed")
  8.     print()
  9. #List of modules to check  
  10. modules_to_check = ['os', 'urllib', 'ssl', 'certifi', 'requests', 'json', 'logging', 'queue', 'threading']
  11. #Check each module  
  12. for module_name in modules_to_check:
  13.     check_module(module_name)
6. If you encounter the 'No module $module_name' error, identify the exact command for the Python 3 version and enter it in the script. For example, in Python 3, the command is "sudo pip3 install requests".

7. If pip3 install does not work, users should use: python3 -m pip install <module_name>
8. Required Python dependencies such as requests and certification must also be installed.

If you want to migrate your chats, channels, teams and users from Microsoft Teams to Cliq, do the following:

Exporting data from Microsoft Teams   

Step 1: Register an application in the Azure portal 

Follow the below steps to register an app in Azure so that you can export your Microsoft Teams data.

  1. Go to the Azure portal.

  2. Click App Registrations under Azure services.

  3. In the top-left corner, select New registration.

  4. In the form that appears, fill in details such as App name and select who can use this application or access this API and click on Register.

  5. The app will be registered. You can make a note of the Application (client) ID & Tenant ID.

NotesNote: You can refer to Microsoft's guide on how to register an app.

Client secret value
  

To get the client's secret value, do the following:

  • In the app details page, go to Certificates & Secrets.

  • You will find two tabs: Certificates and Client secrets.

  • Select the Client secrets tab and click on New client secret.

  • A form will appear where you will have to fill in the description and when it expires and select Add.

  • Your application credentials will be updated successfully.

  • Copy the client secret value.

Add API permissions in the app  

  • In the app overview page, go to API permissions.

  • Click on Add a permission and select Microsoft Graph.

  • Select Application permissions, and a list of categories will appear where you can select the permission you want to request.

  • Check the 18 permissions mentioned below and select Add permission.

  • Click the Grant admin consent for $orgname button to authorize your organization’s access to the specified APIs.

    NotesNote: Only a super admin can perform this action.

Importing data to Cliq 

 Step 2: Run the code

  1. Go to Cliq's Admin Panel and select Import Microsoft Teams under Data Administration.
  2. Copy the Python script and run the code.


Notes

Note:

  • You will have to edit the admin's email ID, client secret value, client ID and tenant ID before running the script.

  • A zip folder with your Microsoft Teams data will get downloaded in your system once the script execution is successful.

 Add data to the script and save it 

  1. Open a text editor on your system, paste the Python script, and enter the required data from the Azure app.
  1. Save the script in a directory (e.g., Desktop) as a file named "teamsexport.py".

Open terminal and run the script 

How to open Terminal in MacOS?:
  1. Open "Launchpad" and type "Terminal."
  1. In the terminal, navigate to the directory where the Python file is saved, e.g., cd ~/Desktop/
  1. In the next line, type "python3 teamsexport.py".
  1. Click "Enter," and the script should run.
 
How to Open Terminal in Windows?:
  1. Click on the Start menu in Windows, then search for 'Command Prompt.' This will open the terminal.
  1. Now navigate to the Python script located on the desktop within the terminal and type "python3 $pythonscriptfilename.py".
  1. Click "Enter," and the script should run.

Step 3: Upload zip folder to import data to Cliq 

  1. Drag and drop the zip folder or upload it from your system and click on Upload.
  2. Once your data has been successfully imported you will be able to view the count of users, teams and channels imported. You can also import the direct messages and group chats of your organization users.
  3. An invitation mail will be sent to the users to join Cliq.
Notes
Note:
  1. Importing data more than once can result in data duplication, which may be difficult to clean up. Please ensure that data is imported only once to avoid complications.

 Post-Migration Requirements 

  1. For any Python-related issues after the migration is initiated, users must share the demo.log file for debugging. This will help reduce back-and-forth communication.
  2. Users must provide valid inputs and scripts. If migrating using Python and running the migration a second time, users must generate a new script from the admin panel and must not reuse an existing script