UiPath Documentation
studio
latest
false
Guía del usuario de Studio
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Acerca de la herramienta Migrador de actividades

Migrate legacy automation projects to the modern UiPath platform using the Activity Migrator CLI tool.

Propósito del Migrador de actividades

El migrador de actividades es una herramienta esencial de interfaz de línea de comandos (CLI) para las organizaciones que hacen la transición de proyectos de automatización heredados a la moderna UiPath Platform, lo que permite el acceso a las características y capacidades más recientes:

  • Automatiza el proceso de migración simplificando y agilizando la transferencia de la configuración y las dependencias del proceso.
  • Reduce el esfuerzo manual y los errores garantizando la coherencia y la precisión durante la migración, en lugar de transferir dependencias y actividades manualmente.

Escenarios de migración admitidos

Migración del marco del proyecto

Se recomienda encarecidamente migrar un proyecto de Windows: heredado a la compatibilidad de Windows por diversos motivos estratégicos, técnicos y relacionados con el soporte:

  1. Rendimiento mejorado: los proyectos de Windows se ejecutan más rápido y de forma más eficiente debido a una mejor integración con .NET Core y las API modernas de Windows.
  2. Mejor compatibilidad con bibliotecas externas: los proyectos de Windows admiten versiones más recientes de bibliotecas y dependencias, lo que facilita la integración con sistemas externos.

Acceso a capacidades modernas de UI Automation

Muchas características nuevas de UI Automation, como Unified Target y Healing Agent, solo son compatibles con el marco moderno de UI Automation. Por lo tanto, es necesario migrar desde las actividades clásicas de UI Automation a la experiencia moderna.

Migración de actividades obsoletas de Outlook

Microsoft está cancelando Outlook clásico y fomentando la adopción de Microsoft 365. Como Resultado, el Migrador de actividades permite hacer la transición de dependencias de automatización desde UiPath.Mail.Activities (que depende de la API clásica de Outlook) a UiPath.MicrosoftOffice365.Activities que se basa en UiPath Integration Service.

GSuite activities migration

To benefit from the latest enhancements, we recommend using the Integration Service connections-based Google Workspace activities. The Activity Migrator supports converting classic activities to modern activities within the same UiPath.GSuite.Activities package. These modern activities automate across Google Workspace (formerly known as GSuite) applications, covering six services: Gmail, Calendar, Drive, Docs, Sheets, and Apps Script.

Migrador de actividad frente al convertidor de Studio Windows: heredado

Usa el conversor de Studio Windows: heredado cuando:

  • Solo necesitas convertir los proyectos de Windows: heredado a Windows uno por uno.
  • No se requieren migraciones de actividades.

Usa el migrador de actividades cuando:

  • Quieres convertir varios proyectos de Windows: heredado a Windows (admite conversión en masa).
  • Migration of UI Automation, Mail, or classic GSuite activities is needed.
  • Se aplica cualquier combinación de los escenarios anteriores.

Dónde obtener el Migrador de actividades

Sigue los pasos a continuación para descargar la herramienta:

  1. Ve a UiPath Automation Cloud.
  2. Selecciona el botón Ayuda en la esquina superior derecha.
  3. En Recursos, selecciona Descargas.
  4. Under the Featured Download list, select Activity Migrator Tool.
  5. Selecciona el enlace de descarga.

Resultado

El archivo Migrador de actividades .zip se descarga en tu máquina. Extráelo e instala la herramienta en la carpeta <tool-install-dir> antes de ejecutar cualquier comando.

Requisitos

  • Si la herramienta se utiliza en una máquina en la que Studio no está instalado, instala .NET Desktop Runtime 8.0.
  • Abre proyectos migrados con las versiones 2024.10 o posteriores de Studio.

Cómo utilizar el Migrador de actividades

Comando: <tool-install-dir>\UiPath.Upgrade.exe

Uso: UiPath.Upgrade.exe [command] [options]

Opciones globales

OpciónDescripción
-?, -h, --helpMuestra la información de ayuda y uso.

Comandos disponibles

ComandoDescripción
versionMostrar información de la versión.
analyzeAnaliza un proyecto para migrarlo sin realizar cambios.
upgradeMigra un proyecto o partes del mismo.
bulkAnaliza o migra todos los proyectos de una carpeta.

Analizar un proyecto

Esta opción simula la migración y genera un informe sin realizar la migración real ni modificar el proyecto.

Comando: <tool-install-dir>\UiPath.Upgrade.exe analyze

Uso: UiPath.Upgrade.exe analyze [options]

OpciónDescripción
-?, -h, --helpMuestra la información de ayuda y uso.
-p, --project-path (obligatorio)Ruta al proyecto que analizar o actualizar. La carpeta proporcionada como <project-path> debe contener el archivo project.json del proyecto.
-o, --output-pathRuta de salida para el proyecto actualizado (opcional). Si no se especifica, se crea una nueva carpeta con el sufijo _Upgraded.
-v, --verboseHabilitar el registro verbose.
-f, --output-formatFormato de salida: console (predeterminado) o sarif.
-e, --extension-directoryDirectorio en el que buscar extensiones. Solo para uso avanzado.
--ignore-missing-dependenciesIgnora las dependencias que faltan durante la actualización. Las dependencias que faltan aparecen como advertencias. Los flujos de trabajo afectados pueden informar de que faltan tipos, dar error al compilar o dar error al realizar otras migraciones necesarias.
--orchestrator-urlLa URL completa de Orchestrator, incluido el nombre de la organización (por ejemplo, https://cloud.uipath.com/myorg). Si no se especifica, se utiliza la conexión de Studio. Cuando se especifica, también debes proporcionar credenciales a través del Token de acceso personal (PAT) utilizando --orchestrator-pat o el ID de aplicación y el secreto externos utilizando --orchestrator-application-id y --orchestrator-application-secret.
--orchestrator-tenantEl nombre del tenant de Orchestrator. El valor predeterminado es DefaultTenant si no se especifica.
--orchestrator-patToken de acceso personal (PAT) para la autenticación de Orchestrator, que se utiliza para acceder a las fuentes de la biblioteca de Orchestrator. Crea un token de acceso personal y añade un ámbito de acceso a la API de Orchestrator OR.Execution.Read. Consulta Tokens de acceso personal.Como alternativa, configura un ID de aplicación y un secreto utilizando --orchestrator-application-id y --orchestrator-application-secret.
--orchestrator-application-idID de aplicación de OAuth para la autenticación de Orchestrator (alternativa a PAT). Úsala con --orchestrator-application-secret. Consulta Gestionar aplicaciones de OAuth externas.
--orchestrator-application-secretSecreto de aplicación OAuth para la autenticación de Orchestrator (alternativa a PAT). Úsala con --orchestrator-application-id. Consulta Gestionar aplicaciones de OAuth externas.
--enabled-extensionsComma-separated list of extensions to enable. See Available extensions.
--disabled-extensionsLista separada por comas de extensiones que deshabilitar. Las extensiones disponibles se rellenan dinámicamente en función de las extensiones descubiertas.
--disable-all-extensionsDeshabilita todas las extensiones. Esta opción es mutuamente excluyente con --enabled-extensions y --disabled-extensions.
--uia-package-versionLa versión del paquete de actividades de UI Automation que se utilizará para la migración. El valor predeterminado es 25.10.21 si no se especifica. La versión de destino debe ser superior a la predeterminada. Si no es así, se utiliza la predeterminada.
--uia-fix-selector-strategyCuando se establece en true, corrige la ambigüedad de la enumeración SelectorStrategy en expresiones preexistentes después de la migración. Se aplica a la versión 25.10.29 de UIAutomation o posteriores. Predeterminado: false. La ambigüedad resulta de la enumeración SelectorStrategy existente tanto en el UiPath.Core como en los espacios de nombres UiPath.UIAutomationNext.Enums. El uso del nombre completamente cualificado resuelve esta incidencia.
--uia-enable-partial-migrationMigrate activities even when full compatibility cannot be guaranteed. The migration generates the closest supported equivalent, which may require manual adjustments to function correctly. Requires UI Automation package 25.10.38 or later (see --uia-package-version). This option is ignored when using earlier package versions. Default: false.
--mail-o365-package-versionLa versión del paquete de actividades de Microsoft Office 365 que se utilizará en la migración. El valor predeterminado es la versión 3.6.10. La versión de destino debe ser superior a la predeterminada. Si no es así, se utiliza la predeterminada.
--config, --mail-configEspecifica la ruta a un Archivo JSON de configuración personalizado. La configuración puede utilizarse para modificar el comportamiento predeterminado de ciertas actividades o asignar valores constantes a propiedades que requieren la entrada del usuario durante la migración. Consulta Archivo de Configuración.
--gsuite-package-versionThe version of the UiPath.GSuite.Activities activities package to use for migration. Defaults to version 3.8.10 if not specified. The target version must be higher than the default version. If the target version is lower, the default version will be used.
--gsuite-configEspecifica la ruta a un Archivo JSON de configuración personalizado. La configuración puede utilizarse para modificar el comportamiento predeterminado de ciertas actividades o asignar valores constantes a propiedades que requieren la entrada del usuario durante la migración. Consulta Archivo de Configuración.
--gsuite-migrate-onlyComma-separated list of services included in GSuite migrator (case sensitive). Available values: gmail, calendar, drive, docs, sheets, appsscript. If specified, only those services will be run.

Migrar un proyecto

Esta opción realiza la migración real de un proyecto o de partes del mismo.

Comando: <tool-install-dir>\UiPath.Upgrade.exe upgrade

Uso: UiPath.Upgrade.exe upgrade [options]

OpciónDescripción
-?, -h, --helpMuestra la información de ayuda y uso.
-p, --project-path (obligatorio)Ruta a la carpeta que contiene el archivo project.json del proyecto.
-o, --output-pathRuta de salida para el proyecto actualizado (opcional). Si no se especifica, se crea una nueva carpeta con el sufijo _Upgraded.
-v, --verboseHabilitar el registro verbose.
-f, --output-formatFormato de salida: console (predeterminado) o sarif.
-e, --extension-directoryDirectorio en el que buscar extensiones. Solo para uso avanzado.
--ignore-missing-dependenciesIgnora las dependencias que faltan durante la actualización. Las dependencias que faltan aparecen como advertencias. Los flujos de trabajo afectados pueden informar de que faltan tipos, dar error al compilar o dar error al realizar otras migraciones necesarias.
--orchestrator-urlLa URL completa de Orchestrator, incluido el nombre de la organización. Si no se especifica, se utiliza la conexión de Studio. Cuando se especifica, se requieren credenciales.
--orchestrator-tenantEl nombre del tenant de Orchestrator. El valor predeterminado es DefaultTenant si no se especifica.
--orchestrator-patToken de acceso personal (PAT) para la autenticación de Orchestrator. Requiere el ámbito OR.Execution.Read.
--orchestrator-application-idID de aplicación de OAuth para la autenticación de Orchestrator (alternativa a PAT).
--orchestrator-application-secretSecreto de aplicación OAuth (alternativa a PAT).
--enabled-extensionsComma-separated list of extensions to enable. See Available extensions.
--disabled-extensionsLista separada por comas de extensiones que deshabilitar. Las extensiones disponibles se rellenan dinámicamente en función de las extensiones descubiertas.
--disable-all-extensionsDeshabilita todas las extensiones. Mutuamente excluyentes con --enabled-extensions y --disabled-extensions.
--uia-package-versionVersión del paquete de destino UiPath.UIAutomation.Activities. Es 25.10.21 de forma predeterminada.
--uia-fix-selector-strategyCuando se establece en true, corrige la ambigüedad de la enumeración SelectorStrategy en expresiones preexistentes después de la migración. Se aplica a la versión 25.10.29 de UIAutomation o posteriores. Predeterminado: false. La ambigüedad resulta de la enumeración SelectorStrategy existente tanto en el UiPath.Core como en los espacios de nombres UiPath.UIAutomationNext.Enums. El uso del nombre completamente cualificado resuelve esta incidencia.
--uia-enable-partial-migrationMigrate activities even when full compatibility cannot be guaranteed. The migration generates the closest supported equivalent, which may require manual adjustments to function correctly. Requires UI Automation package 25.10.38 or later (see --uia-package-version). This option is ignored when using earlier package versions. Default: false.
--mail-o365-package-versionLa versión del paquete de actividades de Microsoft Office 365 que se utilizará en la migración. El valor predeterminado es la versión 3.6.10. La versión de destino debe ser superior a la predeterminada. Si no es así, se utiliza la predeterminada.
--config, --mail-configEspecifica la ruta a un Archivo JSON de configuración personalizado. La configuración puede utilizarse para modificar el comportamiento predeterminado de ciertas actividades o asignar valores constantes a propiedades que requieren la entrada del usuario durante la migración. Consulta Archivo de Configuración.
--gsuite-package-versionThe version of the UiPath.GSuite.Activities activities package to use for migration. Defaults to version 3.8.10 if not specified. The target version must be higher than the default version. If the target version is lower, the default version will be used.
--gsuite-configEspecifica la ruta a un Archivo JSON de configuración personalizado. La configuración puede utilizarse para modificar el comportamiento predeterminado de ciertas actividades o asignar valores constantes a propiedades que requieren la entrada del usuario durante la migración. Consulta Archivo de Configuración.
--gsuite-migrate-onlyComma-separated list of services included in GSuite migrator (case sensitive). Available values: gmail, calendar, drive, docs, sheets, appsscript. If specified, only those services will be run.

Migración en masa de repositorios

Esta opción analiza o migra todos los proyectos que se encuentran en una jerarquía de carpetas.

Comando: <tool-install-dir>\UiPath.Upgrade.exe bulk

Uso: UiPath.Upgrade.exe bulk [options]

OpciónDescripción
-?, -h, --helpMuestra la información de ayuda y uso.
-p, --path (obligatorio)Ruta al repositorio o carpeta. La migración se realiza en todas las subcarpetas que contienen un archivo project.json.
-c, --command (obligatorio)Comando para ejecutar: analyze o upgrade.
-v, --verboseHabilitar el registro verbose.
-o, --output-pathRuta raíz de salida para proyectos actualizados. Esta carpeta se crea si no existe. Se crea una nueva carpeta con el sufijo _Upgraded para el proyecto actualizado.
--orchestrator-urlLa URL completa de Orchestrator, incluido el nombre de la organización.
--orchestrator-tenantEl nombre del tenant de Orchestrator. El valor predeterminado es DefaultTenant si no se especifica.
--orchestrator-patToken de acceso personal (PAT) para la autenticación de Orchestrator. Requiere el ámbito OR.Execution.Read.
--orchestrator-application-idID de aplicación de OAuth para la autenticación de Orchestrator (alternativa a PAT).
--orchestrator-application-secretSecreto de aplicación OAuth (alternativa a PAT).
--enabled-extensionsComma-separated list of extensions to enable. See Available extensions.
--disabled-extensionsLista separada por comas de extensiones que deshabilitar. Las extensiones disponibles se rellenan dinámicamente en función de las extensiones descubiertas.
--disable-all-extensionsDeshabilita todas las extensiones. Mutuamente excluyentes con --enabled-extensions y --disabled-extensions.

Ejemplos

Analiza un solo proyecto con salida verbose:

UiPath.Upgrade.exe analyze -p C:\to-migrate\LegacyProcess -v
UiPath.Upgrade.exe analyze -p C:\to-migrate\LegacyProcess -v

Migra un proyecto y especifica una versión de paquete de UI Automation de destino:

UiPath.Upgrade.exe upgrade -p C:\to-migrate\LegacyProcess -o C:\to-migrate\WindowsProcess --uia-package-version=25.10.27 -v
UiPath.Upgrade.exe upgrade -p C:\to-migrate\LegacyProcess -o C:\to-migrate\WindowsProcess --uia-package-version=25.10.27 -v

Migra un proyecto utilizando una configuración de conexión personalizada:

UiPath.Upgrade.exe upgrade --project-path=C:\to-migrate\LegacyProcess --config=C:\to-migrate\connection.json
UiPath.Upgrade.exe upgrade --project-path=C:\to-migrate\LegacyProcess --config=C:\to-migrate\connection.json

Ejecuta un análisis masivo en una carpeta:

UiPath.Upgrade.exe bulk -p C:\to-migrate -c analyze
UiPath.Upgrade.exe bulk -p C:\to-migrate -c analyze

Migrate only Mail and GSuite classic activities in the project, without touching other activities, such as UI Automation classic activities:

UiPath.Upgrade.exe upgrade --project-path="C:\To Migrate\LegacyProcess" --enabled-extensions=MailActivities,GSuiteActivities
UiPath.Upgrade.exe upgrade --project-path="C:\To Migrate\LegacyProcess" --enabled-extensions=MailActivities,GSuiteActivities

Migrate only the Legacy project to Windows (same as Studio Windows - Legacy converter). The command does not migrate any of the supported activity types:

UiPath.Upgrade.exe upgrade -p "C:\To Migrate\LegacyProcess" -o "C:\To Migrate\WindowsProcess" --disable-all-extensions
UiPath.Upgrade.exe upgrade -p "C:\To Migrate\LegacyProcess" -o "C:\To Migrate\WindowsProcess" --disable-all-extensions
Nota:
  • Las opciones de línea de comandos utilizan las siguientes convenciones:
    • Las opciones cortas (por ejemplo, -p value) deben utilizar un espacio para separar la opción de su valor.
    • Las opciones largas (por ejemplo, --project-path=value) suelen utilizar el signo igual para vincular explícitamente el valor al indicador específico. En la mayoría de los casos, las opciones largas también pueden especificarse utilizando un espacio (por ejemplo, --project-path value). La opción --config es una excepción y solo admite la sintaxis del signo igual (por ejemplo, --config=value).
  • La salida predeterminada del comando upgrade es un informe SARIF almacenado bajo una carpeta .upgrade en el proyecto original. El proyecto migrado se guarda en la ruta de salida.

Supported syntax for collections

Several CLI options accept collection values: --enabled-extensions, --disabled-extensions, and --gsuite-migrate-only. Each supports multiple syntaxes for specifying values.

Formatos compatibles

For example, all of these bind the same values to the ["drive", "gmail"] collection:

  • Comma-separated: --gsuite-migrate-only=drive,gmail or --gsuite-migrate-only=drive --gsuite-migrate-only=gmail
  • Space-separated: --gsuite-migrate-only drive,gmail or --gsuite-migrate-only drive --gsuite-migrate-only gmail
  • Colon syntax (less common): --gsuite-migrate-only:drive,gmail
  • Mixed syntax: --gsuite-migrate-only=drive --gsuite-migrate-only gmail

Comportamiento predeterminado

If the option is missing from the command:

  • --gsuite-migrate-only - migrates all Google Workspace services
  • --enabled-extensions - all extensions are enabled
  • --disabled-extensions- no extensions are disabled
Nota:

Specifying an occurrence with no values (for example, --gsuite-migrate-only "") is rejected by the validator.

Available extensions

The following extensions can be specified for the --enabled-extensions or --disabled-extensions option:

ExtensiónDescripción
UiAutomationActivitiesMigrates classic UI Automation activities in the UiPath.UIAutomation.Activities package to modern UI Automation activities.
MailActivitiesMigrates dependencies from UiPath.Mail.Activities (classic Outlook-based activities) to UiPath.MicrosoftOffice365.Activities (Integration Service–based activities).
MicrosoftActivitiesExtensionTries to convert activities from the Microsoft.Activities.Extensions package, which works only on .NET Framework (Legacy).
GSuiteActivitiesMigrates classic GSuite activities in the UiPath.GSuite.Activities package to modern activities within the same package.

Ejemplo: --enabled-extensions MailActivities,GSuiteActivities

By default, all extensions are enabled. If the --enabled-extensions option is not specified, the analyze, upgrade, and bulk commands will process all the activities in supported packages.

Archivo de configuración

Usa un archivo de configuración para establecer valores constantes para las propiedades de la actividad que requieren entrada manual durante la migración, o para anular el comportamiento de migración predeterminado.

Pass the file path to the migrator using the --config option with the assignment operator =, as in this example: --config=C:\to-migrate\connection.json. You must use the appropriate config option depending on the migration type:

  • For Outlook Mail activities migration: --config or --mail-config
  • For classic GSuite activities migration: --gsuite-config

El archivo de configuración debe seguir este formato:

{
  "{reserved-configuration-key}": "{value}",
  "...": "...",
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "{property-name}": "{property-value}"
  }
}
{
  "{reserved-configuration-key}": "{value}",
  "...": "...",
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "{property-name}": "{property-value}"
  }
}
Special Notes
  • The only {property-name} that can be assigned is ConnectionId.
  • * acts as a wildcard and matches any value in {path-to-workflow}, {connector-type} and {activity-display-name}. Thus, multiple workflows or activities can be specified for the same collection of properties. When multiple entries match the same workflow, activity, connector tuple, only the last match is applied.
  • The [{connector-type}] part is optional. When omitted, the entry matches any activity regardless of connector type. When specified, the entry only matches activities bound to that connector. At least one of [{connector-type}] or {activity-display-name} must be present.
Reserved Configuration Keys

{reserved-configuration-key} representa cambios de comportamiento específicos de la actividad:

  • SaveOutlookMailMessage_IgnoreSaveAsType: si se establece en true, la opción deshabilita la marca Save as type de tipos no compatibles. Por lo tanto, la actividad puede migrarse independientemente del Save as type option.
Available Connector Types

The following connector types can be used with the [{connector-type}] pattern:

Google (GSuite) connectors:

  • uipath-google-drive: Google Drive connector
  • uipath-google-docs: Google Docs connector
  • uipath-google-sheets: Google Spreadsheets connector
  • uipath-google-gmail: Gmail connector
  • uipath-google-workspace: Google Workspace connector
  • uipath-google-tasks: Google Tasks connector
  • uipath-google-forms: Google Forms connector

Microsoft connectors:

  • uipath-microsoft-outlook365: Microsoft Outlook 365 Graph connector
  • uipath-microsoft-outlook365ews: Microsoft Outlook 365 EWS (Exchange Web Services) connector
  • uipath-microsoft-onedrive: Microsoft OneDrive connector
  • uipath-microsoft-365: Microsoft Office 365 connector
  • uipath-mail-mail: Mail connector

Obtener el ConnectionId de Orchestrator

A partir de marzo de 2026, las conexiones se han movido de Integration Service a Orchestrator.Puedes recuperar el ConnectionId directamente desde la URL de conexión en Orchestrator:

  1. Ve a tu conexión en Orchestrator: ve a la carpeta de Orchestrator donde se encuentra tu conexión de Microsoft Outlook 365.
  2. Open the connection: Select the connection to view its details.
  3. Comprueba la URL: El ConnectionId es visible en la URL del explorador con el siguiente formato: https://cloud.uipath.com/{OrganizationName}/{TenantName}/orchestrator_/connections/{ConnectionId}/edit/tid={TId}
Resultado

El ID de conexión es visible en la URL del navegador en el formato .../connections/{ConnectionId}/edit/tid={TId}.

Setting Connection IDs for Mail activities

The ConnectionId property is not populated automatically during migration. You must set it manually per workflow/activity using a configuration file. The configuration file can be passed to the Activity Migrator using the --config <config> or --mail-config <config> command line argument.

The following example assigns different connection IDs to specific Productivity activities (Microsoft Office 365), using a wildcard fallback:

{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "*\\Projects\\MailMigration\\Main.xaml > Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\* > Send Mail": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "*\\Projects\\MailMigration\\Main.xaml > Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\* > Send Mail": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}

En este ejemplo:

  • * > * coincide con todas las actividades y actúa como alternativa cuando no hay entradas coincidentes a continuación.
  • *\\Projects\\MailMigration\\Main.xaml > Get * coincide con cualquier actividad cuyo nombre para mostrar comience con Get en Main.xaml.
  • *\\Projects\\MailMigration\\* > Send Mail coincide con la actividad Send Mail en todos los flujos de trabajo de la carpeta MailMigration.
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "* > [uipath-microsoft-outlook365] *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\Main.xaml > [uipath-microsoft-outlook365] Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "* > [uipath-microsoft-outlook365] *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\Main.xaml > [uipath-microsoft-outlook365] Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}

En este ejemplo:

  • * > * coincide con todas las actividades y actúa como alternativa cuando no hay entradas coincidentes a continuación.
  • * > [uipath-microsoft-outlook365] * overrides for all Outlook activities.
  • *\\Projects\\MailMigration\\Main.xaml > [uipath-microsoft-outlook365] Get * further narrows to Get * activities in a specific workflow.

Setting Connection IDs for GSuite activities

The modern Connection-Service activities require a ConnectionId that the migrator generally cannot infer. Two cases:

  1. Inside an OAuth GSuiteApplicationScope — the activity inherits the scope's connection at run time, so ConnectionId is left empty (UseConnectionService is set to false on the activity).
  2. Outside a scope, OR after a connection-service scope was unwrapped to a Sequence during migration — the activity needs an explicit ConnectionId. The migrator cannot generate one because Studio runtime, not the migrator, owns the IS connection lifecycle.

To unblock this case the migrator accepts a JSON config file (--gsuite-config <path>) that declaratively maps activity instances to ConnectionId values. The same mechanism is used by Mail (--mail-config, alias --config).

{
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  }
}
{
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  }
}

In the schema above, each rule is a glob over three coordinates:

  • {path-to-workflow} — the workflow file path (Windows-style separators normalised). * is a wildcard.
  • [{connector-type}]optional. The IS connector key bound to the modern activity (e.g. uipath-google-drive, uipath-google-gmail). If omitted, the rule matches any connector.
  • {activity-display-name} — the display name of the migrated activity. * is a wildcard.

When multiple rules match the same workflow + activity + connector tuple, the last match wins per property, and properties set by an earlier match are preserved when not overwritten — making it easy to layer a global default with per-activity overrides:

{
  "* > *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  },
  "* > [uipath-google-drive] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000002"
  },
  "*\\Projects\\Demo\\Main.xaml > [uipath-google-drive] Get *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000003"
  },
  "* > [uipath-google-sheets] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000004"
  },
  "* > [uipath-google-docs] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000005"
  },
  "* > [uipath-google-gmail] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000006"
  }
}
{
  "* > *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  },
  "* > [uipath-google-drive] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000002"
  },
  "*\\Projects\\Demo\\Main.xaml > [uipath-google-drive] Get *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000003"
  },
  "* > [uipath-google-sheets] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000004"
  },
  "* > [uipath-google-docs] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000005"
  },
  "* > [uipath-google-gmail] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000006"
  }
}

The example above also configures different connection IDs for different Google Workspace services (Drive, Sheets, Docs, Gmail).

ConnectionId is the only property the config can populate. When a ConnectionId is required but no rule matches, the migrator emits an action required pointing the user back at the config file.

Comportamiento del ámbito de la aplicación de UI Automation después de la migración

La mayoría de las actividades modernas de UI Automation requieren un ámbito de aplicación (actividad Usar aplicación/explorador). Durante la migración, se crean dos tipos de ámbitos:

Ámbitos creados orgánicamente

Estos ámbitos se generan automáticamente al migrar actividades clásicas con ámbito, como Abrir Explorador y Asociar Explorador. Estos ámbitos no están optimizados para evitar alterar la intención y el flujo originales del flujo de trabajo migrado.

Ámbitos generados sintéticamente

Estos ámbitos se generan para garantizar que el flujo de trabajo se compila y se ejecuta correctamente después de la migración. Cuando dos ámbitos consecutivos tienen propiedades idénticas (por ejemplo, el mismo selector o motor de OCR), se fusionan en un solo ámbito conservando el orden original de la actividad.

Limitaciones

Actividades UIAutomation

  • La versión de destino mínima admitida de UiPath.UIAutomation.Activities es 25.10.21.
  • Algunas propiedades de actividad tienen limitaciones de migración. Consulta las listas de actividades compatibles:
  • Los flujos de trabajo migrados que utilizan actividades modernas de UI Automation pueden ejecutarse más lentamente que los flujos de trabajo originales que utilizan actividades clásicas de UI Automation.

Actividades de productividad

Limitaciones de la herramienta

  • De forma predeterminada, la herramienta Migrador de actividad utiliza fuentes NuGet configuradas en NuGet.config: Oficial, Local y Marketplace. Para incluir fuentes de la biblioteca de Orchestrator, utiliza las opciones para los comandos analyze, upgrade y bulk: --orchestrator-url, --orchestrator-tenant, --orchestrator-pat, --orchestrator-application-id y --orchestrator-application-secret.
  • Las actividades que utilizan tipos o ensamblajes generados dinámicamente (por ejemplo, algunas actividades de Excel pueden tener nombres de columna como propiedades en un tipo generado dinámicamente) pueden causar un error de tipo no encontrado en archivos .xaml después de la migración.

Regla del analizador de flujo de trabajo de Studio

  • The ST-AMG-001 Workflow Analyzer rule is available starting with Studio 2024.10.25 LTS, Studio 2025.10.8 LTS and Studio 2026.0.189 STS.

Prácticas recomendadas de migración

Antes de la migración

  1. Haz copias de seguridad de tus proyectos: crea siempre una copia de seguridad completa antes de ejecutar cualquier comando de migración.
  2. Actualizar Studio y los paquetes de actividades: utiliza la última versión de UiPath Studio y asegúrate de que las versiones del paquete de destino cumplan los requisitos mínimos (UiPath.UIAutomation.Activities >= 25.10.21 y UiPath.MicrosoftOffice365.Activities >= 3.6.10).
  3. Analizar antes de actualizar: ejecuta el comando analyze primero. Usa UiPath.Upgrade.exe analyze -p -v para generar un informe SARIF e identificar posibles incidencias sin modificar el proyecto.
  4. Verificar las dependencias y las fuentes NuGet: confirma que las fuentes Oficial, Local y de Marketplace están configuradas correctamente en NuGet.config.
  5. Migra primero las bibliotecas cuando un proyecto depende de proyectos de biblioteca: solo entonces migra los proyectos que las consumen.

Durante la migración

  1. Comienza con un solo proyecto: prueba la migración en un proyecto usando UiPath.Upgrade.exe upgrade -p -v antes de ejecutar una operación en masa.
  2. Usa la migración en masa para varios proyectos: una vez validada, ejecuta UiPath.Upgrade.exe bulk -p -v. Asegúrate de que la estructura de carpetas esté limpia y sea coherente.
  3. Proporciona un archivo de configuración para los ID de conexión: para las actividades de Microsoft 365 o GSuite, crea un archivo de configuración con los valores ConnectionId requeridos y pásalo con --config:
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    }
}
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    }
}

Después de la migración

  1. Revisa el informe SARIF: consulta la carpeta .upgrade en el directorio del proyecto y soluciona cualquier incidencia marcada.
  2. Abre el proyecto migrado en Studio y ejecuta Analizar proyecto: revisa los resultados de la regla del Analizador de flujo de trabajo ST-AMG-001 (disponible en Studio 2025.10.8 Soporte a largo plazo/Studio 2026.0.189 STS o superior) para identificar actividades que requieren acciones tras la migración.
  3. Validar ámbitos de aplicación: confirma que los ámbitos fusionados se comportan como se espera. Probar flujos de trabajo con actividades Usar aplicación/explorador.
  4. Ejecutar pruebas de extremo a extremo: ejecuta los flujos de trabajo migrados en un entorno controlado antes de implementarlos en producción.

Rendimiento y mantenimiento

  1. Optimizar los selectores de UI Automation: después de la migración, revisa la precisión y la estabilidad de los selectores.
  2. Supervisar el tiempo de ejecución: las actividades modernas pueden ejecutarse más lentas al principio. Optimiza donde sea necesario.
  3. Documenta tus cambios: lleva un registro de los proyectos migrados, las versiones de destino y las configuraciones aplicadas con fines de auditoría y reversión.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado