En esta página, se explica cómo compilar una página principal para los mensajes directos con tu app de Google Chat. Una página principal, a la que se hace referencia como página principal de la app en la API de Google Chat, es una interfaz de tarjeta personalizable que aparece en la pestaña Página principal de los espacios de mensajes directos 1:1 entre un usuario y una app de Chat.
A diferencia de otras aplicaciones host de Google Workspace, los complementos que extienden Chat no muestran una página principal en el panel de acceso rápido del lado derecho ni usan addOns.common.homepageTrigger en el manifiesto.
En cambio, Chat muestra tu página principal como una tarjeta en la pestaña Página principal de un mensaje directo 1:1 con la app de Chat y se configura en la consola de Google Cloud.
Puedes usar la página principal de la app para compartir sugerencias para interactuar con la app de Chat, mostrar un panel personalizado del usuario o permitir que los usuarios accedan a un servicio o herramienta externos y los configuren desde Chat.
Usa Card Builder para diseñar y obtener una vista previa de las interfaces de usuario y los mensajes de las apps de Chat:
Abre Card Builder.Requisitos previos
HTTP
Una app de Google Chat que recibe y responde a las interacciones del usuario. Para compilar uno, completa la guía de inicio rápido de HTTP.
Apps Script
Una app de Google Chat que recibe y responde a las interacciones del usuario. Para compilar una, completa la guía de inicio rápido de Apps Script.
Configura la página principal de la app de tu app de Chat
Para admitir la página principal de la app, habilita Support App Home y configura el activador de la página principal de la app en la consola de Google Cloud. Tu app de Chat recibe un evento de activación de página principal de la app cada vez que un usuario abre la pestaña Página principal en un mensaje directo 1:1 con la app de Chat.
Para configurar la página principal de la app en la consola de Google Cloud, sigue estos pasos:
En la consola de Google Cloud, ve a Menú > APIs y servicios > APIs y servicios habilitados > API de Google Chat > Configuración.
En Funciones interactivas, asegúrate de que Habilitar funciones interactivas esté activado y, luego, en Funcionalidad, selecciona la casilla de verificación Admitir la página principal de la app.
En Configuración de conexión > Activadores, especifica el controlador de la página principal de la app en el campo Página principal de la app según la arquitectura de tu app de chat:
- HTTP: Ingresa la URL del extremo HTTPS que controla las solicitudes de la página principal de la app (o selecciona Usar una URL de extremo HTTP común para todos los activadores para que tu URL de extremo HTTP común reciba todos los eventos).
- Google Apps Script: Ingresa el nombre de la función de devolución de llamada de Google Apps Script que compila y devuelve la tarjeta de la página principal (el valor predeterminado es
onAppHome).
Haz clic en Guardar.
Cómo controlar el objeto de evento de la página principal de la app
Cuando un usuario abre la pestaña Página principal de un mensaje directo 1:1 con tu app de Chat, Chat envía un objeto de evento a tu extremo de la página principal de la app o a la función de devolución de llamada.
A diferencia de los eventos de interacción con el espacio o los mensajes, el objeto de evento inicial de la página principal de la app no incluye una carga útil de interacción de unión (como messagePayload). Contiene los siguientes campos:
commonEventObject: IncluyeclientPlatform,hostApp("CHAT"),userLocaleyuserTimezone.chat.user: Es el usuario de Chat que abrió la pestaña Inicio.chat.eventTime: Es la marca de tiempo en la que el usuario abrió la pestaña Principal.
Cómo compilar una tarjeta de la página principal de la app
Cuando un usuario abre la pestaña Principal, controla el evento de activación de Página principal de la app devolviendo un objeto RenderActions con una acción de navegación pushCard y un Card. Para crear una experiencia interactiva, la tarjeta puede contener widgets interactivos, como botones o entradas de texto.
HTTP
{
"action": {
"navigations": [
{
"pushCard": {
"header": {
"title": "Welcome to App Home"
},
"sections": [
{
"widgets": [
{
"textParagraph": {
"text": "Manage your settings and view your dashboard here."
}
},
{
"buttonList": {
"buttons": [
{
"text": "Refresh",
"onClick": {
"action": {
"function": "https://example.com/updateAppHome"
}
}
}
]
}
}
]
}
]
}
}
]
}
}
Apps Script
/**
* Builds and returns the App Home card when a user opens the Home tab.
*
* @param {Object} event The event object from Google Chat.
* @return {ActionResponse} The RenderActions response pushing the homepage card.
*/
function onAppHome(event) {
const card = CardService.newCardBuilder()
.setHeader(
CardService.newCardHeader().setTitle('Welcome to App Home'))
.addSection(
CardService.newCardSection()
.addWidget(
CardService.newTextParagraph().setText(
'Manage your settings and view your dashboard here.'))
.addWidget(
CardService.newButtonSet().addButton(
CardService.newTextButton()
.setText('Refresh')
.setOnClickAction(
CardService.newAction().setFunctionName(
'updateAppHome')))))
.build();
return CardService.newActionResponseBuilder()
.setNavigation(CardService.newNavigation().pushCard(card))
.build();
}
Responde a las interacciones de la página principal de la app
Si la tarjeta de la página principal de la app contiene widgets interactivos, como botones o entradas de formularios, cuando se hace clic en un botón, se envía un objeto de evento que contiene chat.buttonClickedPayload (junto con commonEventObject.parameters y commonEventObject.formInputs) a la función de acción o al extremo configurado del botón.
Para actualizar la tarjeta de la página principal de la app en respuesta a una interacción del usuario, devuelve un objeto RenderActions con una acción de navegación updateCard. Para obtener más información sobre cómo leer las entradas de formularios de widgets interactivos, consulta Cómo leer los datos de formularios que ingresan los usuarios en tarjetas.
HTTP
{
"action": {
"navigations": [
{
"updateCard": {
"header": {
"title": "Welcome to App Home"
},
"sections": [
{
"widgets": [
{
"textParagraph": {
"text": "Last updated: 2026-10-02T23:00:00Z"
}
}
]
}
]
}
}
]
}
}
Apps Script
/**
* Updates the App Home card when a user clicks the Refresh button.
*
* @param {Object} event The event object from Google Chat.
* @return {ActionResponse} The RenderActions response updating the homepage card.
*/
function updateAppHome(event) {
const updatedCard = CardService.newCardBuilder()
.setHeader(
CardService.newCardHeader().setTitle('Welcome to App Home'))
.addSection(
CardService.newCardSection().addWidget(
CardService.newTextParagraph().setText(
'Last updated: ' + new Date().toTimeString())))
.build();
return CardService.newActionResponseBuilder()
.setNavigation(CardService.newNavigation().updateCard(updatedCard))
.build();
}
Abrir diálogos desde la página principal de la app
Tu app de Chat también puede responder a las interacciones en la Página principal de la app abriendo diálogos.
Para obtener información sobre cómo abrir, actualizar y cerrar diálogos con RenderActions (pushCard, updateCard y endNavigation: "CLOSE_DIALOG"), consulta Cómo abrir diálogos interactivos.
Temas relacionados
- Recibir y responder a las interacciones del usuario
- Abrir diálogos interactivos
- Leer los datos del formulario que ingresan los usuarios en las tarjetas
- Consulta muestras de apps de Chat
Apps de Chat que no son complementos: Compila una página principal para una app de Chat
Si mantienes una app de Chat que no es un complemento de Google Workspace, Chat envía un evento de interacción APP_HOME cuando un usuario abre la pestaña Página principal y envía eventos de interacción CARD_CLICKED o SUBMIT_FORM cuando un usuario interactúa con widgets en la tarjeta de la página principal de la app.
Para actualizar una app de Chat que no es un complemento al framework de complementos de Google Workspace, consulta Cómo convertir una app de Google Chat en un complemento de Google Workspace.
Crea una tarjeta de página principal de la app en una app de Chat que no sea un complemento
En una app de Chat que no sea un complemento, controla el evento de interacción APP_HOME devolviendo una respuesta que contenga un campo renderActions de nivel superior con pushCard navegación:
Node.js
Python
Java
Apps Script
En este ejemplo, se envía un mensaje de tarjeta devolviendo JSON de tarjeta. También puedes usar el servicio de tarjetas de Apps Script.
Responde a las interacciones de la página principal de la app en una app de Chat que no sea un complemento
En una app de Chat que no sea un complemento, controla los eventos de interacción CARD_CLICKED o SUBMIT_FORM de una tarjeta de la página principal de la app devolviendo una respuesta que contenga un campo renderActions de nivel superior con navegación updateCard:
Node.js
Python
Java
Apps Script
En este ejemplo, se envía un mensaje de tarjeta devolviendo JSON de tarjeta. También puedes usar el servicio de tarjetas de Apps Script.