Google Chat

Versión de la integración: 2.0

Permisos de productos

Crea una cuenta de servicio

  1. En la Google Cloud consola, selecciona un Google Cloud proyecto existente o crea uno nuevo. Ten en cuenta que el proyecto Google Cloud seleccionado debe formar parte de la organización en Google Cloud.
  2. Haz clic en el menú ☰ y selecciona el elemento del menú APIs y servicios > Credenciales.
  3. En la parte superior de la página, haz clic en + CREAR CREDENCIALES > Cuenta de servicio.
  4. Ingresa un nombre de cuenta de servicio para mostrar en la consola.
  5. Opcional: Ingresa una descripción de la cuenta de servicio.
  6. Haz clic en CREAR, luego en CONTINUAR y, por último, en LISTO para terminar de crear la cuenta de servicio.

Crea credenciales de cuenta de servicio

  1. Después de crear la cuenta de servicio, se te redireccionará a la lista de credenciales que puedes usar para el proyecto Google Cloud . En la sección Cuentas de servicio, haz clic en la cuenta de servicio que acabas de crear. Se llamará nombre-de-cuenta-de-servicio@nombre-de-proyecto-XXXXXX.iam.gserviceaccount.com.
  2. Haz clic en AGREGAR CLAVE > Crear clave nueva.
  3. Mantén seleccionada la opción JSON y haz clic en CREAR.

Esto iniciará la descarga del archivo de credenciales que necesitarás para acceder a la API como esta cuenta de servicio.

Configura un nuevo proyecto de Apps Script

  1. Ve a Google Apps Script.
  2. Crea un nuevo proyecto de Apps Script.
  3. Para ejecutar la funcionalidad de integración, agrega el siguiente código al proyecto recién creado:

    var SCOPE = 'https://www.googleapis.com/auth/chat.bot';
    // The values below are copied from the JSON file downloaded upon
    // service account creation.
    // For SERVICE_ACCOUNT_PRIVATE_KEY, remember to include the BEGIN and END lines of the private key
    var SERVICE_ACCOUNT_PRIVATE_KEY = '...';
    var SERVICE_ACCOUNT_EMAIL = 'service-account@project-id.iam.gserviceaccount.com';
    
    // Posts a message into the given space ID via the API, using
    // service account authentication.
    function postMessage(spaceId, message) {
      var service = OAuth2.createService('chat')
          .setTokenUrl('https://accounts.google.com/o/oauth2/token')
          .setPrivateKey(SERVICE_ACCOUNT_PRIVATE_KEY)
          .setClientId(SERVICE_ACCOUNT_EMAIL)
          .setPropertyStore(PropertiesService.getUserProperties())
          .setScope(SCOPE);
      if (!service.hasAccess()) {
        Logger.log('Authentication error: %s', service.getLastError());
        return;
      }
      var url = 'https://chat.googleapis.com/v1/' + spaceId + '/messages';
      UrlFetchApp.fetch(url, {
        method: 'post',
        headers: { 'Authorization': 'Bearer ' + service.getAccessToken() },
        contentType: 'application/json',
        payload: JSON.stringify(message),
      });
    }
    
  4. Abre el archivo de credenciales de la cuenta de servicio que descargaste de la consola deGoogle Cloud .

  5. Copia el valor de private_key (el que comienza con -----BEGIN PRIVATE KEY-----) y pégalo en SERVICE_ACCOUNT_PRIVATE_KEY en el proyecto de Apps Script.

  6. Copia el valor de client_email del archivo de credenciales y pégalo en SERVICE_ACCOUNT_EMAIL en el proyecto de Apps Script.

  7. Vincula el proyecto de Apps Script al proyecto Google Cloud que creaste.

  8. Regresa a la consola de Google Cloud y selecciona el elemento de menú ☰ > IAM y administración > Configuración.

  9. Copia el número de proyecto definido en esta página.

  10. En tu proyecto de Apps Script, selecciona el elemento de menú Configuración del proyecto > Google Cloud Proyecto y pega el número del proyecto en el diálogo Ingresa el número del proyecto aquí.

  11. Haz clic en Set Project.

Habilita la API de Google Chat

  1. Ve a ☰ > APIs y servicios y selecciona Biblioteca.
  2. Busca Google Chat API y haz clic en el único resultado.
  3. Haz clic en HABILITAR.

Esto habilita la API para tu proyecto.

Implementa un bot

  1. En la IU de Apps Script, ve a Implementar > Nueva implementación.
  2. Selecciona Add On para el nuevo tipo de implementación.
  3. Ingresa un nombre y una descripción para la implementación, y haz clic en Guardar.
  4. Una vez que finalice el guardado, haz clic en Obtener ID junto a la implementación que acabas de crear y copia el valor del ID de implementación.

Configura el bot de Google Chat:

  1. En la consola de Google Cloud , ve a ☰ > APIs & Services > Dashboard.
  2. En la lista de APIs habilitadas, selecciona Google Chat API.
  3. Haz clic en Administrar para abrir la página de la API de Google Chat.
  4. En la página que se abrió, selecciona la pestaña Configuración y configura tu bot:

    • En el campo Nombre de la app, ingresa App de chat de Operaciones de seguridad de Google.
    • En el campo URL del avatar, ingresa https://developers.google.com/chat/images/chat-product-icon.png.
    • En el campo Descripción, ingresa App de Google SecOps Chat que se puede usar para enviar mensajes de Google SecOps a un espacio de Google Chat.
    • En la sección Funcionalidad, selecciona La app funciona en espacios con varios usuarios.
    • En la sección Configuración de la conexión, selecciona Proyecto de Apps Script y pega el ID de implementación que obtuviste en el procedimiento Implementa un bot.
    • En la sección Permisos, selecciona Personas y grupos específicos de tu dominio y especifica quiénes deberían poder interactuar con el bot.
    • Haz clic en Guardar. Se completó la configuración de la app.

Como la app de Google Chat no puede crear espacios (iniciar conversaciones), se debe agregar la app de Google SecOps Chat a los espacios a los que debe enviar mensajes.

Una vez que se configura la integración, se puede usar la acción "List Spaces" para recuperar los espacios a los que tiene acceso la app de Google SecOps (puede enviar mensajes).

Si la acción "List Spaces" no muestra espacios disponibles, significa que tu app no podrá enviar mensajes en ningún espacio. Vuelve a las instrucciones detalladas anteriores y asegúrate de haber seguido cada paso con atención.

Configura la integración de Google Chat en Google SecOps

Si quieres obtener instrucciones detalladas para configurar una integración en Google SecOps, consulta Configura integraciones.

Parámetros de integración

Usa los siguientes parámetros para configurar la integración:

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
URL raíz de la API String https://chat.googleapis.com/ Es la URL raíz de la API que usa la integración para conectarse al servicio de Google Chat.
Cuenta de servicio Contraseña N/A Es el contenido del archivo JSON de la cuenta de servicio que el chatbot usa para trabajar con el servicio de Google Chat.
Verificar SSL Casilla de verificación Marcado Si está habilitada, verifica que el certificado SSL para la conexión al servicio de Google Chat sea válido.

Acciones

Ping

Descripción

Prueba la conectividad con Google Chat con los parámetros proporcionados en la página de configuración de la integración en la pestaña Google Security Operations Marketplace.

Ejecutar en

Esta acción no se ejecuta en entidades ni tiene parámetros de entrada obligatorios.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si la conexión se realiza correctamente, aparecerá el mensaje "Successfully connected to the Google Chat service with the provided connection parameters!".

La acción debería fallar y detener la ejecución de la guía:

Si se informa un error crítico, como credenciales incorrectas o pérdida de conectividad: "No se pudo conectar al servicio de Google Chat. Error is {0}".format(exception.stacktrace)"

General

Enumera los espacios

Descripción

Enumera los espacios a los que se agregó el bot de Google Chat configurado actualmente.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Clave de filtro DDL

Selecciona una opción

Valores posibles:

  • Nombre
  • Nombre visible
  • Tipo
No Especifica la clave que se debe usar para filtrar los espacios de Google Chat.
Lógica de filtro DDL

No especificado

Valores posibles:

  • No especificado
  • Igual
  • Contiene
No Especifica qué lógica de filtro se debe aplicar. La lógica de filtrado funciona según el valor proporcionado en el parámetro "Clave del filtro".
Valor del filtro String N/A No

Especifica qué valor se debe usar en el filtro.

Si se selecciona "Igual", la acción intenta encontrar la coincidencia exacta entre los resultados.

Si se selecciona "Contiene", la acción intenta encontrar resultados que contengan la subcadena especificada.

Si no se proporciona nada en este parámetro, no se aplica el filtro. La lógica de filtrado funciona según el valor proporcionado en el parámetro "Clave del filtro".

Cantidad máxima de registros que se pueden devolver Número entero 50 No

Especifica la cantidad de registros que se devolverán.

Si no se proporciona nada, la acción devuelve 50 registros.

Incluir membresías de usuarios Casilla de verificación Desmarcado No Si se habilita, la información de las membresías del usuario se agrega a la tabla de casos y al resultado JSON de la acción.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si hay datos disponibles (is_success=true): "Se encontraron correctamente los espacios agregados para los criterios proporcionados en Google Chat".

Si los datos no están disponibles (is_success=false): "No se encontraron espacios para los criterios proporcionados en Google Chat"

Si el parámetro "Filter Value" no tiene ningún valor (is_success=true):

"No se aplicó el filtro porque el parámetro "Valor del filtro" tiene un valor vacío".

La acción debería fallar y detener la ejecución de la guía:

Si el parámetro Filter Key está establecido en "Select One" y el parámetro Filter Logic está establecido en "Equal" o "Contains":

"Se produjo un error al ejecutar la acción "List Spaces". Motivo: Debes seleccionar un campo del parámetro "Clave de filtro".

Si se proporciona un valor no válido para el parámetro Max Records to Return:

"Se produjo un error al ejecutar la acción "List Spaces". Motivo: "Se proporcionó un valor no válido para "Registros máximos que se devolverán". Se debe proporcionar un número positivo".

Si se informa un error fatal, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema:

"Se produjo un error al ejecutar la acción "List Spaces". Reason: {0}''.format(error.Stacktrace)

General
Tabla del muro de casos

Nombre de la tabla: Bot de espacios disponibles agregado a Columnas de la tabla: {fields}

Nota: Si la casilla de verificación "Incluir membresías de usuarios" está marcada, se agregan columnas adicionales que tienen un nombre visible para los miembros del espacio.

General

Enviar mensaje

Descripción

Envía un mensaje a un espacio de Google Chat al que se agregó la aplicación de Google SecOps.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del espacio String N/A

Especifica el nombre del espacio al que se enviará el mensaje.

Ejemplo de nombre de espacio: AAAAdaTsel0

Texto del mensaje String N/A Especifica el texto del mensaje que se enviará.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si se envía un mensaje correctamente (is_success=true): "Se envió el mensaje correctamente".

La acción debería fallar y detener la ejecución de la guía:

Si se informa un error crítico, como falta de conexión o credenciales incorrectas, se mostrará el mensaje "Error al ejecutar la acción "Enviar mensaje"". Reason: {0}''.format(error.Stacktrace)

General

Enviar mensaje avanzado

Descripción

Envía un mensaje avanzado a un espacio de Google Chat según la carga útil de JSON del mensaje proporcionado.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del espacio String N/A

Especifica el nombre del espacio al que se enviará el mensaje.

Ejemplo de nombre de espacio: AAAAdaTsel0

Carga útil de JSON del mensaje String {"cards":[{"sections":[{"widgets":[{"image":{"imageUrl":"https://..."}},{"buttons":[{"textButton":{"text":"ABRIR EN GOOGLE MAPS","onClick":{"openLink":{"url":"https://..."}}}}]}]}]}]}

Especifica la carga útil de JSON que se enviará con el mensaje.

Para ver ejemplos de cargas útiles de mensajes, consulta este artículo.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Muro de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si se envía un mensaje correctamente (is_success=True): "Se envió el mensaje correctamente".

La acción debería fallar y detener la ejecución de la guía:

Si la carga útil de JSON proporcionada no es válida: "Error al ejecutar la acción "Send Advanced Message". Motivo: La carga útil JSON del mensaje proporcionado no es válida. "

Si se informa un error crítico, como falta de conexión o credenciales incorrectas: "Error al ejecutar la acción "Enviar mensaje avanzado". Reason: {0}''.format(error.Stacktrace)

General

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.