Cómo enviar mensajes de Google Chat

En esta página, se explica cómo las apps de Google Chat pueden enviar mensajes para responder a las interacciones del usuario.

En Google Chat, los complementos aparecen para los usuarios como apps de Google Chat. Para obtener más información, consulta la descripción general de la extensión de Google Chat.

  • Formulario de contacto desde el comando de barra.
    Figura 1: Una app de chat responde a un comando de barra con un mensaje de texto y un botón.
  • Formulario de contacto en un diálogo.
    Figura 2: Una app de chat abre un diálogo en el que los usuarios pueden ingresar información.
  • Mensaje de la tarjeta con widgets de entrada de formulario.
    Figura 5: Una app de chat envía un mensaje con texto y una tarjeta interactiva.

Requisitos previos

Node.js

Un complemento de Google Workspace que extiende Google Chat. Para compilar uno, completa la guía de inicio rápido de HTTP.

Apps Script

Un complemento de Google Workspace que extiende Google Chat. Para compilar una, completa la guía de inicio rápido de Apps Script.

Diseña el mensaje

Las apps de chat pueden incluir cualquiera de los siguientes elementos en un mensaje:

  • Texto que contiene hipervínculos, @menciones y emojis.
  • Una o más tarjetas, que pueden aparecer en un mensaje o abrirse en una ventana nueva como un diálogo.
  • Uno o más widgets de accesorios, que son botones que aparecen después de cualquier texto o tarjeta en un mensaje.

Para obtener información sobre cómo diseñar mensajes, consulta la siguiente documentación de la API de Google Chat:

Responder con un mensaje

Las apps de chat pueden responder con un mensaje a cualquiera de los siguientes activadores o interacciones:

  • Activadores de mensajes, como cuando los usuarios mencionan con @o envían un mensaje directo a una app de Chat.
  • Se agregó al espacio activa, por ejemplo, cuando los usuarios instalan la app de Chat desde Google Workspace Marketplace o la agregan a un espacio.
  • Clics en botones de tarjetas en mensajes o diálogos. Por ejemplo, cuando los usuarios ingresan información y hacen clic en enviar.

De lo contrario, las apps de Chat pueden enviar mensajes de forma proactiva llamando a la API de Google Chat.

Para responder con un mensaje, muestra la acción DataActions con un objeto CreateMessageAction:

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": MESSAGE
}}}

Reemplaza MESSAGE por un recurso Message de la API de Chat. Para obtener más información sobre cómo funcionan las acciones, consulta Acciones de chat.

En el siguiente ejemplo, una app de Chat crea y envía un mensaje de texto cada vez que se agrega a un espacio. Para enviar un mensaje de texto cuando un usuario agrega tu app de Chat a un espacio, esta responde al activador Se agregó al espacio mostrando la acción DataActions:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} req The request object from Google Workspace Add-on.
 * @param {Object} res The response object from the Chat app. An onboarding message that
 *                     introduces the app and helps people get started with it.
 */
exports.cymbalApp = function cymbalApp(req, res) {
  const chatEvent = req.body.chat;
  // Send an onboarding message when added to a Chat space
  if (chatEvent.addedToSpacePayload) {
    res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
      text: 'Hi, Cymbal at your service. I help you manage your calendar' +
            'from Google Chat. Take a look at your schedule today by typing' +
            '`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +
            'what else I can do, type `/help`.'
    }}}}});
  }
};

Apps Script

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 *                  introduces the app and helps people get started with it.
 */
function onAddedToSpace(event) {
  return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
    text: 'Hi, Cymbal at your service. I help you manage your calendar' +
          'from Google Chat. Take a look at your schedule today by typing' +
          '`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +
          'what else I can do, type `/help`.'
  }}}}};
}

La muestra de código muestra el siguiente mensaje de texto:

Ejemplo de mensaje de integración.

Para ver ejemplos adicionales de cómo responder con un mensaje, consulta las siguientes guías:

Cómo actualizar un mensaje

Las apps de chat también pueden actualizar los mensajes que envían. Por ejemplo, para actualizar un mensaje después de que un usuario envió un diálogo o hizo clic en un botón de un mensaje.

Para actualizar un mensaje de la app de Chat, muestra la acción DataActions con un UpdateMessageAction, como se muestra en el siguiente ejemplo:

{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
  "message": MESSAGE
}}}}

Reemplaza MESSAGE por un recurso Message de la API de Chat.

Para obtener más información sobre cómo funcionan las acciones, consulta Acciones de chat.

Las apps de chat también pueden actualizar un mensaje de un usuario para mostrar una vista previa de un vínculo que envió. Para obtener más información, consulta Cómo obtener una vista previa de los vínculos en los mensajes de Google Chat.

Responde a interacciones o envía mensajes proactivos con la API de Google Chat

En lugar de mostrar una acción de complemento, es posible que las apps de Chat deban usar la API de Google Chat para responder a una interacción. Por ejemplo, las apps de Chat deben llamar a la API de Google Chat para realizar cualquiera de las siguientes acciones:

  • Enviar mensajes según un programa o sobre cambios en recursos externos Por ejemplo, notificaciones sobre un problema o caso nuevo.
  • Responder más de 30 segundos después de la interacción Por ejemplo, para responder con un mensaje después de completar una tarea de larga duración.
  • Enviar un mensaje fuera del espacio en el que se produjo la interacción
  • Enviar un mensaje en nombre de un usuario de Chat

Para enviar un mensaje con la API de Chat, debes configurar la autenticación y llamar al método create() en el recurso Message. Para conocer los pasos, consulta Cómo enviar un mensaje con la API de Google Chat.