Este documento explica cómo integrar y autenticar el módulo Google Chat dentro de Saturn Studio, permitiendo acceder, leer y administrar chats de Google de forma segura. La integración puede realizarse mediante dos métodos OAuth 2.0 con Google Cloud.
Configuración OAuth 2.0 con Google Cloud
Este método brinda mayor control sobre los permisos y seguridad, ideal para entornos de trabajo colaborativos o producción.
Crea un nuevo proyecto o selecciona uno existente desde la barra superior.
Desde la barra de búsqueda, busca y habilita la siguiente API:
Google Tasks API (requerida para crear, editar y eliminar tareas y sus listas)
Verifica que la API quede con estado Habilitado. Si no lo está, la autenticación podría completarse, pero las llamadas devolverán errores del tipo access_not_configured.
Configurar la Pantalla de consentimiento OAuth
En el menú lateral, entra a: APIs y servicios → Pantalla de consentimiento OAuth → Configurar pantalla de consentimiento.
Completa los campos solicitados:
Nombre de la aplicación
Correo de soporte
(Opcional) Logo, dominio, enlaces de privacidad y términos.
Elige el tipo de usuario según tu caso:
Tipo de usuario
Descripción
Recomendación
Interno
Solo usuarios de tu organización (requiere dominio Google Workspace).
Úsalo si tu equipo pertenece al mismo dominio.
Externo
Permite acceso a cualquier cuenta de Google (modo de prueba).
Ideal para uso personal o con cuentas @gmail.com.
🔸 Nota: en modo Externo (prueba) deberás agregar manualmente a los usuarios de prueba, incluido tu propio correo. Solo esos usuarios podrán autorizar la app mientras esté en prueba.
Guarda los cambios al finalizar.
Agregar scopes (permisos) a la app
Desde la misma sección de Pantalla de consentimiento OAuth, ve a Acceso a los datos → Agregar o quitar permisos.
Añade los siguientes scopes recomendados:
Scope
Descripción
https://www.googleapis.com/auth/userinfo.email
Accede al correo del usuario autenticado.
openid
Requerido para la autenticación mediante OAuth 2.0.
https://www.googleapis.com/auth/tasks
Crear, editar, organizar y borrar todas tus tareas
https://www.googleapis.com/auth/tasks.readonly
Consultar tus tareas.
Actualiza y guarda los cambios.
Crear el Client ID y Client Secret
Ve a APIs y servicios → Credenciales → Crear credencial → ID de cliente de OAuth.
Completa los datos de la siguiente manera:
Tipo de aplicación: Aplicación web
Nombre:Saturn Studio
URIs de redirección:https://studio.rocketbot.com/
Al guardar, Google generará:
Client ID
Client Secret Cópialos y resérvalos.
Cargar credenciales en Saturn Studio
Regresa al módulo Google Tasks en Saturn Studio y selecciona para crear una nueva credencial.
Pega el Client ID y Client Secret obtenidos en los campos correspondientes.
Guarda la credencial y realiza la conexión.
✅ Listo: tu credencial avanzada quedará configurada correctamente para el uso completo del módulo Google Tasks.
📌 Notas importantes
Usuarios externos (modo de prueba): agrega los correos de los usuarios en la lista de “Usuarios de prueba”. De lo contrario, no podrán autorizar la app.
Interno: solo disponible con cuentas de dominio empresarial (Google Workspace).
Scopes y APIs: los scopes otorgan permisos, pero las APIs habilitadas son las que permiten ejecutar las acciones.
URIs de redirección: deben coincidir exactamente con la configuración de Google Cloud.
Verificación: si deseas publicar la app (modo producción) y usas scopes sensibles, Google podría solicitar verificación del dominio, logo y políticas de privacidad.
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.
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.
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.
Asegúrate de que la VM permita el acceso a través del protocolo de escritorio remoto (RDP). De forma predeterminada, Compute Engine crea reglas de firewall que permiten el acceso RDP en el puerto TCP 3389. Para verificar que estas reglas de firewall existan, visita la página de reglas de firewall en la consola de Google Cloud y busca las reglas de firewall que permitan conexiones tcp:3389.
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 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:
Con la CLI de gcloud, ejecuta gcloud compute instances list:
gcloud compute instances list
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
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.
Haz clic en Conectar (Connect).
Ingresa tu nombre de usuario y contraseña, y haz clic en Aceptar.
Elija descargar y seleccione la version de Rocketbot para Windows.
Descargue y descomprima el ZIP en un carpeta dentro de la maquina donde ejecutará Rocketbot. por ejemplo: C:\\rocketbot
Ingrese a la carpeta de Rocketbot y ejecute la aplicacion rocketbot.exe
Se abrira el navegador por defecto en el puerto 5000 (configurable) y le pedirá una licencia.
Copie el Token y complete los datos en la pagina de licencias
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.
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
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
Descargar cliente desde el orquestador: Haga click en el boton del menu superior del orquestod “ROC Client” para descargar el ZIP con el cliente.
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
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
Ejecute noc.exe y el cliente de orquestador mostrara que la instancia está conectada.