Migración de Slack a Microsoft TeamsMigrate from Slack to Microsoft Teams

Este artículo le guiará en el proceso para migrar a Microsoft Teams desde Slack.This article walks you through the journey of moving to Microsoft Teams from Slack.

Al planear la migración de los equipos de la organización a un equipo, es importante que decida qué debe mantenerse (si es que es necesario).When planning your organization’s move to Teams from Slack, it's important to decide what you need to keep (if anything). Empezaremos por describir qué tipos de datos se pueden migrar y, después, explicaremos cómo evaluar sus necesidades, planear la migración y completar la misma.We'll start off by describing what types of data can be migrated and then walk you through how to assess your needs, plan your move, and then make the move.

El diagrama siguiente muestra la arquitectura de Slack a nivel general.The diagram below shows the Slack architecture at a high level.

Imagen que muestra la arquitectura de Slack a nivel general

Planear la migración desde SlackPlan your migration from Slack

Qué puede y qué no puede migrarWhat you can and can’t migrate

Su plan de servicio de Slack determinará qué es lo que puede y no puede migrar.Your Slack service plan will determine what you can and can’t migrate. Por ejemplo, algunos planes de servicio de Slack solo permiten exportar los archivos y el historial de canales públicos, mientras que otros requieren una solicitud DocuSign para incluir canales privados y mensajes directos.For example, some Slack service plans only let you export public channels history and files, other require a DocuSign request to include Private Channels and Direct Messages.

Para determinar el nivel de servicio del área de trabajo de Slack, inicie sesión en Slack y anote el tipo de plan que aparece en la página Acerca de este espacio de trabajo.To determine your Slack Workspace service level, log into Slack and note your plan type on the About this Workspace page.

Para más información sobre las opciones de exportación de Slack, vaya al sitio web de Slack: https://get.slack.help/hc/articles/204897248-Guide-to-Slack-import-and-export-toolsTo learn more about Slack export options, go to the Slack website: https://get.slack.help/hc/articles/204897248-Guide-to-Slack-import-and-export-tools

El siguiente diagrama muestra una visión general del panorama de migración de Slack que trataremos en este artículo.The diagram below gives you a high-level look at the Slack migration landscape that we’ll cover in this article.

Diagrama en el que se muestra el panorama de exportación de Slack.

Cuando haya terminado con esta sección, debería comprender lo siguiente:When you're done with this section, you should understand:

  • El nivel de servicio de sus áreas de trabajo de Slack.The service level of your Slack Workspaces
  • Lo que puede y no puede exportar.What can and can't be exported
  • Métodos comunes para la exportación.Common approaches to exporting

Evaluación de los espacios de trabajo de SlackAssess your Slack workspaces

Para poder planear el plan de migración de su organización, debe reunir cierta información sobre sus áreas de trabajo de Slack.Before you can plan your organization’s migration plan, you need to pull together some information about your Slack workspaces. Entender cómo se usan las áreas de trabajo de Slack le ayuda a determinar el alcance de la migración.Understanding how your Slack workspaces are being used helps you determine the scope of your migration. Por ejemplo, ¿cuántas áreas de trabajo se van a migrar?For example, how many workspaces are being moved? ¿Los usan en un departamento específico, muchos departamentos o una organización entera?Are they used by a specific department, many, or in use by an entire organization?

Si es miembro de las áreas de trabajo de Slack que quiere migrar, puede analizar el uso yendo a .slack.com/stats. Revise las pestañas Canales y Miembros para buscar patrones de uso.If you’re a member of the Slack Workspaces you want to migrate, you can analyze the usage yourself by going to .slack.com/stats. Review the Channels and Members tabs to look for usage patterns. Decida las áreas de trabajo que quiere migrar (y cuáles son las que dejará de utilizar).Decide which workspaces you want to migrate (and which ones you want to leave behind).

Nota

Si no tiene acceso a la página de estadísticas, no es un administrador o propietario.If you don’t have access to the stats page, you’re not an admin or owner.

Exportación de canalesExport Channels

En Slack, los usuarios se unen a un canal que forma parte de un área de trabajo de Slack, mientras que en Teams los usuarios se unen a equipos, que son colecciones de canales.In Slack, users join a channel which is part of a Slack Workspace, whereas in Teams users join a team which is a collection of channels. Le recomendamos que use los datos de análisis de Slack para ver cuánta actividad tiene lugar en cada canal y así decidir qué canales migrar.We recommend that you use Slack analytics to see how much activity happens in each channel to help you decide which channels to move. Use la lista resultante para averiguar cómo agrupar los canales de Slack en los equipos de Teams, así como quién debe ser miembro de cada equipo.You’ll use the resulting list to figure out how to group your Slack channels into teams in Teams as well as who should be members of each team.

Si tiene un plan de servicio de pago de Slack (que no sea gratuito), puede usar los datos de análisis de Slack (.slack.com/admin/stats#channels) para ver el nivel de actividad de un canal, cuándo se utilizó por última vez y cuántos usuarios son miembros.If you have a paid Slack service plan (anything other than Free), you can use Slack’s analytics (.slack.com/admin/stats#channels) to see how active a channel is, when it was last used, and how many people are members. Esto puede ayudarle a decidir si quiere migrar el canal.This can help you decide whether to migrate the channel. De forma predeterminada, se puede exportar el contenido de canales públicos (archivos y mensajes).By default, public channels content (messages and files) can be exported. En función de su plan de servicio de Slack y de si ha solicitado canales privados y mensajes directos de Slack, estos pueden o no exportarse.Depending on your Slack service plan and whether you’ve requested Private Channels and Direct Messages from Slack, those can be exported.

Para más información sobre las opciones de exportación de Slack, vaya al sitio web de Slack: https://get.slack.help/hc/articles/204897248-Guide-to-Slack-import-and-export-toolsTo learn more about Slack export options, go to the Slack website: https://get.slack.help/hc/articles/204897248-Guide-to-Slack-import-and-export-tools

Importante

Compruebe los requisitos de privacidad y cumplimiento de su organización respecto a los datos de los canales.Check your organization’s privacy and compliance requirements around channel data. Es posible que su organización tenga requisitos de cumplimiento sobre el tratamiento, almacenamiento y procesamiento de estos datos, además de cumplir con el ciclo de vida de contenido identificable del usuario final (EUII).Your organization may have compliance requirements around the handling, storage, and processing of this data, in addition to complying with the lifecycle of end-user identifiable content (EUII).

Exportación de mensajes directosExport Direct Messages

Los mensajes directos son lo mismo que los chats en Teams, que son conversaciones de uno a uno o de uno a varios que no pertenecen a un canal.Direct Messages are the same as chats in Teams, which are 1:1 or 1-to-many non-channel conversations. La capacidad de exportación depende del plan de servicio de Slack y de si ha solicitado que se incluyan mensajes directos en la exportación de Slack.Export-ability depends on your Slack service plan and if you’ve requested Direct Messages to be included in your Slack Export. Teams no es compatible con la importación de mensajes directos en este momento.Teams doesn’t support importing Direct messages currently. Consulte a un asociado de Microsoft para obtener información sobre las soluciones de terceros que puede explorar y que incorporan el contenido de mensajes directos en Teams.Consult a Microsoft partner to learn about third-party solutions you can explore that bring Direct Messages content into Teams.

Para exportar mensajes directos, eche un vistazo a herramientas, como Export, en la tienda de aplicaciones de Slack.For exporting Direct Messages, check out tools, such as Export, in the Slack App Store.

Aplicaciones e integraciones personalizadasApps and custom integrations

Las aplicaciones en Slack son similares a las aplicaciones en Teams.Apps in Slack are like apps in Teams. Cuando tenga una lista de aplicaciones y sus configuraciones en el área de trabajo, puede buscar en la tienda de aplicaciones de Teams para ver si están disponibles para Teams*.Once you have a list of apps and their configurations in the Workspace, you can search in the Teams App store to see if they’re available for Teams*.

Vaya a .slack.com/apps/manage para obtener una lista de aplicaciones e integraciones personalizadas.Go to .slack.com/apps/manage to get a list of Apps and Custom Integrations. En esta página también se muestra el número de configuraciones en que se usa cada aplicación.This page also shows you the number of configurations where each app is in use. Las integraciones personalizadas pueden variar en su "capacidad de migración".Custom Integrations vary in their “migrate-ability.” Si es un enlace web, normalmente puede enviarlo a un conector de Office 365 para cambiar el flujo de trabajo a Teams.If it’s a Web Hook, you can usually send it to an Office 365 Connector to shift the workflow into Teams. Evalúe los bots y otras aplicaciones uno a uno para planear su migración a Teams.Assess bots and other apps on a case-by-case basis to plan for moving them to Teams.

* Si el administrador ha restringido el uso de aplicaciones, es posible que no tenga acceso a la lista completa de aplicaciones disponibles.* If your administrator has restricted apps usage, you may not be looking at the full list of available apps.

UsuariosUsers

Es posible que los esquemas de identidad que usaba en Slack no se asignen directamente a Office 365.The identity schemes you used in Slack might not map directly to Office 365. Por ejemplo, es posible que las direcciones de correo electrónico de los usuarios de Slack no se asignen a cuentas profesionales o educativas de Office 365.For example, the email addresses of your Slack users may not map to Office 365 work or school accounts. Debería crear un mapa de asignación de ID. y usuarios antes de empezar a planear su implementación de Teams.You should create a user-ID map before you start planning your Teams rollout.

Si tiene un plan de servicio de pago de Slack, puede ir a .slack.com/admin/stats#members para obtener información de los miembros, como la dirección de correo electrónico y el tipo de cuenta de cada usuario (por ejemplo, invitado en uno o varios canales).If you’re on a paid Slack service plan, you can go to .slack.com/admin/stats#members to get member details such as email address and account type for each user (for example, single vs. multi-channel guest).

El siguiente es un script que puede usar para comparar las direcciones de correo electrónico de una exportación de Slack con Azure AD para ayudarle a resolver la ambigüedad de nombres.Here’s a script you can use to compare email addresses from a Slack export against Azure AD to help solve for name ambiguity. También informará de si el usuario está habilitado para Teams.It’ll also report if the user is enabled for Teams. Si necesita ayuda con PowerShell, consulte Introducción a Azure PowerShell.If you need help with PowerShell, read Get started with Azure PowerShell.

Connect-AzureAD
Function Get-TimeStamp {
    return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
}

class User {
    [ValidateNotNullOrEmpty()] $ID
    [ValidateNotNullOrEmpty()] $FullName
    [string] $Email
    [string] $UPN
    [ValidateNotNullOrEmpty()][bool] $ExistsAzureAD
    [ValidateNotNullOrEmpty()][bool] $TeamsEnabled
}

$output = New-Object -type System.Collections.ObjectModel.Collection["User"]

$users = Get-Content -Raw -Path .\slackHistory\users.json | ConvertFrom-Json

Write-Host -ForegroundColor Green "$(Get-Timestamp) User Count: " $users.Count

$i=1
Write-Host "$(Get-Timestamp) Attempting direct email match.. `n"
foreach ($slackUser in $users) {
    $user = New-Object User
    $user.id = $slackUser.id
    $user.FullName = $slackUser.name
    try {
        if ($null -ne $slackUser.profile.email) {
            $user.email = $slackUser.profile.email
            $emailSplit = $slackUser.profile.email.Split('@')
            $mailNickName = $emailSplit[0]
            $result = Get-AzureADUser -Filter "MailNickName eq '$($mailNickName)' or UserPrincipalName eq '$($slackUser.profile.email)' or proxyAddresses/any(c:c eq 'smtp:$($slackUser.profile.email)')"
            if ($null -ne $result) {
                $user.ExistsAzureAD = $true
                $user.UPN = $result.UserPrincipalName
                $assignedPlans = $result.assignedPlans
                foreach ($plan in $assignedPlans) {
                    if ($plan.ServicePlanId -eq "57ff2da0-773e-42df-b2af-ffb7a2317929") {
                        if ($plan.CapabilityStatus -eq "Enabled") {
                            $user.TeamsEnabled = $true
                        }
                        else {
                            $user.TeamsEnabled = $false
                        }
                    }
                }
                Write-Host -ForegroundColor Green "$(Get-Timestamp) Current User $($i) - AzureAD object found:" $result.MailNickName
                Write-Host -ForegroundColor Green "$(Get-Timestamp) Current User $($i) - Teams Enabled:" $user.TeamsEnabled
            }
            else {
                $user.ExistsAzureAD = $false
                Write-Host -ForegroundColor Yellow "$(Get-Timestamp) Current User $($i) - AzureAD object not found: " $slackUser.profile.email
            }
        }
        $i++
    }   
    catch
    {
        $user.ExistsAzureAD = $false
        Write-Host -ForegroundColor Yellow "$(Get-Timestamp) Current User $($i) - AzureAD object not found: $($i)" $user.profile.email
        $i++
    }
    $output.Add($user)
}

$output | Export-Csv -Path .\SlackToAzureADIdentityMapping.csv -NoTypeInformation
Write-Host "`n $(Get-Timestamp) Generated SlackToAzureADIdentityMapping.csv. Exiting..."
$output | Export-Csv -Path .\SlackToAzureADIdentityMapping.csv -NoTypeInformation
Write-Host "`n $(Get-Timestamp) Generated SlackToAzureADIdentityMapping.csv. Exiting..."

Cuando haya terminado con esta sección, debería:When you’re done with this section, you should have:

  • Tener una lista de canales por área de trabajo con estadísticas de uso.A list of Channels per Workspace with usage statistics.
  • Tener una lista de aplicaciones de Slack con configuraciones por canal.A list of Slack Apps with configurations per channel.
  • Haber determinado el tipo de historial de mensajes de Slack que quiere exportar (si hay alguno).Determined what type of Slack message history you want to export (if any).
  • Tener una lista de los usuarios cuyas cuentas de Slack se asignan a cuentas profesionales o educativas de Microsoft y qué licencia de Teams tienen.A list of users whose Slack accounts map to Microsoft work or school accounts and which Teams license they have.

Planeación de la implementación de TeamsPlan your Teams deployment

Ha exportado lo que necesita de Slack (y dejado atrás lo que no necesita).You’ve exported what you need from Slack (and left behind anything you don’t need). Ahora es el momento de planear la forma en que implementará Teams e importará los datos de Slack.Now it’s time to plan how you’ll roll out Teams and import your Slack data. Esta es una gran oportunidad para evaluar qué ha funcionado bien para el equipo en función de su uso e incluir esos elementos en el plan de implementación de Teams.This is a great opportunity to assess what's worked well for the team based on usage and include those elements in your Teams deployment plan. Al final de esta sección, tendrá un plano técnico para sus usuarios, canales y aplicaciones de Teams.At the end of this section, you’ll have a blueprint for your Teams users, channels, and apps.

El siguiente diagrama muestra un esquema general de las cosas que debe tratar en la implementación de Teams.The diagram below gives you a high-level outline of the things you’ll address in your Teams deployment.

Esquema general de la planeación para la implementación de Teams desde Slack.

Estructura de equipos y canalesTeam and channel structure

Un área de trabajo de Slack puede representar un único equipo, varios equipos o una organización completa.A Slack Workspace may represent a single team, multiple teams or an entire organization. Es importante comprender el alcance de las áreas de trabajo a medida que determina la estructura.It’s important to understand the scope of the Workspaces as you determine the structure. Lo más cercano a un equipo de Teams en Slack es el área de trabajo, que contiene un conjunto de canales.The closest relationship to a Teams team in Slack is the Workspace, which contains a collection of channels. En el diagrama siguiente se muestran 3 asignaciones de Slack a Teams diferentes, así como las directrices para elegir la adecuada para cada área de trabajo.The diagram below demonstrates 3 different Slack-to-Teams mappings, and guidance for picking the right one for each Workspace.

Asignación de Slack a Teams Slack-to-Teams mapping
1 espacio de trabajo de Slack ➡️ 1 equipo1 Slack Workspace ➡️ 1 team Para áreas de trabajo de Slack más pequeñas, que necesitan menos de 200 canales.For smaller Slack workspaces that need fewer than 200 channels
Incluya un búfer para la planeación del crecimiento y los canales privados.Include a buffer for growth and private channel planning
1 espacio de trabajo de Slack ➡️ varios equipos1 Slack Workspace ➡️ multiple teams Use los datos de análisis de su espacio de trabajo de Slack para crear grupos de canales lógicos, que se convertirán en la base de sus equipos.Use your Slack Workspace analytics data to create logical channel groupings, which become the basis of your teams
2 espacios de trabajo de Slack ➡️ varios equipos2+ Slack Workspaces ➡️ multiple teams Use los datos de análisis de su espacio de trabajo de Slack para crear grupos de canales y equipos lógicos, que se convertirán en la base de sus equipos.Use your Slack Workspace analytics data to create logical team and channel groupings, which become the basis of your teams

Las soluciones de terceros tienen estadísticas de uso que le ayudarán a evaluar el nivel de actividad de un canal y el número de publicaciones que tiene.Third-party solutions have usage statistics to help you assess how active the channel is and how many posts there are. Normalmente, los canales que se usan a menudo serían candidatos para incluir en el planeamiento de equipos.Typically, channels that are frequently used would be candidates to include in your team planning.

Sugerencia

Conserve solo lo que sea necesario en su método para determinar qué canales se deben recrear en Teams.Retain only what is required in your approach to determine which channels to recreate in Teams. Para obtener más información, consulte Información general sobre equipos y canales.To learn more, read Overview of teams and channels.

Planificación de equiposTeam Planning

Con el inventario de canales que obtuvo en la sección de planificación anterior, trabaje con los propietarios y administradores de Slack para averiguar qué canales se deben convertir en equipos y cuáles deberían ser canales dentro de un equipo.Using the Channel inventory you compiled in the Planning section above, work with your Slack owners and admins to figure out which channels should become teams and which ones should become channels in a team. Use Excel o PowerBI para ayudar con este análisis: ambos pueden proporcionar información adicional para ayurdar a decidir qué canales se deben conservar.Use either Excel or PowerBI to help with this analysis - both can provide additional insights to help drive these discussions on which channels to retain.

Sugerencia

Actualmente, Teams tiene un límite de 200 canales por equipo.Teams currently has a 200-channel limit per team. Si la lista de canales se aproxima a ese límite, debe buscar una forma para dividirlos en dos equipos separados.If your list of channels is getting close to that limit, you should figure out a way to split them into two separate teams.

Historial de canalesChannel History

Hay tanto soluciones gratuitas en GitHub como soluciones de pago que puede usar, en función de los requisitos de su organización, para conservar el historial de canales privados y públicos.There are both free solutions on GitHub and paid solutions you can use, depending on your organization’s requirements to retain Channel History of Public and Private channels. Además, esto se podría incluir en Teams con un script.Additionally, this could be scripted into Teams.

Una vez haya configurado la nueva estructura de equipos y canales en Teams, puede copiar los archivos exportados a las bibliotecas de documentos adecuadas en sus canales de Teams.Once you’ve set up your new team and channel structure in Teams, you can copy the exported files into the appropriate document libraries in your Teams channels.

Hay varios métodos que puede utilizar para automatizar la importación de contenido.To automate the importing of your content, there are several approaches you can consider. Existen soluciones gratuitas en GitHub (ChannelSurf o el Visor de exportación de Slack) y soluciones de asociados.There are free solutions on GitHub (ChannelSurf or Slack Export Viewer) and partner solutions. Elija una solución en función de las necesidades de su organización.Choose a solution based on your organization’s needs.

Archivos de canalesChannel Files

La mayoría de las soluciones exportarán los archivos.Most solutions will export files. Sin embargo, normalmente se proporcionan como vínculos en el historial de canales que requieren una clave de API para recuperarlos mediante programación.However, they’re typically provided as links in the Channel History that require an API key to programmatically retrieve.

En el caso de los archivos almacenados en Slack, una vez que haya configurado los equipos y canales en Teams, podrá copiarlos mediante programación desde Slack al canal de destino de Teams.For files stored in Slack, once you’ve set up your teams and channels in Teams, you can programmatically copy them from Slack into the target Teams channel.

El siguiente script recupera archivos de Slack.The following script retrieves files from Slack. Realiza una búsqueda de la exportación especificada en su ordenador, crea una carpeta en cada canal de destino y descarga todos los archivos en esa ubicación.It searches the specified Slack export on your computer, creates a folder in each target channel, and downloads all of the files to that location. Hay soluciones de terceros que pueden extraer datos.Third-party solutions exist that can extract data. Si necesita ayuda con PowerShell, consulte Introducción a Azure PowerShell.If you need help with PowerShell, read Get started with Azure PowerShell.

$ExportPath = ".\slackHistory"
$ExportContents = Get-ChildItem -path $ExportPath -Recurse
Function Get-TimeStamp {
    return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
}

class File {
    [string] $Name
    [string] $Title
    [string] $Channel
    [string] $DownloadURL
    [string] $MimeType
    [double] $Size
    [string] $ParentPath
    [string] $Time
}

$channelList = Get-Content -Raw -Path .\slackHistory\channels.json | ConvertFrom-Json
$Files = New-Object -TypeName System.Collections.ObjectModel.Collection["File"]

Write-Host -ForegroundColor Green "$(Get-TimeStamp) Starting Step 1 (processing channel export for files) of 2. Total Channel Count: $($channelList.Count)"
#Iterate through each Channel listed in the Archive
foreach ($channel in $channelList) {
    #Iterate through Channel folders from the Export
    foreach ($folder in $ExportContents)
    {
        #If Channel Name matches..
        if ($channel.name -eq $folder){
            $channelJsons = Get-ChildItem -Path $folder.FullName -File
            Write-Host -ForegroundColor White "$(Get-TimeStamp) Info: Starting to process $($channelJsons.Count) days of content for #$($channel.name)."
            #Start processing the daily JSON for files
            foreach ($json in $channelJsons){
                $currentJson = Get-Content -Raw -Path $json.FullName | ConvertFrom-Json
                #Write-Host -ForegroundColor Yellow "$(Get-TimeStamp) Info: Processing $($json.Name) in #$($channel.name).."
                #Iterate through every action
                foreach ($entry in $currentJson){
                    #If the action contained file(s)..
                    if($null -ne $entry.files){
                        #Iterate through each file and add it to the List of Files to download
                        foreach ($item in $entry.Files) {
                        $file = New-Object -TypeName File
                            if ($null -ne $item.url_private_download){
                                $file.Name = $item.name
                                $file.Title = $item.Title
                                $file.Channel = $channel.name
                                $file.DownloadURL = $item.url_private_download
                                $file.MimeType = $item.mimetype
                                $file.Size = $item.size
                                $file.ParentPath = $folder.FullName
                                $file.Time = $item.created
                                $files.Add($file)
                            }
                        }
                    }
                }
            }
        }
    }
}
Write-Host -ForegroundColor Green "$(Get-TimeStamp) Step 1 of 2 complete. `n"

Write-Host -ForegroundColor Green "$(Get-TimeStamp) Starting step 2 (creating folders and downloading files) of 2."
#Determine which Files folders need to be created
$FoldersToMake = New-Object System.Collections.ObjectModel.Collection["string"]
foreach ($file in $files){
    if ($FoldersToMake -notcontains $file.Channel){
        $FoldersToMake.Add($file.Channel)
    }
}

#Create Folders
foreach ($folder in $FoldersToMake){
    #$fullFolderPath = $file.ParentPath + "\Files"
    $fullFolderPath = $ExportPath +"\$($folder)"
    $fullFilesPath = $ExportPath +"\$($folder)\Files"
    if (-not (Test-Path $fullFilesPath)){
        New-Item -Path $fullFolderPath  -Name "Files" -ItemType "directory"
    }
}

#Downloading Files
foreach ($file in $files)
{
    Write-Host -ForegroundColor Yellow "$(Get-TimeStamp) Downloading $($file.Name)."
    $fullFilePath = $file.ParentPath + "\Files\" + $file.Name
        if (-not (Test-Path $fullFilePath)){
            try{
                $request = (New-Object System.Net.WebClient).DownloadFile($file.DownloadURL, $fullFilePath)
            }
            catch [System.Net.WebException]{
                Write-Host -ForegroundColor Red "$(Get-TimeStamp) Error: Unable to download $($file.Name) to $($fullFilePath)"
            }   
        }
        else {
            try{
                $extensionPosition = $file.name.LastIndexOf('.')
                $splitFileName = $file.name.Substring(0,$extensionPosition)
                $splitFileExtention = $file.name.Substring($extensionPosition)
                $newFileName = $splitFileName + $file.Time + $splitFileExtention
                $fullFilePath = $file.ParentPath + "\Files\" + $newFileName
                $request = (New-Object System.Net.WebClient).DownloadFile($file.DownloadURL, $fullFilePath)
            }
            catch [System.Net.WebException]{
                Write-Host -ForegroundColor Red "$(Get-TimeStamp) Error: Unable to download $($file.Name) to $($fullFilePath)"
            }   
        }
}
Write-Host -ForegroundColor Green "$(Get-TimeStamp) Step 2 of 2 complete. `n"
Write-Host -ForegroundColor Green "$(Get-TimeStamp) Exiting.."

Aplicaciones e integraciones personalizadasApps and Custom Integrations

Revise su lista de aplicaciones e integraciones personalizadas de Slack (con sus configuraciones) y elija las que quiere migrar a Teams.Review your list of Slack apps and custom integrations (with configurations) and decide which ones you want to move to Teams. Compruebe el catálogo de soluciones de Teams para ver si hay una aplicación disponible.Check the Teams Marketplace to see if an app is available. Si no es así, es probable que haya alternativas.If not, there are likely alternatives.

Para averiguar qué aplicaciones agregar a Teams, es importante que comprenda cómo se usa la aplicación.To figure out which apps to add to Teams, it’s important to understand how the app is being used. Al realizar la pregunta "¿qué funcionalidad ofrece la aplicación para este canal?", obtendrá información sobre los resultados que proporciona la aplicación.By asking the question "what functionality is the app providing to this channel?", you'll learn about the outcome the app is delivering.

En muchos casos, las aplicaciones reciben principalmente datos basados en eventos desde un servicio externo (por ejemplo, el sistema de supervisión) e insertan un mensaje en Slack.In many cases, apps primarily receive event-driven data from an external service (for example, monitoring system) and push a message into Slack. Puede obtener el mismo resultado si usa un conector de Microsoft 365 que pueda insertar mensajes en Teams basándose en eventos.You can achieve the same outcome by using a Microsoft 365 Connector that can push messages into Teams based on events.

A continuación se muestran ejemplos de soluciones de Slack en las que se utilizó un conector de Office 365 en Teams para la integración.Below are examples of Slack solutions where an Office 365 Connector was used in Teams for integration.

Preparación del usuario y plan de adopciónUser readiness and adoption plan

El pilar de cualquier implementación correcta de software depende de cómo estén preparados los usuarios para el cambio.The cornerstone of any successful software deployment hinges on how prepared users are for the change. Los usuarios de su organización que usan Slack comprenderán fácilmente los conceptos de Teams, pero sigue siendo necesario un aprendizaje para ayudarles a realizar una transición sin problemas.Users in your organization using Slack will easily understand Teams concepts, but training is still needed to help them make a smooth transition. Para obtener un conjunto completo de recursos para la adopción de Teams, vaya al centro de adopción de Teams.For a comprehensive set of Teams adoption resources, go to the Teams adoption hub.

Por ejemplo, los dos productos cuentan con canales, pero estos se usan de forma diferente en cada producto.For example, both products feature channels, but they’re used differently in each product. Por ejemplo, a menudo un canal en Slack se usa como un chat en Teams, para conversaciones transaccionales y a corto plazo.For example, often a Channel in Slack is used like a chat in Teams for short-term, transactional conversations. Otras diferencias notables se encuentran en la configuración de las notificaciones y en las conversaciones encadenadas o no encadenadas.Other notable differences are around threaded/non-threaded conversations and tuning notification settings.

Consulte nuestra variada biblioteca de Vídeos de aprendizaje de Teams para usuarios finales.Check out our rich library of End-user Teams video training.

Migración a TeamsMove to Teams

Ahora que ha definido el plan de transición, puede empezar a crear sus equipos y canales en Teams.Now that your transition plan is defined, you can begin creating your teams and channels in Teams.

Una vez que haya creado los equipos y canales, inicie la copia de archivos de los canales de Slack a Teams y configure las aplicaciones.Once you’ve created your teams & channels, begin copying files from Slack channels into Teams and configuring your apps. Si utiliza una solución para conservar el historial, también puede configurarla ahora.If you’re using a solution to retain history, that can be configured now as well. Una vez hecho estará listo para iniciar la concesión de licencias para los usuarios (si aún no tienen licencia) y agregarlos a los equipos adecuados.Then you’re ready to start licensing users (if they aren’t licensed already) and adding them to the appropriate teams. Para reducir la necesidad de exportaciones y copias adicionales de archivos, considere la posibilidad de eliminar el acceso a Slack en una fecha acordada que coincida con la adición de cada usuario al equipo.To reduce the need for additional exports and file copies, consider removing Slack access at an agreed-upon date that coincides with each user’s addition to the team. Así evitará tener que volver a exportar e importar los cambios en los archivos y el historial.This avoids needing to re-export and import delta changes on files and history.

Siga los pasos del diagrama siguiente para implementar Teams en su organización.Follow the steps in the diagram below to roll out Teams in your organization. Para obtener más información, consulte Cómo implementar equipos.For more information, check out How to roll out Teams.

Diagrama en el que se muestran los pasos para migrar a Teams desde Slack.