- Primeros pasos
- Instalación y configuración
- Requisitos de hardware y software
- Acerca de las Licencias de Precios Unificados
- Acerca de las Licencias Flexibles
- Activar Studio
- Actualizar Studio
- Parámetros de la línea de comandos
- Aplicaciones y tecnologías compatibles
- Habilitación de Gmail para actividades de correo electrónico
- Deshabilitar la telemetría
- Studio Executables
- Proyectos de automatización
- Dependencias
- Tipos de flujos de trabajo
- Flujo de control
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- Registro
- La herramienta de diagnóstico
- Analizador de flujo de trabajo
- Acerca del analizador de flujo de trabajo
- ST-NMG-001: convención sobre nombres de variables
- ST-NMG-002: convención de nombres de argumentos
- ST-NMG-004: duplicación de nombres de visualización
- ST-NMG-005: anulación de variables
- ST-NMG-006: argumentos de anulación de variables
- ST-NMG-008: longitud variable excedida
- ST-NMG-009: variables de datos prefijados
- ST-NMG-011: argumentos de prefijo Datatable
- ST-NMG-012: valores predeterminados de los argumentos
- ST-NMG-016: longitud del argumento excedida
- ST-NMG-017: el nombre de la clase coincide con el espacio de nombres predeterminado
- ST-DBP-002: recuento de Argumentos elevado
- ST-DBP-003: bloque de Catch vacío
- ST-DBP-007: múltiples capas de diagramas de flujo
- ST-DPB-010: varias instancias de [flujo de trabajo] o [caso de prueba]
- ST-DBP-020: propiedades de salida no definidas
- ST-DBP-021: tiempo de espera codificado
- ST-DBP-023: flujo de trabajo vacío
- ST-DBP-024: comprobación de actividad de persistencia
- ST-DBP-025: requisito previo para la serialización de variables
- ST-DBP-027: mejor práctica de persistencia
- ST-DBP-028: requisito de serialización de argumentos
- ST-USG-005 - Propiedades de la actividad codificadas
- ST-USG-009: variables no utilizadas
- ST-USG-010: dependencias sin utilizar
- ST-USG-014: restricciones de los paquetes
- ST-USG-017: modificador de parámetro no válido
- ST-USG-020: mensajes de registro mínimos
- ST-USG-024: guardado sin usar para más adelante
- ST-USG-025: uso incorrecto de los valores guardados
- ST-USG-026: restricciones de actividad
- ST-USG-027: paquetes necesarios
- ST-USG-028: Restringir la invocación de plantillas de archivo
- ST-USG-032 - Etiquetas obligatorias
- ST-USG-034 - URL Automation Hub
- Variables
- Argumentos
- Espacios de nombres importados
- Automatizaciones codificadas
- Introducción
- Registrar servicios personalizados
- Contextos Antes y Después
- Generando código
- Generar casos de prueba codificados a partir de casos de prueba manuales
- Integración de OpenAI con los flujos de trabajo codificados
- Solicita un préstamo con UiBank
- Generación de colas con flujos de trabajo codificados y API de Orchestrator
- Utilizar proyectos de biblioteca importados en automatizaciones codificadas
- Uso de la autenticación de dos factores dentro de automatizaciones codificadas
- Conectar a MongoDB Atlas con automatizaciones codificadas
- Solución de problemas
- Automatización atendida basada en desencadenadores
- Repo. de objetos
- La herramienta ScreenScrapeJavaSupport
- Extensiones
- Acerca de las extensiones
- Herramienta SetupExtensions
- UiPathRemoteRuntime.exe no se está ejecutando en la sesión remota
- UiPath Remote Runtime impide que la sesión de Citrix pueda cerrarse
- UiPath Remote Runtime provoca una fuga de memoria
- Las versiones del paquete UiPath.UIAutomation.Activities y UiPath Remote Runtime no coinciden
- La extensión de UiPath necesaria no está instalada en la máquina remota
- Configuración de la resolución de la pantalla
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Chrome se elimina automáticamente
- Es posible que la extensión se haya dañado
- Comprueba si la extensión para Chrome está instalada y habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilitar el acceso a las URL de archivos y el modo de incógnito
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Chrome
- Extensión de Chrome en Mac
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Edge se elimina automáticamente
- Es posible que la extensión se haya dañado
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Edge
- Extensión para Safari
- Extensión para Amazon WorkSpaces
- Complemento SAP Solution Manager
- Add-in de Excel
- Pruebas de Studio
- Solución de problemas
- Acerca de la resolución de problemas
- Errores de compilación del ensamblado
- Compatibilidad y limitaciones de Microsoft App-V
- Solución de problemas de Internet Explorer x64
- Problemas de Microsoft Office
- Identificación de elementos de la interfaz de usuario en PDF con opciones de accesibilidad
- Reparar Soporte Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected
Low-Code Viewer, the Studio extension that renders coded C# workflows as a visual low-code canvas alongside the source code.
The Low-Code Viewer is a Studio extension that renders a coded workflow — a .cs file whose class derives from CodedWorkflow — as a visual, low-code workflow next to its source code, the way the classic RPA designer shows an automation.
It is aimed at developers who write coded workflows and want a clean, readable visual view of their automation without leaving the C# code.
The Low-Code Viewer is in Preview. It is distributed as a Visual Studio Code (VS Code) extension on the Open VSX marketplace and requires the latest Studio version. You can install it from the Extensions panel in Studio.
What the viewer does
The viewer provides two synchronized views of a coded workflow, keeps them in sync with the source code, and sources its activity palette from your project.
Workflow view
A Studio-style tree that covers the whole file. Every method gets a section with its variables and a row per statement, with nested containers for if, foreach, try, and similar constructs.
Graph view
A flow chart of the workflow's entry method — the method marked [Workflow], or Execute. Conditions and switches become decision nodes that fan out per branch, loops get iterate and done edges, and calls to your own methods appear as single Invoke blocks. The graph mirrors the shape of your entry method.
Following the source both ways
Moving the cursor in the editor selects the matching block, and selecting a block jumps to its line. Property edits made in the panel are written back to the C# with minimal edits, so comments and formatting are preserved.
The activity palette
When the viewer runs inside Studio, the set of activities — along with their property editors, display names, and icons — comes live from the packages your project references. In plain VS Code, without Studio, service calls still render as cards, but with generic labels and without rich property metadata.
How the viewer reads your code
The canvas is built statement by statement. Each statement either maps to a dedicated block or falls back to a raw Code block. Consecutive unrecognized statements are merged into a single code block card, so a run of unsupported code collapses into one opaque box.
The viewer never rewrites code you did not touch: anything it does not recognize is shown verbatim in a Code block card and round-trips unchanged. Nothing you write is lost, but the more of your code that falls into code blocks, the less the canvas shows.
Constructs rendered as blocks
| You write | You get |
|---|---|
system.GetAsset(...), excel.ReadRange(...), other service calls | Activity card with icon, display name, editable properties, and typed output |
Log(...), Delay(...), throw ... | Built-in activity cards (Log Message, Delay, Throw) |
var x = <expr>;, int x = 0;, x = <expr>; | Assign card ("to variable" and "value") |
count++;, count += 5; | Increment or Decrement card |
if / else if / else | Branch container; decision diamond with true and false edges in the graph |
foreach, for, while, do ... while | Loop container; loop node with an iterate back-edge in the graph |
try / catch / finally | Try container with an error path |
switch statement | Switch container with one Case arm per branch; in the graph, a decision with one labeled edge per case |
using (...) { }, lock (...) { } | Scope frame |
return <expr>;, throw <expr>; | Return row or Throw card; in the graph, both terminate the path |
MyHelper(...) (method in the same file) | Invoke block; select it to open the helper |
Helpers.Method(...) (class in another file) | Invoke block with cross-file navigation |
workflows.MyWorkflow(...) | Invoke Workflow card with In and Out argument badges |
#region Name ... #endregion | Named, collapsible group in both views |
Constructs that fall back to a code block
| Construct | Why it limits the canvas |
|---|---|
Lambdas at statement level (rows.ForEach(r => ...)) and logic inside lambdas | The lambda body is invisible to the canvas |
Local functions (void Helper() { ... } inside a method) | The whole function body is swallowed into the code block |
Declarations without an initializer (string name;) | Renders as one code block row |
Multi-variable declarations (int a = 1, b = 2;) | Renders as one code block row |
using var x = ...; (declaration form) | Renders as one code block row, and calls on x lose activity recognition |
arr[i] = value;, total *= 2;, msg += suffix; | Renders as one code block row |
To keep as much of your workflow on the canvas as possible, see Writing canvas-friendly coded workflows.