Saturn Studio – Pinecone

Pinecone es una plataforma de código abierto que ofrece una alternativa a Firebase, con un conjunto completo de herramientas de backend, que incluyen bases de datos en tiempo real, autenticación y servicios API.

Descripción de los comandos

Obtener indice

Obtener un indice de una base de datos de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para obtener un índice credential
Nombre del indice El nombre del indice a obtener Nombre del indice
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“table”[{“id”4,”created_at””2025-03-31T164319.794747+0000″,”name””John”,”lastname””Doe”},{“id”5,”created_at””2025-03-31T164356.786912+0000″,”name””John”,”lastname””Doe”}]} {var}

Eliminar Índice

Eliminar un índice de una base de datos de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para eliminar un índice credential
Nombre del índice El nombre del índice a eliminar Mi nombre indice
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“table”[{“id”450102905661143,”created_at””2025-04-03T190051.148+0000″,”name””Wikipedia”,”lastname””web”,”embed””[-0.053218544,-0.025654549…]”}]} {var}

Crear Índice

Crear un índice en una base de datos de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para crear un índice credencial
Nombre del Índice El nombre del índice a crear nombre del índice
Dimensión La dimensión de los vectores Seleccionar dimensión
Métrica La métrica de distancia para el índice de vectores Seleccionar métrica
Proveedor de Nube El proveedor de nube para el índice Seleccionar proveedor de nube
Región La región para el índice Seleccionar región
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“table”[{“id”450102905661143,”created_at””2025-04-03T190051.148+0000″,”name””Wikipedia”,”lastname””web”,”embed””[-0.053218544,-0.025654549…]”}]} {var}

Obtener un Vector

Obtener un vector de un índice de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para obtener un vector credential
Nombre del Índice El nombre del índice que contiene el vector mi-indice
ID del Vector El ID único del vector a recuperar vector-id-123
Namespace Namespace donde está almacenado el vector namespace
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“bucket”{“id””Rocket”,”name””Rocket”,”owner”””,”public”true,”file_size_limit”1024,”allowed_mime_types”[“image/png”],”created_at””2025-03-31T190849.061Z”,”updated_at””2025-03-31T190849.061Z”}} {var}

Insertar Vector

Insertar un vector en un índice de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para insertar vectores credential
Nombre del índice El nombre del índice en el que se insertarán los vectores Nombre del índice
Namespace El namespace para el vector (opcional) predeterminado
ID del Vector Identificador único para el vector vector-123
Valores Densos Valores del vector separados por comas (ej 0.12, -0.45, 0.89) 0.12, -0.45, 0.89, -0.23, 0.67, …
Metadata Metadata opcional como objeto JSON Ejemplo: {“categoria”: “test”, “importancia”: 8, “tags”: [“deporte”, “lesión”]}
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“table””saturn_table”,”embed_column””embed”,”processed_rows”[{“id”8550467265849849,”text””{{“data_”[{“filename””sitefetch_1743693799824.txt”,”id””483171b10ebf1f8b5ebcc22ecaad0f2f7851f6613ca22496fb9557c0b485b34f27b388498fbe9b48efe2903645035e38″,”size”154,”provider””sitefetch”}],”content”{“/”{“title””Sitefetch”,”url””https//sitefetch.vercel.app/”,”content””[Buy me a Ko-fi]”}}}.content./.content”,”embedding_preview””[-0.0442160926759243, -0.019968125969171524, 0.024202141910791397, -0.03914377838373184, 0.07313912361860275…]”,”embedding_length”384,”created_at””2025-04-03T152336.083Z”,”name””Wikipedia”,”lastname””web”}],”total_rows”1} {var}

Generar vector embedding

Generar un embedding en pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para generar un embedding credential
Credencial de AI Selecciona la credencial de AI a utilizar Nombre
Modelo de Embedding Selecciona el modelo de embedding a utilizar Nombre
Contenido de Texto El contenido de texto para generar el embedding Ingresa texto para generar embedding
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“table””saturn_table”,”embed_column””embed”,”processed_rows”[{“id”8550467265849849,”text””{{“data_”[{“filename””sitefetch_1743693799824.txt”,”id””483171b10ebf1f8b5ebcc22ecaad0f2f7851f6613ca22496fb9557c0b485b34f27b388498fbe9b48efe2903645035e38″,”size”154,”provider””sitefetch”}],”content”{“/”{“title””Sitefetch”,”url””https//sitefetch.vercel.app/”,”content””[Buy me a Ko-fi]”}}}.content./.content”,”embedding_preview””[-0.0442160926759243, -0.019968125969171524, 0.024202141910791397, -0.03914377838373184, 0.07313912361860275…]”,”embedding_length”384,”created_at””2025-04-03T152336.083Z”,”name””Wikipedia”,”lastname””web”}],”total_rows”1} {var}

Buscar vector

Buscar vectores en un índice de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para buscar vectores credential
Nombre del índice El nombre del índice en el que se buscarán los vectores Mi índice
ID del Vector ID del vector para encontrar vectores similares doc_1_1763137241657
Top K Número de vectores similares a retornar 10
Namespace Namespace donde buscar (opcional) predeterminado
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“insertedRows”[{“id”14,”created_at””2025-03-31T173647.646493+0000″,”name””John”,”lastname””Doe”},{“id”15,”created_at””2025-03-31T173647.646493+0000″,”name””Dave”,”lastname””Davinson”}]} {var}

Eliminar Vector

Eliminar un vector de un índice de Pinecone

Parámetros Descripción ejemplo
Credencial Credencial de Pinecone necesaria para eliminar un vector credential
Nombre del Índice El nombre del índice donde está almacenado el vector nombre del índice
ID del Vector ID del vector a eliminar doc_1_1763137241657
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo {“file”{“path””C\Users\Desktop\saturn_studio\Rocketbot Icon.jpg”,”id””3aa9f15a-b93c-4765-92cc-e0574f71b446″,”fullPath””AAAAAA/C/Users/Desktop/saturn_studio/Rocketbot Icon.jpg”}} {var}



Saturn Studio – PDF Reader

PDF Reader es una herramienta diseñada para extraer texto y datos tabulares desde archivos PDF de forma automática.

Descripción de los comandos

Leer archivo PDF

Lee un archivo PDF y extrae su contenido en texto y tablas.

Parámetros Descripción Ejemplo
Ruta del archivo PDF Ruta local del archivo PDF desde donde se extraerá texto y tablas file.pdf
Página Número de página a procesar. Si no se especifica, se procesarán todas las páginas 2
Fila Número de fila a extraer de las tablas. Si no se especifica, se procesarán todas las filas [1, 5]
Parsear tabla Si es verdadero, el módulo procesará la tabla y devolverá datos estructurados. Si es falso, devolverá texto crudo true
Asignar resultado a variable Variable donde se almacenará el resultado. Ejemplo: {“extractedValue”:[{“name1″:”Juan Pérez”},{“name2″:”María González”},{“name3″:”Carlos López”},{“name4″:”Ana Martínez”}]} {var}



Saturn Studio – Credencial Google Tasks

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.

Crear / elegir proyecto y habilitar APIs

  • Ingresa a Google Cloud Console.
  • Inicia sesión con tu cuenta de Google.
  • 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

  1. Desde la misma sección de Pantalla de consentimiento OAuth, ve a Acceso a los datos → Agregar o quitar permisos.
  2. 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

  1. Regresa al módulo Google Tasks en Saturn Studio y selecciona para crear una nueva credencial.
  2. Pega el Client ID y Client Secret obtenidos en los campos correspondientes.
  3. 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.



Saturn Studio – Facebook Messenger

Facebook Messenger es una plataforma de mensajería instantánea que permite a las empresas comunicarse directamente con clientes, automatizar respuestas con bots y mejorar la atención al cliente en tiempo real.

banner

Descripción de los comandos

Subscribe to Webhook

Suscribirse a un webhook de Facebook Messenger

Parámetro Descripción Ejemplo
(Sin parámetros) Suscribe un webhook de Facebook Messenger

Wait for a Message

Esperar un evento de Facebook Messenger

Parámetro Descripción Ejemplo
Credential Credencial de Facebook Messenger necesaria para esperar un mensaje credential
Assign result to variable Variable donde se almacenará el resultado. Ejemplo: {“time”:1753191774240,”id”:”222220000000001″,”messaging”:[{“sender”:{“id”:”1234567890123456″},”recipient”:{“id”:”222220000000001″},”timestamp”:1753191773631,”message”:{“mid”:”m_XYZ123abcDEF456ghiJKL789mnopQRS_tUVWxyz”,”text”:”Running tests for SaturnStudio”}}]} {var}

List Chats

Listar chats de Facebook Messenger

Parámetro Descripción Ejemplo
Credential Credencial de Facebook Messenger necesaria para listar chats credential
Assign result to variable Variable donde se almacenará el resultado. Ejemplo: {“chats”:[{“id”:”t_8675309123456789″,”updated_time”:”2025-07-20T14:25:00+0000″,”participant_id”:”1122334455667788″,”participant_name”:”John Smith”,”can_reply”:true,”message_count”:5},{“id”:”t_9988776655443322″,”updated_time”:”2025-07-19T08:10:30+0000″,”participant_id”:”8877665544332211″,”participant_name”:”Emily Johnson”,”can_reply”:false,”message_count”:0}]} {var}

Send Message

Enviar un mensaje a un usuario en Facebook Messenger

Parámetro Descripción Ejemplo
Credential Credencial de Facebook Messenger necesaria para enviar un mensaje credential
User Selecciona el usuario al que querés enviar el mensaje 1234213123123
Message Mensaje a enviar Hello, this is a reply to your comment
Assign result to variable Variable donde se almacenará el resultado. Ejemplo: {“status”:”Message sent successfully”,”message”:”Hi there!”,”message_id”:”m_aBc123XyZ789_MeSsAgE001xYzKLMnOpQrStUv”,”recipient_id”:”1234567890123456″} {var}

Send File

Enviar un archivo a un usuario en Facebook Messenger

Parámetro Descripción Ejemplo
Credential Credencial de Facebook Messenger necesaria para enviar un archivo credential
User Selecciona el usuario al que querés enviar el archivo 1234213123123
URL URL del archivo a enviar. Puede ser una imagen o un PDF. https://www.alleycat.org/wp-content/uploads/2019/03/FELV-cat.jpg
Caption Mensaje que acompaña al archivo Hello, this is a caption for your file
Assign result to variable Variable donde se almacenará el resultado. Ejemplo: {“status”:”File sent successfully”,”file_name”:”FELV-cat.jpg”,”file_url”:”https://www.alleycat.org/wp-content/uploads/2019/03/FELV-cat.jpg”,”file_type”:”image”,”mime_type”:”image/jpeg”,”file_message_id”:”m_ZttkkkGceScPpROkNN8VNp3P92zC_b4cTVBycCWhR4M7bUFa4ALHvvT6o4EDsAsFyJaVQGdY5n2DRbAFoM7_Ww”,”caption_message_id”:null,”recipient_id”:”9953987064723585″,”caption”:null} {var}

Get Messages

Obtener mensajes de un usuario en Facebook Messenger

Parámetro Descripción Ejemplo
Credential Credencial de Facebook Messenger necesaria para obtener mensajes credential
Chat User Seleccioná el usuario del cual querés obtener los mensajes 1234213123123
Limit Número de mensajes a recuperar 10
Assign result to variable Variable donde se almacenará el resultado. Ejemplo: {“messages”:[{“id”:”m_AbC123Def456_GHi789Jkl012″,”message”:”Hey there!”,”from_id”:”9988776655443322″,”from_name”:”ChatBot”,”created_time”:”2025-07-20T10:45:00+0000″,”attachments”:[]},{“id”:”m_XyZ987Wvu654_Tsr321Qpo098″,”message”:”How can I help you?”,”from_id”:”9988776655443322″,”from_name”:”ChatBot”,”created_time”:”2025-07-20T10:40:00+0000″,”attachments”:[]}],”conversation_id”:”t_1234567899876543″,”total_count”:2,”status”:”Messages retrieved successfully”} {var}



Saturn Studio – Evolution API WhatsApp

Evolution API es una API gratuita y de código abierto para integrar WhatsApp en aplicaciones, permitiendo enviar y recibir mensajes, gestionar instancias y más funcionalidades avanzadas.

banner

Descripción de los comandos

Crear instancia

Crear una nueva instancia de WhatsApp en Evolution API

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para crear instancias credencial
Nombre de la instancia Nombre único para identificar la instancia de WhatsApp mi_instancia_whatsapp
Token (opcional) Token opcional para autenticación adicional token_secreto
URL del Webhook (opcional) URL del webhook para recibir eventos https://mi-servidor.com/webhook
Asignar resultado a variable Variable donde se almacenará el resultado {var}

Conectar a WhatsApp

Conectar la instancia a WhatsApp y generar código QR

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para conectar credencial
Nombre de la instancia Nombre de la instancia creada previamente mi_instancia_whatsapp
Asignar resultado a variable Variable donde se almacenará el resultado {var}

Obtener código QR

Obtener el código QR para escanear con WhatsApp

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para obtener el QR credencial
Nombre de la instancia Nombre de la instancia para obtener el QR mi_instancia_whatsapp
Asignar resultado a variable Variable donde se almacenará el código QR {var}

Enviar mensaje

Enviar un mensaje de texto a un número de WhatsApp

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para enviar mensajes credencial
Nombre de la instancia Nombre de la instancia conectada a WhatsApp mi_instancia_whatsapp
Número de teléfono Número de WhatsApp al que enviar el mensaje (con código de país) 5491123456789
Mensaje Mensaje de texto a enviar Hola, ¿cómo estás?
Asignar resultado a variable Variable donde se almacenará el resultado {var}

Esperar mensaje

Esperar un mensaje del usuario vía webhook

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para recibir mensajes credencial
Asignar resultado a variable Variable donde se almacenará el mensaje recibido {var}

Descargar media

Descargar archivos multimedia de mensajes

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para descargar media credencial
Nombre de la instancia Nombre de la instancia conectada a WhatsApp mi_instancia_whatsapp
Clave del mensaje Clave del mensaje que contiene el archivo multimedia mensaje_key_123
Asignar resultado a variable Variable donde se almacenará el archivo descargado {var}

Enviar media

Enviar archivos multimedia (imágenes, videos, documentos)

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para enviar media credencial
Nombre de la instancia Nombre de la instancia conectada a WhatsApp mi_instancia_whatsapp
Número de teléfono Número de WhatsApp al que enviar el archivo 5491123456789
Variable del archivo Variable que contiene el archivo a enviar archivo_variable
Leyenda (opcional) Texto que acompañará al archivo multimedia Descripción del archivo
Asignar resultado a variable Variable donde se almacenará el resultado {var}

Información de instancia

Obtener información y estado de una instancia

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para obtener información credencial
Nombre de la instancia Nombre de la instancia para consultar información mi_instancia_whatsapp
Asignar resultado a variable Variable donde se almacenará la información {var}

Eliminar instancia

Eliminar una instancia de WhatsApp

Parámetros Descripción Ejemplo
Credencial Credencial de Evolution API necesaria para eliminar instancias credencial
Nombre de la instancia Nombre de la instancia a eliminar mi_instancia_whatsapp
Asignar resultado a variable Variable donde se almacenará el resultado {var}

Configuración de credenciales

Para usar este módulo, necesita configurar una credencial de tipo “Evolution API” con los siguientes campos:

  • URL Base de la API: URL completa de su servidor Evolution API (ej: https://api.evolution-api.com)
  • API Key: Clave de API proporcionada por Evolution API para autenticación

Instalación de Evolution API

Para instalar Evolution API en su servidor, puede seguir la documentación oficial en: https://doc.evolution-api.com/

Instalación rápida con Docker

docker run -d \
    --name evolution_api \
    -p 8080:8080 \
    -e AUTHENTICATION_API_KEY=su-api-key-aqui \
    atendai/evolution-api:latest

Ejemplos de uso

1. Crear y conectar una instancia

  1. Usar el comando “Crear instancia” con el nombre “mi_bot”
  2. Usar el comando “Conectar a WhatsApp” para generar el QR
  3. Usar el comando “Obtener código QR” para mostrar el QR al usuario
  4. Escanear el QR con WhatsApp

2. Enviar un mensaje

Una vez conectada la instancia, usar el comando “Enviar mensaje” con:

  • Nombre de instancia: “mi_bot”
  • Número: “5491123456789”
  • Mensaje: “¡Hola! Este es un mensaje desde Evolution API”

3. Recibir mensajes

Usar el comando “Esperar mensaje” para recibir mensajes entrantes a través de webhooks.

Notas importantes

  • Cada instancia debe tener un nombre único
  • Los números de teléfono deben incluir el código de país sin el signo +
  • Los webhooks requieren una URL accesible públicamente
  • Evolution API maneja automáticamente la conexión de WhatsApp Web
  • El módulo es compatible con todas las funcionalidades principales de WhatsApp



Saturn Studio – Credencial Google Chat

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.

Crear / elegir proyecto y habilitar APIs

  • Ingresa a Google Cloud Console.
  • Inicia sesión con tu cuenta de Google.
  • 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 Chat API (requerida para crear Chat Apps y permitir la integración de servicios con Google Chat)

  • 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

  1. Desde la misma sección de Pantalla de consentimiento OAuth, ve a Acceso a los datos → Agregar o quitar permisos.
  2. Añade los siguientes scopes recomendados:
Scope Descripción
https://www.googleapis.com/auth/chat.spaces Permite administrar y acceder a espacios de Google Chat (creación, lectura y actualización de espacios donde la app está instalada).
https://www.googleapis.com/auth/chat.messages Permite enviar, leer y administrar mensajes dentro de Google Chat.
https://www.googleapis.com/auth/chat.memberships Permite ver y gestionar miembros (usuarios y bots) dentro de los espacios de Google Chat.
https://www.googleapis.com/auth/userinfo.email Accede al correo del usuario autenticado.
https://www.googleapis.com/auth/chat.messages.readonly Permite leer mensajes existentes en Google Chat dentro de los espacios donde la app está instalada.
openid Requerido para la autenticación mediante OAuth 2.0.
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.

Configurar la aplicación de Google Chat

  1. En Google Cloud Console, ve a “APIs y servicios” > “Google Chat API”
  2. Haz clic en “Configuración” o “Configuration” en el menú lateral
  3. En la sección “Estado de aplicación”, selecciona “ACTIVA”
  4. Completa la información de la aplicación:

    • Nombre de la app: Nombre de tu aplicación de Chat
    • URL del avatar: URL de la imagen del avatar de tu app
    • Descripción: Descripción breve de tu aplicación

  5. Haz clic en “Guardar”

Nota importante: La configuración de la Chat App es necesaria para que la API de Google Chat funcione correctamente con OAuth 2.0.

Cargar credenciales en Saturn Studio

  1. Regresa al módulo Google Contacts en Saturn Studio.
  2. Selecciona el modo Avanzado (OAuth).
  3. Pega el Client ID y Client Secret obtenidos en los campos correspondientes.
  4. Guarda la credencial y realiza la conexión.

✅ Listo: tu credencial avanzada quedará configurada correctamente para el uso completo del módulo Google Contacts.

📌 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.



Saturn Studio – Email IMAP y SMTP

Enviar correos mediante SMTP y leer correos desde un servidor IMAP.

Descripción de los comandos

Send email

Enviar correo utilizando SMTP.

Configuración SMTP y IMAP server

Parámetro Descripción ejemplo
Credential Credencial de correo My email credentials
Recipient Correo del destinatario to@mail.com
Subject Asunto del correo Subject
Message Contenido del correo Mensaje del correo
Assign result to variable Variable donde se almacenará el resultado {var}

Read all email

Leer todos los correos de una carpeta.

Parámetro Descripción ejemplo
Credential Credencial de correo My email credentials
Inbox folder Carpeta donde se buscarán los correos INBOX
Email status Estado de los correos a buscar
Number of emails to search Cantidad de correos a buscar 10
Subject (optional) Asunto del correo a buscar BUY
Sent by (optional) Correo del remitente a buscar test@email.com
Assign result to variable Variable donde se almacenará el resultado variable



Saturn Studio – Configuración SMTP y IMAP server

Este módulo permite enviar correos mediante SMTP y leer correos desde un servidor IMAP.
Para utilizar los comandos, es necesario configurar una credencial con los datos correctos del servidor de correo.

Cómo configurar las credenciales de correo

A continuación se detallan los pasos para crear una credencial válida dentro de Saturn Studio.

Abrir la ventana de credenciales

Al utilizar un comando del módulo (por ejemplo Send email), se abrirá la ventana:

Configure SMTP and IMAP server

En esta ventana se completan los parámetros necesarios para enviar y recibir correo.

Completar los campos de la credencial

Credential name

Nombre identificador para reconocer la credencial dentro del sistema.

SMTP server

Servidor SMTP utilizado para enviar correos.
Depende del proveedor del correo.

SMTP port

Puerto SMTP del servidor.
Valores más utilizados:

  • 465
  • 587

Use SSL in SMTP

Marcar si el servidor requiere conexión segura (SSL) para el envío.

IMAP server

Servidor IMAP utilizado para la lectura de correos.

IMAP port

Puerto IMAP del servidor.
Valores más utilizados:

  • 993 (IMAP con SSL)
  • 143 (IMAP sin SSL)

Use SSL in IMAP

Marcar si el servidor IMAP utiliza conexión segura.

User

Dirección de correo utilizada para autenticarse en SMTP e IMAP.

Password

Contraseña de la cuenta o contraseña de aplicación, según lo requiera el proveedor del correo.

Configuraciones recomendadas por proveedor

Los siguientes valores se basan en las configuraciones estándar utilizadas para SMTP e IMAP:

Proveedor SMTP server SMTP port SSL SMTP IMAP server IMAP port SSL IMAP
Gmail (Google) smtp.gmail.com 465 imap.gmail.com 993
Outlook / Hotmail / Office 365 smtp-mail.outlook.com 587 No imap-mail.outlook.com 993
Yahoo Mail smtp.mail.yahoo.com 465 imap.mail.yahoo.com 993

Notas importantes:

  • Algunos proveedores requieren “contraseñas de aplicación” para el acceso IMAP/SMTP.
  • En Gmail puede ser necesario generar una clave especial para permitir el acceso desde aplicaciones externas.
  • Si ocurre un error de autenticación, revisar el usuario, contraseña y configuración de seguridad del proveedor.

Guardar la credencial

Una vez completados los datos:

  1. Revisar que la información sea correcta.
  2. Seleccionar Save credentials.

La credencial quedará registrada y disponible para todos los comandos del módulo.

Credencial lista para usar

Con la credencial configurada, se pueden utilizar los comandos:

  • Send email
  • Read all email

El módulo se encargará automáticamente de la autenticación SMTP e IMAP.




Saturn Studio – Credencial Bitbucket

Este módulo permite conectar Saturn Studio con Bitbucket para listar repositorios, obtener commits, consultar pull requests y automatizar flujos de trabajo.
Para utilizarlo, es necesario crear una credencial OAuth dentro del Workspace de Bitbucket.

Cómo obtener la credencial de Bitbucket

Sigue los pasos detallados para generar el Client ID y Client Secret, y luego configurarlos dentro de Saturn Studio.

Iniciar sesión en Atlassian / Bitbucket

Acceder al Workspace de Bitbucket

Los OAuth Consumers se gestionan a nivel de Workspace, no de usuario.

  1. En la esquina superior izquierda de Bitbucket, selecciona el Workspace que utilizarás.
  2. En el menú lateral del Workspace, haz clic en:
    Workspace settings

Crear un OAuth Consumer

Este paso genera el Client ID y el Client Secret que Saturn Studio requiere.

  • Dentro de Workspace settings, selecciona:
    OAuth consumers
  • Haz clic en Add consumer.
  • Completa los campos obligatorios:
    Name: Nombre identificador para la integración
    Description: Descripción breve del uso
    Callback URL: Ingresar una URL de retorno válida
  • En permisos (Scopes), habilita como mínimo:

    • Repositories: Read
    • Pull requests: Read
    • Webhooks: Read
    • Pipelines: Read

  • Guarda los cambios.

Después de guardarlo, Bitbucket mostrará dos valores:

  • Key → Este valor debe usarse como Client ID
  • Secret → Este valor debe usarse como Client Secret

Configurar la credencial en Saturn Studio

Al utilizar cualquier comando del módulo Bitbucket, Saturn Studio mostrará la ventana de configuración de credenciales:

Bitbucket Credentials

Los campos son:

  • Credential name
  • Client ID
  • Client Secret
  • Botón: Connect to Bitbucket
  • Botón: Save credentials

Completar la credencial

  1. Credential name:
    Escribe un nombre descriptivo para identificar la credencial.
  2. Client ID:
    Ingresa el valor obtenido como Key del OAuth Consumer.
  3. Client Secret:
    Ingresa el valor Secret generado por Bitbucket.
  4. Haz clic en Connect to Bitbucket para verificar la conexión.
  5. Si la validación es correcta, haz clic en Save credentials.

Proceso finalizado

Una vez guardada la credencial, podrás utilizar todos los comandos del módulo Bitbucket:

  • List Repositories
  • Get Repository
  • List Commits
  • Trigger New Commits
  • Trigger New Pull Requests
  • Get Pull Request

La autenticación se gestionará automáticamente mediante los valores configurados.




Saturn Studio – Bitbucket

Bitbucket es una plataforma web de desarrollo colaborativo que permite a los equipos gestionar repositorios Git, revisar código y automatizar flujos de trabajo mediante pipelines. Es ampliamente utilizada en entornos empresariales y por equipos que integran herramientas de Atlassian como Jira y Trello.

Descripción de los comandos

Trigger New Commits

Dispara cuando se realizan nuevos commits en un repositorio de Bitbucket.

Cómo obtener las credenciales de Bitbucket

Parámetro Descripción ejemplo
Credential Credencial de Bitbucket necesaria para monitorear commits credential
Workspace Workspace donde se encuentra el repositorio workspace-name
Repository Selecciona el repositorio a monitorear repository-name
Branch Selecciona la rama a monitorear para nuevos commits branch-name
Limit Número máximo de commits a revisar por ejecución 10
Assign result to variable Variable donde los nuevos commits serán almacenados.
Example {“commits”[{“id””abc123def456″,”type””commit”,”hash””abc123def456″,”message””Add new feature for automated deployment”,”date””2025-07-10T143000+0000″,”author”{“display_name””Alice Developer”,”username””alice.dev”},”parents”[{“hash””def456abc123”}],”links”{“html””https//bitbucket.org/ai_team/automator_ai_engine/commits/abc123def456″,”diff””https//api.bitbucket.org/2.0/repositories/ai_team/automator_ai_engine/diff/abc123def456″}}],”new_commits_count”1,”repository””ai_team/automator_ai_engine”,”branch””main”}
{var}

Trigger New Pull Requests

Dispara cuando se crean nuevos pull requests en un repositorio de Bitbucket.

Parámetro Descripción ejemplo
Credential Credencial de Bitbucket necesaria para monitorear pull requests credential
Workspace Workspace donde se encuentra el repositorio workspace-name
Repository Selecciona el repositorio a monitorear repository-name
State Estado de los pull requests a monitorear OPEN
Limit Máximo de pull requests a revisar por ejecución 10
Assign result to variable Variable donde los nuevos pull requests serán almacenados. Example {“pull_requests”[{“id”123,”type””pullrequest”,”title””Add new authentication module”,”description””This PR adds OAuth2 authentication support”,”state””OPEN”,”created_on””2025-07-10T143000+0000″,”updated_on””2025-07-10T154500+0000″,”author”{“display_name””Bob Developer”,”username””bob.dev”},”source”{“branch””feature/oauth2″,”commit””xyz789abc123”},”destination”{“branch””main”,”commit””abc123def456″},”reviewers”[],”links”{“html””https//bitbucket.org/ai_team/automator_ai_engine/pull-requests/123″}}],”new_pull_requests_count”1,”repository””ai_team/automator_ai_engine”,”state””OPEN”} {var}

List Repositories

Lista los repositorios de Bitbucket.

Parámetro Descripción ejemplo
Credential Credencial de Bitbucket necesaria para listar repositorios credential
Workspace Workspace donde se encuentran los repositorios workspace-name
Query Filtro o nombre del repositorio language=”nodejs”
Sort Orden por created_on o updated_on created_on
Limit Máximo de repositorios a obtener 10
Assign result to variable Variable donde se almacenará el resultado. Example {“repositories”[{“uuid””{a1b2c3d4-5678-90ab-cdef-1234567890ab}”,”name””automator_ai_engine”,”full_name””ai_team/automator_ai_engine”,”description””Core engine for AI-driven task automation platform.”,”is_private”true,”language””python”,”created_on””2023-05-12T102543.123456+0000″,”updated_on””2025-07-05T134829.789654+0000″,”size_mb”112.8,”mainbranch””main”,”fork_policy””no_public_forks”,”project”{“key””AUTO”,”name””Automator”,”uuid””{ffeeddcc-bbaa-9988-7766-554433221100}”},”owner”{“display_name””ai_team”,”username””ai_team”,”uuid””{123e4567-e89b-12d3-a456-426614174000}”,”type””team”},”workspace”{“name””ai_team”,”slug””ai_team”,”uuid””{123e4567-e89b-12d3-a456-426614174000}”},”links”{“html””https//bitbucket.org/ai_team/automator_ai_engine”,”avatar””https//bytebucket.org/ravatar/%7Ba1b2c3d4-5678-90ab-cdef-1234567890ab%7D?ts=python”,”clone”[{“name””https”,”href””https//johnsmith@bitbucket.org/ai_team/automator_ai_engine.git”},{“name””ssh”,”href””git@bitbucket.orgai_team/automator_ai_engine.git”}],”commits””https//api.bitbucket.org/2.0/repositories/ai_team/automator_ai_engine/commits”,”branches””https//api.bitbucket.org/2.0/repositories/ai_team/automator_ai_engine/refs/branches”,”pullrequests””https//api.bitbucket.org/2.0/repositories/ai_team/automator_ai_engine/pullrequests”,”downloads””https//api.bitbucket.org/2.0/repositories/ai_team/automator_ai_engine/downloads”}}],”page”1,”size”1,”next””https//api.bitbucket.org/2.0/repositories/ai_team?pagelen=1&page=2″,”pagelen”1} {var}

Get a Repository

Obtiene un repositorio de Bitbucket.

Parámetro Descripción ejemplo
Credential Credencial de Bitbucket necesaria para obtener un repositorio credential
Workspace Workspace donde se encuentra el repositorio workspace-name
Repository Selecciona el repositorio a obtener repository-name
Assign result to variable Variable donde se almacenará la información del repositorio. Example {“repository”{“name””demo_repo”,”full_name””example_team/demo_repo”,”description””Demo repository for frontend preview”,”is_private”false,”language””javascript”,”mainbranch””main”,”workspace””example_team”,”project”{“key””EX”,”name””Example Project”},”updated_on””2025-07-08T153000.000Z”,”size_mb”42.7,”links”{“html””https//bitbucket.org/example_team/demo_repo”,”avatar””https//bytebucket.org/ravatar/%7Bexample-avatar%7D?ts=nodejs”,”commits””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/commits”,”branches””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/refs/branches”,”pullrequests””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/pullrequests”}}} {var}

List Commits

Lista commits de un repositorio de Bitbucket.

Parámetro Descripción ejemplo
Credential Credencial necesaria para listar commits credential
Workspace Workspace donde se encuentra el repositorio workspace-name
Repository Selecciona el repositorio a consultar repository-name
Branch Rama desde donde listar commits branch-name
Limit Máximo de commits a obtener 10
Assign result to variable Variable donde se almacenará el resultado. Example {“commits”[{“hash””a1b2c3d4e5f6g7h8i9j0k”,”message””Initial commit with demo files\n”,”date””2025-07-08T144500+0000″,”author”{“display_name””Alice Devbot”,”avatar””https//secure.gravatar.com/avatar/demo1234567890?d=https%3A%2F%2Fexample.com%2Favatars%2FAD.png”},”parents”[{“hash””z9y8x7w6v5u4t3s2r1q0”}],”links”{“html””https//bitbucket.org/example_team/demo_repo/commits/a1b2c3d4e5f6g7h8i9j0k”,”diff””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/diff/a1b2c3d4e5f6g7h8i9j0k”,”approve””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/commit/a1b2c3d4e5f6g7h8i9j0k/approve”}}],”page”1,”size”1,”next””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/commits?pagelen=1&page=2″} {var}

Get Pull Request

Obtiene un Pull Request específico.

Parámetro Descripción ejemplo
Credential Credencial de Bitbucket necesaria para obtener un pull request credential
Workspace Workspace donde se encuentra el repositorio workspace-name
Repository Selecciona el repositorio a consultar repository-name
Pull Request ID ID del pull request 150
Includes Información adicional a incluir Commits, Activity, Diff
Assign result to variable Variable donde se almacenará la información del pull request. Example {“pull_request”{“id”42,”title””Add AI module integration”,”description””* ✨ (ai-module) add OpenAI integration for chat interface with retry logic\n* 📝 (ai-module) update README with usage examples and error codes\n\n”,”state””MERGED”,”created_on””2025-06-01T120000.000000+0000″,”updated_on””2025-06-02T093000.000000+0000″,”merge_commit”{“hash””abc123def456”,”links”{“self”{“href””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/commit/abc123def456”},”html”{“href””https//bitbucket.org/example_team/demo_repo/commits/abc123def456″}},”type””commit”},”close_source_branch”true,”author”{“display_name””Alice Devbot”,”avatar””https//secure.gravatar.com/avatar/abc123xyz456?d=https%3A%2F%2Fexample.com%2Favatar%2FAD.png”},”source”{“branch””feature-ai-module”,”commit””fed456cba321″,”repository””example_team/demo_repo”},”destination”{“branch””main”,”commit””123abc456def”,”repository””example_team/demo_repo”},”reviewers”[],”participants”[],”links”{“html””https//bitbucket.org/example_team/demo_repo/pull-requests/42″,”diff””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/diff/example_team/demo_repofed456cba321\r123abc456def?from_pullrequest_id=42&topic=true”,”commits””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/pullrequests/42/commits”,”comments””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/pullrequests/42/comments”,”activity””https//api.bitbucket.org/2.0/repositories/example_team/demo_repo/pullrequests/42/activity”}}} {var}