¿Qué considerar para ejecución en paralelo?

Rocketbot puede ejecutar robots en paralelo. Si una máquina tiene una licencia de producción tipo S, permite 24 horas de ejecución secuencial de procesos concatenados. La licencia L, que permite 10 robots en paralelo, permite hasta 240 horas de ejecución por día en una misma máquina o instancia, siempre que el proceso lo permita.

Cuadro de condiciones

El siguiente cuadro grafica, cuándo y en qué condiciones se pueden ejecutar robots en paralelo.

Tipo de aplicación a automatizar Posibilidad Requisitos Solución Alternativa
Sistemas WEB internos El sistema debe permitir correr múltiples sesiones por equipo  
Sistemas WEB externos    
Bases de datos    
APIs    
Correo    
SAP con GUI Scripting Yes Habilitar en SAP GUI Scripting y una sesión por Bot  
Aplicación Java Cliente Servidor Probable -La aplicación debe permitir correr múltiples sesiones en la misma máquina.-Cada BOT requiere tener una cuenta de acceso.-La aplicación cliente debe ser una aplicación Java(basada en swing y awt) que se pueda grabar en Java Recorder  
Aplicación Windows Cliente Servidor Yes -La aplicación cliente debe permitir correr múltiples sesiones en la misma máquina.-Cada BOT requiere tener una cuenta de acceso.-La aplicación cliente debe ser una aplicación Windows(basada en C# o .net)que se pueda grabar con Desktop Recorder Rocketbot  
Microsoft Word Yes Solo si los BOTs trabajan sobre Archivos Word diferentes  
Microsoft Excel Yes Solo si los BOTs trabajan sobre Archivos Excel diferentes  
Aplicación que obligue al uso de tratamiento de imágenes(OCR) o virtualización para su automatización No No se puede automatizar en paralelo sobre una misma máquina Usar VMs sobre un mismo Servidor o equipos físicos. Con licencias individuales Onpremise S(Si requiere usar Xperience).

Ejemplo de Ejecución en Paralelo de Procesos en la Misma Máquina

Imaginemos que tenemos una máquina con una licencia L de Rocketbot que permite ejecutar 10 robots en paralelo. Queremos automatizar varias tareas de la empresa durante el día.

  1. Proceso de Entrada de Datos:

    • Un robot extrae datos de correos electrónicos recibidos y los ingresa en un sistema CRM.
    • Tiempo estimado de ejecución: 2 horas.

  2. Proceso de Generación de Reportes:

    • Otro robot genera reportes de ventas diarias a partir de datos en una base de datos.
    • Tiempo estimado de ejecución: 1 hora.

  3. Proceso de Facturación:

    • Un tercer robot automatiza la creación y envío de facturas a los clientes.
    • Tiempo estimado de ejecución: 3 horas.

  4. Proceso de Análisis de Datos:

    • Un cuarto robot analiza los datos de las ventas y produce un informe de tendencias.
    • Tiempo estimado de ejecución: 4 horas.

  5. Proceso de Actualización de Inventario:

    • Un quinto robot actualiza el inventario basado en las ventas y compras del día.
    • Tiempo estimado de ejecución: 2 horas.

Ejecución en Paralelo

Con la licencia L, podemos ejecutar estos robots en paralelo. Aquí hay un ejemplo de cómo se vería:

  • 8:00 AM – 10:00 AM:

    • Robot 1 ejecuta el Proceso de Entrada de Datos.
    • Robot 2 ejecuta el Proceso de Generación de Reportes.

  • 10:00 AM – 1:00 PM:

    • Robot 3 comienza el Proceso de Facturación.
    • Robot 4 comienza el Proceso de Análisis de Datos.

  • 1:00 PM – 3:00 PM:

    • Robot 5 ejecuta el Proceso de Actualización de Inventario.

Total de Horas Utilizadas

  • Proceso de Entrada de Datos: 2 horas.
  • Proceso de Generación de Reportes: 1 hora.
  • Proceso de Facturación: 3 horas.
  • Proceso de Análisis de Datos: 4 horas.
  • Proceso de Actualización de Inventario: 2 horas.

Total de horas utilizadas: 12 horas de ejecución distribuida en paralelo.

En este ejemplo, la capacidad de ejecutar robots en paralelo permite que múltiples tareas se completen en menos tiempo, aprovechando al máximo las 240 horas disponibles por día de la licencia L.

Consideraciones

Tenga en cuenta los requerimientos de hardware para el paralelismo revisando este link.




Studio Rocketbot – Variables internas

Rocketbot Studio cuenta con variables nativas que puedes utilizar para acceder a información rápidamente. Estas variables pueden ser utilizadas desde cualquier comando y no necesitas crearla en la sección de variables o generar una acción para generarlas.

Variable Descripción
%rocketbot_last_status% dict.
Almacena el estado del último comando ejecutado.
{‘status’: ‘True’, ‘message’: ‘setvar ‘, ‘img’: ”, ‘vars’: [], ‘ifs’: [], ‘extra’: [], ‘time’: ‘0.004066944122314453’}
%log_path% str.
Almacena la ruta del archivo log de la ejecución en curso
%base_path% str.
Almacena la ruta de la carpeta de rocketbot
%date% str.
Almacena la fecha y hora actual. El formato es YYYY-MM-DD HH:MM:SS.ms
%day% str.
Retorna el día al momento de usar la variable
%month% str.
Retorna el mes al momento de usar la variable
%year% int.
Retorna el año al momento de usar la variable
%hour% int.
Retorna la hora al momento de usar la variable
%minute% int.
Retorna el minuto al momento de usar la variable
%second% int.
Retorna el segundo al momento de usar la variable
%milisecond% str.
Almacena la parte de los milisegundos de la hora al momento de usar la variable
%machine% str.
Almacena el nombre de la máquina donde se está ejecutando el proceso
%tab% str.
Contiene un tab
%newline% str.
Contiene un salto de línea o nueva linea
%enter% str.
Contiene un salto de línea o nueva linea
%osname% str.
Almacena el nombre del sistema operativo
%username% str.
Almacena el nombre de usuario de la computadora
%db_path% str.
Almacena la ruta de la base de datos
%project_path% str.
Almacena la ruta de la carpeta de la base de datos. Para versiones superior a la 2024, corresponde a la carpeta del proyecto
%robot_name% str.
Contiene el nombre del robot
%production% bool.
Retorna True si la ejecución es en producción. En caso contrario, retorna False



Matriz de responsabilidad

Optimiza la Gestión de Tareas con la Matriz de Responsabilidades de Rocketbot RPA

Actividad Rocketbot Cliente
Hardware Y Software Proveer los requisitos de instalación Requerimientos de Hardware y Software Proporcionar los recursos de infraestructura necesarios para instalar Rocketbot Studio.

Instalar aplicaciones necesarias para el funcionamiento del proceso como Ms Office, SAP, etc.

Actualizaciones Proveer actualizaciones de módulos.

Proveer actualizaciones LTS (Long Term Support) de la suite de Rocketbot Studio y aplicaciones de la Suite.

Porveer actualizaciones de Orquestador y sus componentes.

Publicar el set de actualizaciones en https://github.com/rocketbot-cl/rocketbot

Instalar las actualizaciones emitidas por Rocketbot con las herramientas de update de la Suite de RocketbotStudio.

Instalar updates cuando lo informe los addons de Studio de modulos o desde https://market.rocketbot.com/

Seguridad de la Información Tener normas internacionales que aseguren los datos y procesos como la norma ISO27001/2.

Encriptar los datos en reposo y transición de los componentes de orquestador y robots que se encuentren en las nubes de Rocketbot.

Aplicar reglas y normas de seguridad para proteger los runner/robots y procesos que corren de manera on premise

Proteger los codigo de robots en desarrollo antes de pasar a producción

Backup y recuperación Tener un RTO (tiempo objetivo de recuperación) de 2hs y un RPO (objetivo de punto de recuperación) de 24hs para servicios web (orquestador, sistema de licencias, etc) declarado en nuestra norma ISO27001 Realizar copias de seguridad de Rocketbot Studio, bots y logs ya que los mismos se encuentran de manera onpremise.
Soporte Proveer soporte basado en estos lineamientos ¿Cómo funciona el soporte de Rocketbot? Gestionar y apoyar la infraestructura y los requisitos previos de los componentes externos para recibir soporte
Uso de APIs Externas (ej. Gemini, ChatGPT, otros) Informar sobre la posibilidad de integrar APIs de terceros.
Rocketbot no puede garantizar la seguridad ni protección de la información enviada a estos servicios, al estar fuera de su infraestructura y control.
Evaluar, aprobar y responsabilizarse del uso de APIs externas.
Implementar medidas de cumplimiento y seguridad necesarias al integrar servicios de terceros.

Nota Importante sobre APIs Externas

Cuando se utilizan APIs de terceros (por ejemplo, Gemini, ChatGPT u otros servicios de IA externos a la Suite Rocketbot), Rocketbot no tiene control ni puede garantizar la protección, privacidad o tratamiento de los datos enviados a dichos servicios. La responsabilidad de evaluar y aprobar el uso de estas integraciones recae en el cliente, incluyendo aspectos legales, de cumplimiento y de seguridad de la información.




¿Cómo funciona el soporte de Rocketbot?

Rocketbot proporciona soporte acerca de sus herramientas y servicios exclusivamente a través de Slack y el Foro.

Rocketbot no tiene la obligación de responder incidencias enviadas a través de otro medio.

El acceso a los canales de soporte está dada por las siguientes condiciones:

  • Slack: Para desarrolladores BBR1+ con licencia de producción
  • Foro: Para todos los miembros de la comunidad

Horarios de atención (Zona horaria de Chile)

UTC-3 horario de Verano . UTC-4 horario de Invierno

El horario de soporte está fijado y dividido en el siguiente horario:

  • Soporte Completo: Desde las 9:00 hasta las 18:00. Este incluye conexiones remotas o videoconferencias
  • Solo Slack: Desde las 18:00 hasta las 20:00. Sin conexión remota ni videoconferencia

Soporte de Slack

https://slack.com/

El soporte realizado en Slack es conversacional, no requieres solicitar un ticket para realizar tu consulta, solamente debes detallarnos tu problema y un agente atenderá tu solicitud. Si la incidencia reportada no puede ser solucionada de forma inmediata o requiere que el equipo realice alguna investigación o desarrollo, se creará un ticket para dar seguimiento a la solicitud.

💡 El soporte es por CHAT, por lo tanto, debes especificar tu problema antes de solicitar una reunión. Solo si el problema no puede ser solucionado a través del canal de soporte, el equipo de soporte te pedirá conexión remota a través de Asistencia Rápida, Anydesk o TeamViewer

Tiempos de respuesta del servicio

Los tiempos de resolución dependerán del nivel de prioridad de la incidencia, la información entregada y en casos donde se solicite algún desarrollo, del grado de complejidad del mismo.

Es importante que en el primer mensaje entregues toda la información posible para que los agentes puedan entregarte una solución acertada y rápida.

Productos OnPremise

SLA Tiempos máximos
Primer tiempo de respuesta 30 minutos
Resolución de errores 4 horas
Actualización de componentes 2 días
Creación de un nuevo componente 5 días

Productos SaaS

SLA Tiempos máximos
Primer tiempo de respuesta 30 minutos
Resolución de errores 7 dias (6 dias a QA – 1 a Producción)
Actualización de componentes 4 días (comando dentro de módulo 1 I+D, 2 QA, 1 Prod.)
Creación de un nuevo componente 10 dias.

Rocketbot hará todos los esfuerzos razonables para responder a las solicitudes, pero no está obligado a respetar los tiempos de respuesta indicados.

Niveles de prioridad

  • Prioridad 1 (Urgente): Errores en el software o servicios de Rocektbot que impactan severamente producción.
  • Prioridad 2 (Alta): Errores en el software o servicio de rocketbot que afecte el paso a producción.
  • Prioridad 3 (Media): Errores que no afecten producción o que no cuenten con una alternativa que permita continuar el flujo de desarrollo del usuario
  • Prioridad 4 (Baja): Consultas y/o desarrollo de componentes que cuentan con una alternativa que permita al usuario desarrollar su proceso

¿Que información necesitas enviar?

Según corresponda, además de reportar la incidencia debes indicar alguno de los siguientes datos para recibir un soporte efectivo

  • Rocketbot Studio

    • Versión de Rocketbot
    • Nombre y versión del componente
    • Mensaje de error
    • Captura de la terminal con el comando y el error visible

  • Orquestador

    • Fecha del incidente
    • Versión del noc
    • Información de configuración del noc

  • SaaS

    • Fecha de Incidente
    • Producto afectado: Saturn, AiStudio, etc.
    • Exportable (JSON de AiStudio, JSON de Saturn)
    • Resumen del Problema y mensajes o captura de error.

Exclusión de soporte

Rocketbot no tiene la obligación de dar soporte sobre los siguientes casos:

  • Errores presentados en software no desarrollados por rocketbot
  • Errores ocurridos en versiones anteriores de Rocketbot y que sean corregidos en la actualización
  • Desarrollo o actualización de scripts en lenguajes de programación
  • Configuración de ambientes no proporcionados por rocketbot
  • El incumplimiento por parte del cliente de cualquier configuración requerida, o de seguir las políticas o prácticas pertinentes

Soporte en el Foro

https://forum.rocketbot.com/

Las respuestas a las preguntas en el foro, son respondidas tanto por la comunidad como por Rocketbot. La comunicación no es directa, por lo que los tiempos de respuesta son variables.

¿Como realizar una pregunta?

  • Escribe una titulo descriptivo y específico del problema: Una pregunta con un buen título no solo mejora las posibilidades de que alguien pueda ayudarte, sino que, también ayuda a otros desarrolladores poder encontrar la solución para el mismo problema.
  • Usa tags asociados a tu problema: Incluye a tu pregunta todos los tags que se relacionen a tu problema, estos tag pueden ser:

    • Nombre del comando
    • Ambiente de desarrollo
    • Sistema operativo
    • Versión de Rocketbot

  • Adjunta captura de pantalla: Es importante que la captura sea tanto del comando como de la terminal de Rocketbot. Si es un proceso en producción, puedes adjuntar el archivo log de la ejecución.
  • Detalla la pregunta en la descripción: En la descripción de la pregunta, detalla lo más posible tu problema, escribe el comando utilizado, datos contenido en la variable utilizada, versión del comando y de Rocketbot, sistema operativo, entre otros.
Confeccionado por: Corina Suarez
Versión v2.0
Fecha de última actualización 29/10/2025
Revisado por: Nicolas Garcia
Aprobado por: David Cuello
Codigo: ROC-SLA-SUPPORT



Requerimientos de Hardware y Software

Los requerimientos siempre dependeran del proceso y de la cantidad de robots/runner en paralelos siendo el minimo 4GB memoria, IntelCore i3 y 10Gb extras.

Hardware:

Equipo / Instancia de Escritorio desarrollo

Mínimo Recomendado
Procesador
Intel Core i3-4340 or AMD FX-6300
Almacenamiento
10GB
Memoria
4GB RAM
Procesador
Intel Core i5
Almacenamiento
175GB
Memoria
8GB RAM

Equipo / Instancia de Escritorio producción

Para licencia tipo “S” Para licencia tipo “M” Para licencia tipo “L”
Memoria RAM: 8gb Memoria RAM: 16gb Memoria RAM: 32gb
Almacenamiento: 175GB Almacenamiento: 175GB Almacenamiento: 200gb
Procesador: Intel Core i5 o Superior Procesador: Intel Core i5 o Superior Procesador: Intel Core i7 o Superior

Equipo / Instancia VM de producción

Para licencia tipo “S” Para licencia tipo “M” Para licencia tipo “L”
Memoria RAM: 8gb Memoria RAM: 16gb Memoria RAM: 32gb
Almacenamiento: 100GB Almacenamiento: 100GB Almacenamiento: 100gb
vCPUs 2 vCPUs 4 vCPUs 8
* Seleccionar 1

Software recomendado

OS:

MS Windows Linux MacOsX
Windows 11 o Superior
Windows Server 2016 o Superior
Ubuntu 22.04
RHEL
Sonoma

Navegadores web

  • Google Chrome
  • Mozilla Firefox
  • Microsoft Edge

Permisos de red y dominios

Para la conexión con Orquestador debe estar habilitado el acceso a:

  • *.myrb.io
  • Puerto: 443 (HTTPS)

El puerto 443 debe estar libre y permitido para conexiones salientes sin inspección profunda (SSL inspection).

Conectividad y rendimiento

Para evitar timeouts y desconexiones durante ejecuciones o conexiones con Orquestador, se requieren:

  • Tiempo de respuesta máximo recomendado (timeout): ≤ 30 segundos
  • Ancho de banda mínimo recomendado: 200–250 Mbps

Habilitar URL




Como recibir información desde un robot en formularios Xperience

La funcionalidad principal de Xperience es enviar los datos ingresados por el usuario y enviarlos al robot para que utilice esa información, pero algunas veces necesitamos que el robot sea quien envíe información de vuelta al formulario para mostrar información al usuario.

En el formulario

  1. Crear un formulario o ir a un formulario existente
  2. Habilitar la opción Send API
  3. En el menú Javascript, agregar la siguiente librería → xperience.js
    Captura del input CDN de Xperience
  4. En la consola de Javascript agregar lo siguiente
rocket.on('start', (xperience, data) => {
  console.log('DATA: ', data) // esta línea te permite ver el resultado en la consola del formulario     
  //Acá el código inicial, lo que envía el robot la primera vez
})

rocket.on('change', (xperience, res) => {                                                                           
  if (res.success) {
    console.log('RES: ',res) // esta línea te permite ver el resultado en la consola del formulario
    //Acá la información que estará enviando el robot posteriormente
  }

}); 

En el robot

1. Crear una variable llamada xperience . Esta variable la llenará el comando Get Form queue data del módulo Xperience

2. Utilizar el comando Return Message to Xperience para enviar un mensaje de vuelta al formulario

💡 Puedes enviar cualquier tipo de dato permitido por Rocketbot y este se enviará como un string.
   Es importante hacer un JSON.parse desde el formulario al recibir los datos.

   result = JSON.parse(res.data.replaceAll("'", '"'));

3. Utilizar el comando Send File to Xperience para enviar un archivo y alojarlo en Xperience

💡 Puedes obtener el archivo mediante postman con el siguiente endpoint de lectura:

GET: /api/form/extraFile/{xperience}/{token}

Siendo {xperience} la variable generada en el punto nro 1, y {token} el resultado del comando 
Send File to Xperience

Ejemplo

El ejemplo te permite mostrar una ventana de alerta con los datos retornados desde el robot

💡Para que te funcione el código, tienes que agregar esta url a los CDN: //cdn.jsdelivr.net/npm/sweetalert2@11

rocket.on('change', (xperience, res) => {                                                                        
  if (res.success) {
    console.log('RES: ',res) // esta línea te permite ver el resultado en la consola del formulario
    if(res.data){
       swal.fire({
        title: 'Estos son los datos enviados desde el robot ' + res.data,
        icon: 'info',
      });
    }
  }else{
     swal.fire({
        title: 'Ocurrió un error al solicitar datos',
        icon: 'error'
      });
 }

}); 



Instalación Rocketbot Studio

Descubre en esta guía todos los pasos necesarios para llevar a cabo la instalación de Rocketbot Studio de manera sencilla y eficiente. Desde la descarga hasta la resolución de posibles alertas durante la instalación, te proporcionamos una completa orientación para que puedas comenzar a automatizar tus procesos de manera exitosa.

Windows

Requisitos Previos

Mínimos

Procesador Intel Core i3-4340 or AMD FX-6300
Almacenamiento 10GB
Memoria 4GB RAM

Recomendados

Procesador Intel Core i5
Almacenamiento 175GB
Memoria 8GB RAM

Descarga

  1. Ir la página de Rocketbot 👉🏻 Descargar Studio, al final de la página debemos clickear el botón Descargar para Windows, fijarse que sea la última versión.

  2. Una vez descargado, descomprimimos el archivo .zip en la ubicación que queramos
  3. Abrir como Administrador el ejecutable llamado rocketbot.exe

Licenciamiento

Veremos 2 opciones, selecciona el tipo de licenciamiento

  • Get License: Si no cuentas previamente con una licencia de Orquestador, entonces elige esta opción para solicitar la licencia exclusiva de Rocketbot Studio.
  • Login: Si tu administrador del Orquestador te proporcionó credenciales y token, entonces elige esta opción y úsalos para iniciar Rocketbot Studio.

Get License

Abrirá Rocketbot Studio en nuestro navegador predeterminado con la dirección localhost:5000 y nos indicará que no contamos con una licencia activa, damos click en el botón Close

Nos mostrará un token el cual debemos copiar con el botón rojo ubicado a la derecha

Clickeamos en la palabra aquí la cual nos redirigirá a la página de licencias.

Licencia de Desarrollo:

Debemos completar los datos solicitados y en Ambiente debe estar marcado Desarrollo.

Licencia de Producción:

Debemos completar los datos solicitados y en Ambiente debe estar marcado Producción, esto habilitará 2 opciones más:

  1. Orden de compra: Donde debemos adjuntar el PDF con la OC
  2. CRM Code: Código entregado por tu PAM

Finalmente en la casilla de Token pegaremos el token anteriormente copiado desde Rocketbot Studio y enviamos el formulario.

A la casilla de correo indicada en el formulario, nos llegará la licencia

La copiamos, volvemos a Rocketbot Studio y la pegamos, finalmente damos click en el botón Validar

Nos mostrará un mensaje en la esquina inferior izquierda indicando que el licenciamiento fue exitoso.

Login

Nos mostrará una ventana para introducir las credenciales entregadas por nuestro administrador de Orquestador

Una vez ingresadas, si el login es correcto, nos mostrará el mensaje en la consola de Rocketbot y levantará Studio en nuestro navegador por defecto.


macOS

Requisitos Previos

  1. Debemos tener instalado xcode, si no lo tenemos, lo podemos realizar con la siguiente instrucción desde el Terminal xcode-select --install
  2. Debemos habilitar el Terminal en Privacidad y Seguridad
    • En versiones anteriores a Ventura, ir a Seguridad y PrivacidadPrivacidad → Herramientas para desarrolladores


    • Desde Ventura en adelante ir a Seguridad y Privacidad → Herramientas para desarrolladores


Descarga

  1. Ir la página de Rocketbot 👉🏻 Descargar Studio, al final de la página debemos clickear el botón Descargar para macOS, fijarse que sea la última versión.
  2. Una vez descargado, descomprimimos el archivo .zip en la ubicación que queramos
  3. Abrir la carpeta y dar doble click en el archivo ejecutable llamado rocketbot


  4. Al dar doble click en el ejecutable, nos mostrará un mensaje de aviso donde indica que no se puede abrir la aplicación ya que no es un desarrollador identificado, damos click en OK para cerrar el aviso y realizar los siguientes pasos


    Ir a Preferencias del Sistema → Seguridad y Privacidad


    Nos aparecerá el siguiente mensaje, damos click en “Abrir”.


    Esto nos abrirá nuestro navegador predeterminado con la dirección localhost:5000, damos click en Close

Licenciamiento

Veremos 2 opciones, selecciona el tipo de licenciamiento

  • Get License: Si no cuentas previamente con una licencia de Orquestador, entonces elige esta opción para solicitar la licencia exclusiva de Rocketbot Studio.
  • Login: Si tu administrador del Orquestador te proporcionó credenciales y token, entonces elige esta opción y úsalos para iniciar Rocketbot Studio.

Get License

Abrirá Rocketbot Studio en nuestro navegador predeterminado con la dirección localhost:5000 (o el puerto que hayamos configurado en rocketbot.ini) y nos indicará que no contamos con una licencia activa, damos click en el botón Close

Nos mostrará un token el cual debemos copiar con el botón rojo ubicado a la derecha

Clickeamos en la palabra aquí la cual nos redirigirá a la página de licencias.

Licencia de Desarrollo:

Debemos completar los datos solicitados y en Ambiente debe estar marcado Desarrollo.

Licencia de Producción:

Debemos completar los datos solicitados y en Ambiente debe estar marcado Producción, esto habilitará 2 opciones más:

  1. Orden de compra: Donde debemos adjuntar el PD con la OC
  2. CRM Code: Código entregado por tu PAM

Finalmente en la casilla de Token pegaremos el token anteriormente copiado desde Rocketbot Studio y enviamos el formulario.

A la casilla de correo indicada en el formulario, nos llegará la licencia

La copiamos, volvemos a Rocketbot Studio y la pegamos, finalmente damos click en el botón Validar

Nos mostrará un mensaje en la esquina inferior izquierda indicando que el licenciamiento fue exitoso.

Login

Nos mostrará una ventana para introducir las credenciales entregadas por nuestro administrador de Orquestador

Una vez ingresadas, si el login es correcto, nos mostrará el mensaje en la consola de Rocketbot y levantará Studio en nuestro navegador por defecto.

Errores comunes

  1. Si cuando ejecutamos Rocketbot nos arroja alertas de Python o de alguna librería como estos ejemplos:



    Debemos cancelar la alerta y dar los permisos de seguridad correspondientes, ir a 👉🏻 Activar el Terminal

  2. Si no tenemos la opción de Herramientas para desarrolladores (Developer Tools), debemos abrir una ventana de Terminal y escribir el siguiente comando spctl developer-mode enable-terminal con eso ya nos debe aparecer.
  3. Si al abrir localhost:5000 nos aparece un error de acceso denegado a localhost, debemos cambiar el puerto de Rocketbot


    Para cambiar el puerto debemos ir a la carpeta de Rocketbot y abrir el archivo rocketbot.ini

💡Nota:
Al cambiar el puerto debemos reiniciar rocketbot para que se vuelva a abrir con el nuevo




Rocketbot Addon: Remote Desktop Helper

Cree un archivo .rdp para conectarse a un Escritorio remoto automáticamente

Un problema común, que suele presentarse al enviar a producción un bot en el servidor de tu cliente, es que el mismo por políticas de IT de la empresa no permite mantener la sesión al desconectarse. Aun cuando se utilice realice la desconexión vía TSCON (Documentación: RPA en Servidores Virtuales – Rocketbot Docs).

Como solución a este inconveniente y para que no sea necesario intervenir manualmente en la apertura del ambiente para que el/los bot/os programados puedan ejecutarse correctamente, se puede crear un nuevo usuario en el mismo ambiente (que no este sujeto a las políticas del ambiente productivo) que solo cumpla la función de ejecutar un archivo .rdp que se conecte al ambiente donde Rocketbot debe ejecutarse de manera programada. Al abrir una sesión mediante RDP se posibilita la ejecución de los bots con normalidad.

Para facilitar la creación de este archivo .rdp Rocketbot creo la herramienta RDP Helper.

Antes de utilizar la herramienta:

Inicie sesión en el escritorio remoto con un usuario con privilegios administrativos.Abra una línea de comando y escriba control userpasswords2

Ventana de Símbolo del sistema con comando para abrir Cuentas de usuario

Abra la pestaña Avanzado y en Administración avanzada de usuarios haga clic en el botón Avanzado.

Ventana Cuentas de usuario

Ventana Cuentas de usuario – Pestaña Avanzado

Seleccione Usuarios, haga clic derecho en el panel central y seleccione Nuevo usuario.

Ventana Usuarios y grupos locales

Complete el formulario con el nombre de usuario y la contraseña y marque la opción La contraseña nunca caduca.

Ventana Nuevo Usuario

Cierre esa ventana y regrese a Cuentas de usuario, abra la pestaña Usuarios, seleccione el usuario creado y haga clic en el botón Propiedades.

Ventana Usuarios y grupos locales – Menú desplegable de usuario

En la ventana Propiedades de usuario, abra la pestaña Miembro de, haga clic en Agregar, luego haga clic en Avanzado.

Ventana Propiedades de <usuario>

Ventana Seleccionar Grupos

Haga clic en Buscar ahora y seleccione Usuario de escritorio remoto.

Ventana Seleccionar Grupos (Avanzado)

Finalmente aplique los cambios.

⚠️Importante:
El usuario creado no debe estar bajo las políticas del que tiene la instancia productiva Rocketbot.

Como configurar la herramienta:

  1. Conéctese a la cuenta y abra Rocketbot Studio (No es necesaria una licencia productiva, con una de desarrollador es suficiente).
  2. Abra el complemento Asistente de Escritorio remoto y complete el formulario con los datos necesarios para realizar una Conexión a Escritorio remoto sobre la cuenta que posee el Rocketbot productivo. Una vez completado con lo solicitado:

    • IP del ambiente
    • Usuario y Contraseña
    • Carpeta donde guardar el archivo a crear
    • Nombre del archivos .rdp que se creara
    • Modo (Opcional, por defecto será Pantalla Completa, pero puede seleccionarse modo Ventana)
    • Resolución con la cual abrir el escritorio remoto (800×600; 1024×768; 1920×1080; etc.).
      Nota: Debe ser la resolución con la cual se desarrollo el bot.

  3. Dar guardar para crear el archivo .rdp.
  4. Cree una tarea automatizada para ejecutar el archivo generado así se abrirá el escritorio remoto para ejecutar los bots en el horario programado sin intervención humana.
  5. Desconéctese de la cuenta creada para ejecutar el archivo .rdp usando TSCON.bat (Documentación)

💡Nota:
El usuario donde se ejecutara el archivo .rdp no necesita tener Rocketbot instalado, salvo el caso en que se desee crear el archivo mencionado allí.




Despliegue de Rocketbot en GCP

En esta guía, te explicaremos los pasos para crear una máquina virtual (VM) en Google Cloud Platform (GCP) y montar Rocketbot Studio para ejecutar robots.

Arquitectura recomendada.

Crear y administrar VM de Windows Server

Compute Engine proporciona imágenes públicas con Windows Server que puedes usar para crear instancias.

Antes de comenzar

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

Nota: Si no planeas conservar los recursos que creaste durante este procedimiento, crea un proyecto en lugar de seleccionar uno existente. Cuando termines, puedes borrar el proyecto y quitar todos los recursos asociados con él.

Ir al selector de proyectos

  1. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
  2. Habilita la API de Compute Engine. Habilitar la API de Compute Engine
  3. Si no usas Windows en tu máquina local, instala un cliente de RDP, como el Escritorio remoto de Chrome.

Crea una instancia de VM de Windows Server

En la consola de Google Cloud, ve a la página Crear una instancia.

Ir a Crear una instancia

En la sección Disco de arranque, haz clic en Cambiar para comenzar a configurar el disco de arranque.

En la pestaña Public images, selecciona Windows Server en la lista Sistema operativo.

Elige Windows Server 2019 Datacenter en la lista Versión.

Haz clic en Seleccionar.

En la sección Firewall, selecciona Permitir tráfico HTTP.

Para crear la VM, haz clic en Crear.

Espera un momento hasta que se inicie la instancia de VM. Una vez que la instancia esté lista, se mostrará en la página Instancias de VM con un ícono de estado verde.

Conéctate a las VM de Windows mediante RDP

WINDOWS


En este documento, se describe cómo conectarse a instancias de máquina virtual (VM) de Windows mediante RDP. Para conocer otras formas de conectarse a las VM de Windows, consulta Conéctate a las VM de Windows mediante PowerShell y Conéctate a las VM de Windows mediante SSH.

Antes de comenzar

Conéctate a VM de Windows mediante RDP

Compute Engine admite varias formas de conectarte a tus instancias de Windows.

La mejor manera de conectarse al escritorio remoto de una instancia de Windows depende de varios factores:

  • Si te conectas desde cualquier lugar de la Internet pública (Conectar desde > Cualquier de la ilustración anterior), es mejor habilitar la redirección de TCP de Identity-Aware Proxy para tu proyecto. Luego, usa IAP Desktop (en Windows) o la CLI de Google Cloud junto con un cliente RDP. Si deseas obtener más información, consulta Clientes de escritorio remoto de Microsoft para conectarte a la instancia de Windows. Si no puedes usar el reenvío de TCP de Identity-Aware Proxy, usa el Escritorio remoto de Chrome.
  • Si la instancia de VM tiene una dirección IP pública y las reglas de firewall permiten el acceso de RDP, usa un cliente de RDP. Si deseas obtener más información, consulta Clientes de escritorio remoto de Microsoft para conectarte a la instancia de Windows.
  • Si la instancia de VM no tiene una IP pública y te conectas mediante el siguiente comando:Cloud VPN o Cloud Interconnect, puedes conectarte a la dirección IP privada de la VM mediante un cliente RDP. Para obtener más información, consulta Clientes de escritorio remoto de Microsoft.

Si tienes dificultades para conectarte mediante RDP, consulta Solución de problemas de RDP. Si no puedes conectarte a una instancia de Windows mediante el escritorio remoto, consulta Conéctate a la SAC de Windows en este documento.

Para conectarte al escritorio remoto de una instancia de Windows, usa uno de los siguientes procedimientos.

Puedes usar la app de Conexión a Escritorio remoto de Microsoft que forma parte de Windows para conectarte a instancias de Windows.

Antes de conectarte mediante la app de Conexión a Escritorio remoto de Microsoft, asegúrate de que se cumpla uno de los siguientes requisitos previos:

  • Tu instancia de VM tiene una dirección IP pública, y tus reglas de firewall permiten el tráfico de entrada de TCP desde la dirección IP pública de tu cliente hacia la instancia mediante el puerto 3389.
  • Tu red local está conectada a tu VPC mediante Cloud VPN o Cloud Interconnect, y las reglas de firewall permiten el tráfico de entrada de TCP de la dirección IP privada de tu cliente a la instancia mediante el puerto 3389.

Para conectarte con el Escritorio remoto de Microsoft Windows, sigue estos pasos:

  1. Crea una cuenta de Windows y una contraseña, si aún no tienes una.

  2. Para conectarte mediante Internet, usa la dirección IP externa. Para conectarte mediante Cloud VPN o Cloud Interconnect, usa la dirección IP interna.

    Para identificar las direcciones IP internas y externas de tu instancia de Windows, completa uno de los siguientes pasos:

    • En la consola de Google Cloud, ve a la página Instancias de VM.

      Ir a la página Instancias de VM

    • Con la CLI de gcloud, ejecuta gcloud compute instances list:

      gcloud compute instances list
      

  3. Abre la Conexión a Escritorio remoto de Microsoft Windows en tu máquina con Windows. Puedes encontrar el archivo ejecutable en %systemroot%\\system32\\mstsc.exe

  4. En el cuadro Computer, ingresa la dirección IP.

    Si configuraste la instancia con el fin de que use un número de puerto diferente para RDP, agrega ese número después de la dirección IP, por ejemplo: 1.2.3.4:3389.

  5. Haz clic en Conectar (Connect).

  6. Ingresa tu nombre de usuario y contraseña, y haz clic en Aceptar.

    Si olvidaste la contraseña, puedes restablecerla.

Fuente: https://cloud.google.com/compute/docs/instances/connecting-to-windows?hl=es-419#remote-desktop-connection-app

Instalar Rocketbot en Windows

  1. Para instalar Rocketbot dirijase a https://rocketbot.com/es/rocketbot-studio-rpa/

  2. Elija descargar y seleccione la version de Rocketbot para Windows.

  3. Descargue y descomprima el ZIP en un carpeta dentro de la maquina donde ejecutará Rocketbot. por ejemplo: C:\\rocketbot

  4. Ingrese a la carpeta de Rocketbot y ejecute la aplicacion rocketbot.exe

  5. Se abrira el navegador por defecto en el puerto 5000 (configurable) y le pedirá una licencia.

  6. Copie el Token y complete los datos en la pagina de licencias

  7. Recibirá en su correo la licencia. Pegue el código en Rocketbot Studio y comience a programar robots.

Consideraciones y TIPs

Rocketbot Studio/Runner requiere una sesion activa y desktop activo.

Mantener interfaz al desconectarse del servidor

Para evitar estos problemas, los servidores windows cuentan con un comando llamado tscon.exe que permite tomar la sesión que tienes abierta en el servidor y moverla a la consola, de esta manera tu robot tendrá una interfaz donde trabajar luego de desconectarte del servidor.

En las pestañas Desconectarme y ejecutar una tarea o Desconectarme y ejecutar ROC de la aplicación RDP-Rocketbot puedes crear un archivo bat con el comando tscon. Este archivo debes ejecutarlo como administrador cada vez que quieras desconectarte del servidor (o ejecutar tu robot, según la opción elegida) y te desconectará del servidor y mantendrá la interfaz gráfica.

Cuidado! Al no abrir el escritorio remoto desde una pantalla física, la resolución puede cambiar y ser menor. Revisa la sección tres para ver como trabajar con esto.

El bat puedes editarlo y revisar que es lo que contiene, pero resumimos lo importante acá. El bat tiene un script de powershell que obtiene el id de la sesión que estas usando al entrar al rdp y la utiliza en el comando tscon para que este la abra en la sesión de la consola.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

Si necesitas que el bat ejecute tu robot al desconectarte, verás algo así

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log

timeout 10
cd c:\\rocketbot
rocketbot.exe -start=nombre_robot

Mantener la interfaz al minimizar el escritorio remoto

Para poder minimizar el escritorio remoto y no afectar el funcionamiento del robot, debes modificar algunos registros en la máquina que abre el rdp, estos registros son:

  • Para el usuario actual:

    • HKEY_CURRENT_USER\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_CURRENT_USER\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

  • Para todos los usuarios:

    • HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Terminal Server Client (32 bit)
    • HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Terminal Server Client (64 bit)

En la pestaña Conectarme a Escritorio Remoto de la aplicación RDP-Rocketbot, puedes cambiar los registros con un solo botón. Solo recuerda ejecutar la aplicación como administrador.

Cambio de resolución al desconectarte del servidor

Si ya solucionaste los problemas anteriores, pero tu robot falla y/o aún no reconoce las imagenes, es probable que tengas un problema con la resolución. Ya mencionamos en la primera parte de este post que al desconectarte el servidor pierde la interfaz gráfica y es necesario utilizar tscon. Esto permite que el robot pueda sacar capturas, pero como el servidor ya no cuenta con tu pantalla para ajustar una resolución, toma sus propias resoluciones por defecto, que en la mayoría de los casos es de 1024×768.

Si tu robot trabaja con virtualización, este cambio de resolución puede afectarlo, por lo cual es importante que, antes de comenzar a desarrollar tu robot, revises las resoluciones que permite tu servidor al desconectarte.

En la pestaña Ver las resoluciones de pantalla de la aplicación RDP-Rocektbot, puedes ver las resoluciones que permite el servidor en la tabla Resolucoones de pantalla desde la consola de TSCON.

Esas resoluciones son las resoluciones que puedes utilizar, pero no quiere decir que puedes comenzar a construir el robot. Debes revisar la resolución que tiene el servidor al desconectarte y si es posible cambia a la resolución que necesitas. Para cambiar la resolución de pantalla, puedes utilizar el módulo Windows y también puedes utilizar el comando Sacar captura de pantalla de la sección Desktop para válidar si la resolución es la correcta o no.

Ésto lo puedes realizar con RDP-Helper, acá encontrarás los pasos necesarios 👉 Pasos Resolución

Si al salir de un escritorio remoto no es posible modificar la resolución de forma manual y/o usando el módulo de Rocketbot, puedes modificar realizar la siguiente modificación:

Buscar en el regedit todos los registros que se llamen DefaultSettings_XResolution y DefaultSettings_YResolution y cambiar la resolución a la que necesitas

Prevenir el bloqueo de pantalla

Para evitar que el servidor bloquee la pantalla debes, en primer lugar, consultar con el equipo de TI si es posible modificar las configuraciones necesarias para que esto no ocurra, ya que dependiendo de las politicas de seguridad de la empresa, podría no ser posible modificar esta configuración.

En la sección Configuraciones de la aplicación RDP-Rocketbot, puedes modificar los registros necesarios para deshabilitar el bloqueo de pantalla. El registro que se modificará es HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Cambiando Policies Link

For Windows 7/Windows 10/Windows Server 2012 and above:

  • Press + and type gpedit.msc

    Windows+R

  • Navigate the tree view on the left to Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Session Time Limits

  • Adjust the four settings as desired (I believe you want to adjust Set time limit for disconnected sessions and Terminate session when time limits are reached)

Habilitar Pantallas Virtuales

💡 Si experimentas problemas con la resolución de la VM, consulta la siguiente documentación al respecto.

En algunos casos, la VM solo permitía una resolución muy baja por defecto. Siguiendo la documentación indicada y asegurándonos de apagar la VM antes de activar la casilla de configuración, logramos establecer una resolución adecuada para el proceso requerido.

Conectar con Orquestador

Para conectar con el Orquestador de Rocketbot debe contar con una cuenta habilitada de Rocketbot Orchestrator Center. En la VM de GCP tiene que tener habilitado el acceso a las web *.myrb.io y *.rocketbot.com esto permitirá al cliente de orquestador NOC conectarse con las url de api de orquestador.

INSTALACIÓN Y CONFIGURACIÓN CLIENTE ORQUESTADOR

  1. Descargar cliente desde el orquestador: Haga click en el boton del menu superior del orquestod “ROC Client” para descargar el ZIP con el cliente.
  2. Descomprima noc.zip en una carpeta donde tenga permisos de escritura, no se recomienda que sea en la carpeta personal o desktop. Recomendacion : C:\\rocketbot\\noc
  3. Configurar archivo noc.ini con:
    a. Credenciales de usuario con un ROL con permisos limitados

    b. Key de instancia: Ingrese al proceso dentro del proyecto, una vez adicionado una instancia le mostrará una Key

    c. Url de orquestador, ej: https://roc.myrb.io/s4 (sin / final) d. Ruta de instalación de Rocketbot, incluyendo ejecutable. por ejemplo c:\\rocketbot
  4. Ejecute noc.exe y el cliente de orquestador mostrara que la instancia está conectada.



Server con Múltiples Usuarios

La duda recurrente es “¿Cómo es el licenciamiento en una máquina donde acceden múltiples usuarios al mismo tiempo?”.

Para este caso tenemos 3 opciones.

Opción 1:

Primero debemos revisar si dejando Rocketbot Studio en la raíz, pueden acceder todos los usuarios y utilizarlo, si es así, entonces sería 1 Licencia con X cantidad de ejecuciones en paralelo (la cantidad según el número de usuarios que se conectarán)

Opción 2:

Si no permite acceder a cada usuario a Rocketbot Studio instalado en la raíz (Opción 1), entonces debe ser una licencia por cada ambiente de usuario.

Opción 3:

Con la licencia Online se puede conectar cada usuario en cualquier máquina con Rocketbot Studio instalado, siempre y cuando tenga disponible la cantidad de conexiones necesarias.