Package google.apps.card.v1

Índice

Acción

Es una acción que describe el comportamiento cuando se envía el formulario. Por ejemplo, puedes invocar una secuencia de comandos de Apps Script para controlar el formulario. Si se activa la acción, los valores del formulario se envían al servidor.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
function

string

Es una función personalizada que se invoca cuando se hace clic en el elemento contenedor o se activa de otra manera.

Para ver un ejemplo de uso, consulta Lee datos de formulario.

parameters[]

ActionParameter

Es la lista de parámetros de acción.

loadIndicator

LoadIndicator

Especifica el indicador de carga que muestra la acción mientras se realiza la llamada a la acción.

persistValues

bool

Indica si los valores del formulario persisten después de la acción. El valor predeterminado es false.

Si es true, los valores del formulario permanecen después de que se activa la acción. Para permitir que el usuario realice cambios mientras se procesa la acción, establece LoadIndicator en NONE. En el caso de los mensajes de tarjetas en las apps de Chat, también debes establecer el ResponseType de la acción en UPDATE_MESSAGE y usar el mismo card_id de la tarjeta que contenía la acción.

Si es false, los valores del formulario se borran cuando se activa la acción. Para evitar que el usuario realice cambios mientras se procesa la acción, establece LoadIndicator en SPINNER.

interaction

Interaction

Opcional. Es obligatorio cuando se abre un diálogo.

Qué hacer en respuesta a una interacción con un usuario, por ejemplo, si hace clic en un botón de un mensaje de tarjeta

Si no se especifica, la app responde ejecutando un action (como abrir un vínculo o ejecutar una función) de forma normal.

Cuando se especifica un interaction, la app puede responder de formas interactivas especiales. Por ejemplo, si configuras interaction como OPEN_DIALOG, la app puede abrir un diálogo. Cuando se especifica, no se muestra un indicador de carga. Si se especifica para un complemento, se quita toda la tarjeta y no se muestra nada en el cliente.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

requiredWidgets[]

string

Opcional. Completa esta lista con los nombres de los widgets que necesita esta acción para que el envío sea válido.

Si los widgets que se enumeran aquí no tienen un valor cuando se invoca esta acción, se aborta el envío del formulario.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

allWidgetsAreRequired

bool

Opcional. Si es así, todos los widgets se consideran obligatorios para esta acción.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

ActionParameter

Es una lista de parámetros de cadena que se deben proporcionar cuando se invoca el método de acción. Por ejemplo, considera tres botones para posponer: posponer ahora, posponer un día o posponer la próxima semana. Puedes usar action method = snooze() y pasar el tipo de posposición y la hora de posposición en la lista de parámetros de cadena.

Para obtener más información, consulta CommonEventObject.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
key

string

Es el nombre del parámetro de la secuencia de comandos de la acción.

value

string

El valor del parámetro.

Interacción

Opcional. Es obligatorio cuando se abre un diálogo.

Qué hacer en respuesta a una interacción con un usuario, por ejemplo, si hace clic en un botón de un mensaje de tarjeta

Si no se especifica, la app responde ejecutando un action (como abrir un vínculo o ejecutar una función) de forma normal.

Cuando se especifica un interaction, la app puede responder de formas interactivas especiales. Por ejemplo, si configuras interaction como OPEN_DIALOG, la app puede abrir un diálogo.

Cuando se especifica, no se muestra un indicador de carga. Si se especifica para un complemento, se quita toda la tarjeta y no se muestra nada en el cliente.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Enumeraciones
INTERACTION_UNSPECIFIED Valor predeterminado action se ejecuta como de costumbre.
OPEN_DIALOG

Abre un diálogo, una interfaz con ventanas y basada en tarjetas que las apps de Chat usan para interactuar con los usuarios.

Solo es compatible con las apps de Chat en respuesta a clics en botones en mensajes de tarjetas. Si se especifica para un complemento, se quita toda la tarjeta y no se muestra nada en el cliente.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

LoadIndicator

Especifica el indicador de carga que muestra la acción mientras se realiza la llamada a la acción.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
SPINNER Muestra un ícono giratorio para indicar que se está cargando el contenido.
NONE No se muestra nada.

BorderStyle

Son las opciones de diseño para el borde de una tarjeta o un widget, incluido el tipo y el color del borde.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
type

BorderType

Es el tipo de borde.

strokeColor

Color

Son los colores que se usarán cuando el tipo sea BORDER_TYPE_STROKE.

Para establecer el color del trazo, especifica un valor para los campos red, green y blue. El valor debe ser un número de punto flotante entre 0 y 1 según el valor de color RGB, en el que 0 (0/255) representa la ausencia de color y 1 (255/255) representa la intensidad máxima del color.

Por ejemplo, el siguiente comando establece el color en rojo con su intensidad máxima:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

El campo alpha no está disponible para el color del trazo. Si se especifica, este campo se ignora.

cornerRadius

int32

Es el radio de esquina del borde.

BorderType

Representa los tipos de bordes aplicados a los widgets.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
BORDER_TYPE_UNSPECIFIED No lo uses. Sin especificar.
NO_BORDER Valor predeterminado Sin borde.
STROKE Outline

Botón

Un botón de texto, ícono o texto y ícono en el que los usuarios pueden hacer clic. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un botón.

Para hacer que una imagen sea un botón en el que se pueda hacer clic, especifica un Image (no un ImageComponent) y establece una acción onClick.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
text

string

Es el texto que se muestra dentro del botón.

icon

Icon

Es un ícono que se muestra dentro del botón. Si se configuran icon y text, el ícono aparecerá antes del texto.

color

Color

Opcional. Es el color del botón. Si se establece, el botón type se establece en FILLED y el color de los campos text y icon se establece en un color contrastante para facilitar la lectura. Por ejemplo, si el color del botón se establece en azul, el texto o los íconos del botón se establecerán en blanco.

Para establecer el color del botón, especifica un valor para los campos red, green y blue. El valor debe ser un número de punto flotante entre 0 y 1 según el valor de color RGB, en el que 0 (0/255) representa la ausencia de color y 1 (255/255) representa la intensidad máxima del color.

Por ejemplo, el siguiente comando establece el color en rojo con su intensidad máxima:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

El campo alpha no está disponible para el color del botón. Si se especifica, este campo se ignora.

onClick

OnClick

Obligatorio. Es la acción que se debe realizar cuando un usuario hace clic en el botón, como abrir un hipervínculo o ejecutar una función personalizada.

disabled

bool

Si es true, el botón se muestra en un estado inactivo y no responde a las acciones del usuario.

altText

string

Es el texto alternativo que se usa para la accesibilidad.

Establece un texto descriptivo que les permita a los usuarios saber qué hace el botón. Por ejemplo, si un botón abre un hipervínculo, puedes escribir lo siguiente: "Abre una nueva pestaña del navegador y navega a la documentación para desarrolladores de Google Chat en https://developers.google.com/workspace/chat".

type

Type

Opcional. Es el tipo de botón. Si no se configura, el tipo de botón se establece de forma predeterminada en OUTLINED. Si se configura el campo color, el tipo de botón se establece de forma forzosa en FILLED y se ignora cualquier valor configurado para este campo.

Tipo

Opcional. Es el tipo de un botón. Si se establece el campo color, type se establece de forma forzosa en FILLED.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Enumeraciones
TYPE_UNSPECIFIED No lo uses. Sin especificar.
OUTLINED Los botones con contorno son botones de énfasis medio. Por lo general, contienen acciones que son importantes, pero no son la acción principal en una app de Chat o un complemento.
FILLED Un botón relleno tiene un contenedor con un color sólido. Tiene el mayor impacto visual y se recomienda para la acción importante y principal en una app de Chat o un complemento.
FILLED_TONAL Un botón tonal relleno es un punto medio alternativo entre los botones rellenos y con contorno. Son útiles en contextos en los que un botón de menor prioridad requiere un poco más de énfasis que el que le daría un botón con contorno.
BORDERLESS Un botón no tiene un contenedor invisible en su estado predeterminado. A menudo, se usa para las acciones de menor prioridad, en especial cuando se presentan varias opciones.

ButtonList

Una lista de botones dispuestos horizontalmente. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un botón.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
buttons[]

Button

Un array de botones.

Tarjeta

Una interfaz de tarjeta que se muestra en un mensaje de Google Chat o un complemento de Google Workspace.

Las tarjetas admiten un diseño definido, elementos interactivos de la IU, como botones, y contenido rich media, como imágenes. Usa tarjetas para presentar información detallada, recopilar información de los usuarios y guiarlos para que realicen el siguiente paso.

Diseña y obtén vistas previas de las tarjetas con el Creador de tarjetas.

Abre el compilador de tarjetas

Para aprender a crear tarjetas, consulta la siguiente documentación:

Nota: Puedes agregar hasta 100 widgets por tarjeta. Se ignorarán los widgets que superen este límite. Este límite se aplica a los mensajes y diálogos de tarjetas en las apps de Google Chat y a las tarjetas en los complementos de Google Workspace.

Ejemplo: Mensaje de tarjeta para una app de Google Chat

Ejemplo de tarjeta de contacto

Para crear el mensaje de tarjeta de muestra en Google Chat, usa el siguiente JSON:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
           "imageType": "CIRCLE",
           "imageAltText": "Avatar for Sasha"
         },
         "sections": [
           {
             "header": "Contact Info",
             "collapsible": true,
             "uncollapsibleWidgetsCount": 1,
             "widgets": [
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "EMAIL"
                   },
                   "text": "sasha@example.com"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PERSON"
                   },
                   "text": "<font color=\"#80e27e\">Online</font>"
                 }
               },
               {
                 "decoratedText": {
                   "startIcon": {
                     "knownIcon": "PHONE"
                   },
                   "text": "+1 (555) 555-1234"
                 }
               },
               {
                 "buttonList": {
                   "buttons": [
                     {
                       "text": "Share",
                       "onClick": {
                        "openLink": {
                           "url": "https://example.com/share"
                         }
                       }
                     },
                     {
                       "text": "Edit",
                       "onClick": {
                         "action": {
                           "function": "goToView",
                           "parameters": [
                             {
                               "key": "viewType",
                               "value": "EDIT"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Campos
header

CardHeader

Es el encabezado de la tarjeta. Por lo general, un encabezado contiene una imagen inicial y un título. Los encabezados siempre aparecen en la parte superior de una tarjeta.

sections[]

Section

Contiene una colección de widgets. Cada sección tiene su propio encabezado opcional. Las secciones se separan visualmente con un divisor de línea. Para ver un ejemplo en las apps de Google Chat, consulta Cómo definir una sección de una tarjeta.

sectionDividerStyle

DividerStyle

Es el estilo del divisor entre el encabezado, las secciones y el pie de página.

cardActions[]

CardAction

Son las acciones de la tarjeta. Las acciones se agregan al menú de la barra de herramientas de la tarjeta.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Por ejemplo, el siguiente JSON crea un menú de acciones de tarjetas con las opciones Settings y Send Feedback:

"cardActions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

Es el nombre de la tarjeta. Se usa como identificador de tarjeta en la navegación de tarjetas.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

fixedFooter

CardFixedFooter

Es el pie de página fijo que se muestra en la parte inferior de esta tarjeta.

Si configuras fixedFooter sin especificar un primaryButton o un secondaryButton, se genera un error. En el caso de las apps de Chat, puedes usar pies de página fijos en los diálogos, pero no en los mensajes de tarjetas.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

displayStyle

DisplayStyle

En Complementos de Google Workspace, establece las propiedades de visualización de peekCardHeader.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

peekCardHeader

CardHeader

Cuando se muestra contenido contextual, el encabezado de la tarjeta de vista previa actúa como marcador de posición para que el usuario pueda navegar entre las tarjetas de la página principal y las tarjetas contextuales.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

CardAction

Una acción de tarjeta es la acción asociada con la tarjeta. Por ejemplo, una tarjeta de factura puede incluir acciones como borrar la factura, enviarla por correo electrónico o abrirla en un navegador.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Campos
actionLabel

string

Es la etiqueta que se muestra como el elemento del menú de acciones.

onClick

OnClick

Es la acción onClick de este elemento de acción.

CardFixedFooter

Es un pie de página persistente (fijo) que aparece en la parte inferior de la tarjeta.

Si configuras fixedFooter sin especificar un primaryButton o un secondaryButton, se genera un error.

En el caso de las apps de Chat, puedes usar pies de página fijos en los diálogos, pero no en los mensajes de tarjetas. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un pie de página persistente.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
primaryButton

Button

Es el botón principal del pie de página fijo. El botón debe ser un botón de texto con texto y color establecidos.

secondaryButton

Button

Es el botón secundario del pie de página fijo. El botón debe ser un botón de texto con texto y color establecidos. Si se establece secondaryButton, también debes establecer primaryButton.

CardHeader

Representa el encabezado de una tarjeta. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un encabezado.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
title

string

Obligatorio. Es el título del encabezado de la tarjeta. El encabezado tiene una altura fija: si se especifican un título y un subtítulo, cada uno ocupa una línea. Si solo se especifica el título, ocupa ambas líneas.

subtitle

string

Es el subtítulo del encabezado de la tarjeta. Si se especifica, aparece en su propia línea debajo de title.

imageType

ImageType

Es la forma que se usa para recortar la imagen.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

imageUrl

string

Es la URL HTTPS de la imagen en el encabezado de la tarjeta.

imageAltText

string

Es el texto alternativo de esta imagen que se usa para la accesibilidad.

DisplayStyle

En Complementos de Google Workspace, determina cómo se muestra una tarjeta.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Enumeraciones
DISPLAY_STYLE_UNSPECIFIED No lo uses. Sin especificar.
PEEK El encabezado de la tarjeta aparece en la parte inferior de la barra lateral y cubre parcialmente la tarjeta superior actual de la pila. Si haces clic en el encabezado, la tarjeta aparecerá en la pila de tarjetas. Si la tarjeta no tiene encabezado, se usa uno generado.
REPLACE Valor predeterminado Para mostrar la tarjeta, se reemplaza la vista de la tarjeta superior de la pila de tarjetas.

DividerStyle

Es el estilo del divisor de una tarjeta. Actualmente, solo se usa para los divisores entre las secciones de la tarjeta.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
DIVIDER_STYLE_UNSPECIFIED No lo uses. Sin especificar.
SOLID_DIVIDER Opción predeterminada. Renderiza un divisor sólido.
NO_DIVIDER Si se establece, no se renderiza ningún divisor. Este estilo quita por completo el divisor del diseño. El resultado equivale a no agregar ningún divisor.

NestedWidget

Es una lista de widgets que se pueden mostrar en un diseño contenedor, como un CarouselCard. Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Campos

Campo de unión data.

data puede ser una de las siguientes opciones:

textParagraph

TextParagraph

Un widget de párrafo de texto.

buttonList

ButtonList

Un widget de lista de botones.

image

Image

Un widget de imagen.

Sección

Una sección contiene una colección de widgets que se renderizan verticalmente en el orden en que se especifican.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
header

string

Es el texto que aparece en la parte superior de una sección. Admite texto simple con formato HTML. Para obtener más información sobre cómo dar formato al texto, consulta Cómo dar formato al texto en las apps de Google Chat y Cómo dar formato al texto en los complementos de Google Workspace.

widgets[]

Widget

Todos los widgets de la sección Debe contener al menos un widget.

collapsible

bool

Indica si esta sección se puede contraer.

Las secciones contraíbles ocultan algunos o todos los widgets, pero los usuarios pueden expandir la sección para revelar los widgets ocultos haciendo clic en Mostrar más. Los usuarios pueden volver a ocultar los widgets haciendo clic en Mostrar menos.

Para determinar qué widgets están ocultos, especifica uncollapsibleWidgetsCount.

uncollapsibleWidgetsCount

int32

Es la cantidad de widgets no contraíbles que permanecen visibles incluso cuando se contrae una sección.

Por ejemplo, cuando una sección contiene cinco widgets y uncollapsibleWidgetsCount se establece en 2, siempre se muestran los dos primeros widgets y los tres últimos se contraen de forma predeterminada. uncollapsibleWidgetsCount se tiene en cuenta solo cuando collapsible es true.

collapseControl

CollapseControl

Opcional. Define el botón para expandir y contraer la sección. Este botón solo se mostrará si la sección se puede contraer. Si no se establece este campo, se usa el botón predeterminado.

Un carrusel, también conocido como control deslizante, rota y muestra una lista de widgets en formato de presentación de diapositivas, con botones que permiten navegar al widget anterior o al siguiente.

Por ejemplo, esta es una representación JSON de un carrusel que contiene tres widgets de párrafo de texto.

{
  "carouselCards": [
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "First text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Second text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Third text paragraph in carousel",
          }
        }
      ]
    }
  ]
}

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Campos
carouselCards[]

CarouselCard

Es una lista de las tarjetas incluidas en el carrusel.

CarouselCard

Es una tarjeta que se puede mostrar como un elemento de carrusel. Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Campos
widgets[]

NestedWidget

Es una lista de widgets que se muestran en la tarjeta del carrusel. Los widgets se muestran en el orden en que se especifican.

footerWidgets[]

NestedWidget

Es una lista de widgets que se muestra en la parte inferior de la tarjeta del carrusel. Los widgets se muestran en el orden en que se especifican.

Chip

Un texto, un ícono o un chip de texto y un ícono en el que los usuarios pueden hacer clic.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
icon

Icon

La imagen del ícono. Si se configuran icon y text, el ícono aparecerá antes del texto.

label

string

Es el texto que se muestra dentro del chip.

onClick

OnClick

Opcional. Es la acción que se realizará cuando un usuario haga clic en el chip, como abrir un hipervínculo o ejecutar una función personalizada.

enabled
(deprecated)

bool

Indica si el chip está en un estado activo y responde a las acciones del usuario. La configuración predeterminada es true. Obsoleta. Usa disabled en su lugar.

disabled

bool

Indica si el chip está en un estado inactivo y si ignora las acciones del usuario. La configuración predeterminada es false.

altText

string

Es el texto alternativo que se usa para la accesibilidad.

Establece un texto descriptivo que les permita a los usuarios saber qué hace el chip. Por ejemplo, si un chip abre un hipervínculo, escribe lo siguiente: "Abre una nueva pestaña del navegador y navega a la documentación para desarrolladores de Google Chat en https://developers.google.com/workspace/chat".

ChipList

Es una lista de chips dispuestos horizontalmente, que se pueden desplazar horizontalmente o unir a la siguiente línea.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
layout

Layout

Diseño de lista de chips especificado.

chips[]

Chip

Un array de chips.

Diseño

El diseño de la lista de chips.

Enumeraciones
LAYOUT_UNSPECIFIED No lo uses. Sin especificar.
WRAPPED Valor predeterminado La lista de chips se une a la siguiente línea si no hay suficiente espacio horizontal.
HORIZONTAL_SCROLLABLE Los chips se desplazan horizontalmente si no caben en el espacio disponible.

CollapseControl

Representa un control de expansión y contracción.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
horizontalAlignment

HorizontalAlignment

Es la alineación horizontal del botón para expandir y contraer.

expandButton

Button

Opcional. Define un botón personalizable para expandir la sección. Se deben configurar los campos expandButton y collapseButton. Solo un conjunto de campos no se aplicará. Si no se establece este campo, se usa el botón predeterminado.

collapseButton

Button

Opcional. Define un botón personalizable para contraer la sección. Se deben configurar los campos expandButton y collapseButton. Solo un conjunto de campos no se aplicará. Si no se establece este campo, se usa el botón predeterminado.

Columnas

El widget Columns muestra hasta 2 columnas en una tarjeta o un diálogo. Puedes agregar widgets a cada columna. Estos aparecerán en el orden en que se especifiquen. Para ver un ejemplo en las apps de Google Chat, consulta Cómo mostrar tarjetas y diálogos en columnas.

La altura de cada columna se determina según la columna más alta. Por ejemplo, si la primera columna es más alta que la segunda, ambas columnas tienen la altura de la primera. Dado que cada columna puede contener una cantidad diferente de widgets, no puedes definir filas ni alinear widgets entre las columnas.

Las columnas se muestran una al lado de la otra. Puedes personalizar el ancho de cada columna con el campo HorizontalSizeStyle. Si el ancho de la pantalla del usuario es demasiado estrecho, la segunda columna se une debajo de la primera:

  • En la Web, la segunda columna se une si el ancho de la pantalla es menor o igual a 480 píxeles.
  • En dispositivos iOS, la segunda columna se une si el ancho de la pantalla es inferior o igual a 300 pt.
  • En dispositivos Android, la segunda columna se une si el ancho de la pantalla es inferior o igual a 320 dp.

Para incluir más de dos columnas o usar filas, usa el widget Grid.

Disponible para las apps de Google Chat y los complementos de Google Workspace. Las IU de complementos que admiten columnas incluyen las siguientes:

  • Es el diálogo que se muestra cuando los usuarios abren el complemento desde un borrador de correo electrónico.
  • Es el diálogo que se muestra cuando los usuarios abren el complemento desde el menú Agregar archivo adjunto en un evento del Calendario de Google.
Campos
columnItems[]

Column

Un array de columnas. Puedes incluir hasta 2 columnas en una tarjeta o un diálogo.

Columna

Una columna

Complementos de Google Workspace y apps de Chat

Campos
horizontalSizeStyle

HorizontalSizeStyle

Especifica cómo una columna completa el ancho de la tarjeta.

horizontalAlignment

HorizontalAlignment

Especifica si los widgets se alinean a la izquierda, a la derecha o en el centro de una columna.

verticalAlignment

VerticalAlignment

Especifica si los widgets se alinean en la parte superior, inferior o central de una columna.

widgets[]

Widgets

Es un array de widgets incluidos en una columna. Los widgets aparecen en el orden en que se especifican.

HorizontalSizeStyle

Especifica cómo una columna completa el ancho de la tarjeta. El ancho de cada columna depende de HorizontalSizeStyle y del ancho de los widgets dentro de la columna.

Complementos de Google Workspace y apps de Chat

Enumeraciones
HORIZONTAL_SIZE_STYLE_UNSPECIFIED No lo uses. Sin especificar.
FILL_AVAILABLE_SPACE Valor predeterminado La columna ocupa el espacio disponible, hasta el 70% del ancho de la tarjeta. Si ambas columnas se establecen en FILL_AVAILABLE_SPACE, cada una ocupará el 50% del espacio.
FILL_MINIMUM_SPACE La columna ocupa la menor cantidad de espacio posible y no más del 30% del ancho de la tarjeta.

VerticalAlignment

Especifica si los widgets se alinean en la parte superior, inferior o central de una columna.

Complementos de Google Workspace y apps de Chat

Enumeraciones
VERTICAL_ALIGNMENT_UNSPECIFIED No lo uses. Sin especificar.
CENTER Valor predeterminado Alinea los widgets en el centro de una columna.
TOP Alinea los widgets en la parte superior de una columna.
BOTTOM Alinea los widgets en la parte inferior de una columna.

Widgets

Los widgets compatibles que puedes incluir en una columna.

Complementos de Google Workspace y apps de Chat

Campos

Campo de unión data.

data puede ser una de las siguientes opciones:

textParagraph

TextParagraph

TextParagraph widget

image

Image

Image widget

decoratedText

DecoratedText

DecoratedText widget

buttonList

ButtonList

ButtonList widget

textInput

TextInput

TextInput widget

selectionInput

SelectionInput

SelectionInput widget

dateTimePicker

DateTimePicker

DateTimePicker widget

chipList

ChipList

ChipList widget

DataActions

Una acción de complemento que actualiza los datos de Google Workspace.

Campos
hostAppDataAction

HostAppDataActionMarkup

Define cómo actualizar los datos de Google Workspace.

DateTimePicker

Permite que los usuarios ingresen una fecha, una hora o ambas. Admite la validación del envío de formularios. Cuando Action.all_widgets_are_required se establece en true o se especifica este widget en Action.required_widgets, se bloquea la acción de envío, a menos que se seleccione un valor. Para ver un ejemplo en las apps de Google Chat, consulta Permite que un usuario elija una fecha y hora.

Los usuarios pueden ingresar texto o usar el selector para seleccionar fechas y horas. Si los usuarios ingresan una fecha o hora no válidas, el selector muestra un error que les solicita que ingresen la información correctamente.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
name

string

Es el nombre por el que se identifica el DateTimePicker en un evento de entrada de formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

label

string

Es el texto que les solicita a los usuarios que ingresen una fecha, una hora o una fecha y una hora. Por ejemplo, si los usuarios programan una cita, usa una etiqueta como Appointment date o Appointment date and time.

type

DateTimePickerType

Indica si el widget admite la entrada de una fecha, una hora o la fecha y la hora.

valueMsEpoch

int64

Es el valor predeterminado que se muestra en el widget, en milisegundos desde la época Unix.

Especifica el valor según el tipo de selector (DateTimePickerType):

  • DATE_AND_TIME: Es una fecha y hora del calendario en UTC. Por ejemplo, para representar el 1 de enero de 2023 a las 12:00 p.m. (UTC), usa 1672574400000.
  • DATE_ONLY: Es una fecha de calendario a las 00:00:00 UTC. Por ejemplo, para representar el 1 de enero de 2023, usa 1672531200000.
  • TIME_ONLY: Es una hora en UTC. Por ejemplo, para representar las 12:00 p.m., usa 43200000 (o 12 * 60 * 60 * 1000).
timezoneOffsetDate

int32

Es el número que representa la diferencia de zona horaria con UTC, en minutos. Si se establece, value_ms_epoch se muestra en la zona horaria especificada. Si no se establece, el valor predeterminado es la configuración de zona horaria del usuario.

onChangeAction

Action

Se activa cuando el usuario hace clic en Guardar o Borrar en la interfaz de DateTimePicker.

DateTimePickerType

Es el formato de la fecha y la hora en el widget DateTimePicker. Determina si los usuarios pueden ingresar una fecha, una hora o ambas.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
DATE_AND_TIME Los usuarios ingresan una fecha y hora.
DATE_ONLY Los usuarios ingresan una fecha.
TIME_ONLY Los usuarios ingresan una hora.

DecoratedText

Es un widget que muestra texto con decoraciones opcionales, como una etiqueta sobre o debajo del texto, un ícono delante del texto, un widget de selección o un botón después del texto. Para ver un ejemplo en las apps de Google Chat, consulta Cómo mostrar texto con texto decorativo.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
icon
(deprecated)

Icon

Se dio de baja y se reemplazó por startIcon.

startIcon

Icon

Es el ícono que se muestra frente al texto.

topLabel

string

Es el texto que aparece sobre text. Siempre se trunca.

text

string

Obligatorio. Es el texto principal.

Admite el formato simple. Para obtener más información sobre cómo dar formato al texto, consulta Cómo dar formato al texto en las apps de Google Chat y Cómo dar formato al texto en los complementos de Google Workspace.

wrapText

bool

Es la configuración de ajuste de texto. Si es true, el texto se une y se muestra en varias líneas. De lo contrario, el texto se trunca.

Solo se aplica a text, no a topLabel ni bottomLabel.

bottomLabel

string

Es el texto que aparece debajo de text. Siempre se une.

onClick

OnClick

Esta acción se activa cuando los usuarios hacen clic en topLabel o bottomLabel.

Campo de unión control. Un botón, un interruptor, una casilla de verificación o una imagen que aparece a la derecha del texto en el widget decoratedText. control puede ser solo uno de los siguientes:
button

Button

Es un botón en el que un usuario puede hacer clic para activar una acción.

switchControl

SwitchControl

Es un widget de interruptor en el que el usuario puede hacer clic para cambiar su estado y activar una acción.

endIcon

Icon

Un ícono que se muestra después del texto.

Admite íconos integrados y personalizados.

SwitchControl

Un interruptor de estilo de activación o una casilla de verificación dentro de un widget decoratedText

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Solo se admite en el widget decoratedText.

Campos
name

string

Es el nombre por el que se identifica el widget de interruptor en un evento de entrada de formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

value

string

Es el valor que ingresa un usuario, que se muestra como parte de un evento de entrada de formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

selected

bool

Cuando es true, el interruptor está seleccionado.

onChangeAction

Action

Es la acción que se debe realizar cuando se cambia el estado del interruptor, como qué función ejecutar.

controlType

ControlType

Cómo aparece el interruptor en la interfaz de usuario

Disponible para las apps de Google Chat y los complementos de Google Workspace.

ControlType

Cómo aparece el interruptor en la interfaz de usuario

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
SWITCH Un interruptor de tipo botón de activación.
CHECKBOX Se dio de baja y se reemplazó por CHECK_BOX.
CHECK_BOX Una casilla de verificación.

Separador

Este tipo no tiene campos.

Muestra un divisor entre los widgets como una línea horizontal. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un divisor horizontal entre widgets.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Por ejemplo, el siguiente JSON crea un divisor:

"divider": {}

EndNavigation

En el caso de los complementos de Google Chat, cierra un diálogo.

Campos
action

Action

Para los complementos de Google Chat, es la acción que cierra un diálogo.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Acción

Para los complementos en Google Chat, acciones para EndNavigation.

Enumeraciones
ACTION_UNSPECIFIED Acción no especificada.
CLOSE_DIALOG Cierra un diálogo.
CLOSE_DIALOG_AND_EXECUTE Cierra un diálogo y actualiza la tarjeta que lo abrió.

GetAutocompletionResponse

Es una respuesta para obtener el contenedor de autocompletado, que incluye los elementos necesarios para mostrar los elementos de autocompletado del campo de texto.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat. Por ejemplo:

{
  "autoComplete": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
Campos
autoComplete

Suggestions

schema

string

Este es un campo de esquema sin operación que puede estar presente en el marcado para la verificación de sintaxis.

Cuadrícula

Muestra una cuadrícula con una colección de elementos. Los elementos solo pueden incluir texto o imágenes. Para columnas responsivas o para incluir más que texto o imágenes, usa Columns. Para ver un ejemplo en las apps de Google Chat, consulta Cómo mostrar una cuadrícula con una colección de elementos.

Una cuadrícula admite cualquier cantidad de columnas y elementos. La cantidad de filas se determina según los elementos divididos por las columnas. Una cuadrícula con 10 elementos y 2 columnas tiene 5 filas. Una cuadrícula con 11 elementos y 2 columnas tiene 6 filas.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Por ejemplo, el siguiente JSON crea una cuadrícula de 2 columnas con un solo elemento:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
Campos
title

string

Es el texto que se muestra en el encabezado de la cuadrícula.

items[]

GridItem

Los elementos que se mostrarán en la cuadrícula.

borderStyle

BorderStyle

Es el estilo de borde que se aplicará a cada elemento de la cuadrícula.

columnCount

int32

Es la cantidad de columnas que se mostrarán en la cuadrícula. Si no se especifica este campo, se usa un valor predeterminado que es diferente según dónde se muestre la cuadrícula (diálogo o complementaria).

onClick

OnClick

Cada elemento de la cuadrícula reutiliza esta devolución de llamada, pero con el identificador y el índice del elemento en la lista de elementos agregados a los parámetros de la devolución de llamada.

GridItem

Representa un elemento en un diseño de cuadrícula. Los elementos pueden contener texto, una imagen o ambos.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
id

string

Es un identificador especificado por el usuario para este elemento de la cuadrícula. Este identificador se muestra en los parámetros de devolución de llamada onClick de la cuadrícula superior.

image

ImageComponent

Es la imagen que se muestra en el elemento de la cuadrícula.

title

string

Es el título del elemento de la cuadrícula.

subtitle

string

Es el subtítulo del elemento de la cuadrícula.

layout

GridItemLayout

Es el diseño que se usará para el elemento de cuadrícula.

GridItemLayout

Representa las diferentes opciones de diseño disponibles para un elemento de cuadrícula.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
GRID_ITEM_LAYOUT_UNSPECIFIED No lo uses. Sin especificar.
TEXT_BELOW El título y el subtítulo se muestran debajo de la imagen del elemento de la cuadrícula.
TEXT_ABOVE El título y el subtítulo se muestran sobre la imagen del elemento de la cuadrícula.

Ícono

Un ícono que se muestra en un widget de una tarjeta. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un ícono.

Admite íconos integrados y personalizados.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
altText

string

Opcional. Es una descripción del ícono que se usa para la accesibilidad. Si no se especifica, se proporciona el valor predeterminado Button. Como práctica recomendada, debes establecer una descripción útil de lo que muestra el ícono y, si corresponde, de lo que hace. Por ejemplo, A user's account portrait o Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

Si el ícono se establece en un Button, el altText aparece como texto auxiliar cuando el usuario coloca el cursor sobre el botón. Sin embargo, si el botón también establece text, se ignora el altText del ícono.

imageType

ImageType

Es el estilo de recorte aplicado a la imagen. En algunos casos, aplicar un recorte CIRCLE hace que la imagen se dibuje más grande que un ícono integrado.

Campo de unión icons. Es el ícono que se muestra en el widget de la tarjeta. Las direcciones (icons) solo pueden ser una de las siguientes opciones:
knownIcon

string

Muestra uno de los íconos integrados que proporciona Google Workspace.

Por ejemplo, para mostrar un ícono de avión, especifica AIRPLANE. Para un autobús, especifica BUS.

Para obtener una lista completa de los íconos compatibles, consulta íconos integrados.

iconUrl

string

Muestra un ícono personalizado alojado en una URL HTTPS.

Por ejemplo:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Los tipos de archivo compatibles incluyen .png y .jpg.

materialIcon

MaterialIcon

Muestra uno de los íconos de Material de Google.

Por ejemplo, para mostrar un ícono de casilla de verificación, usa

"materialIcon": {
  "name": "check_box"
}

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Imagen

Es una imagen que se especifica con una URL y puede tener una acción onClick. Para ver un ejemplo, consulta Agrega una imagen.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
imageUrl

string

Es la URL HTTPS que aloja la imagen.

Por ejemplo:

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
onClick

OnClick

Cuando un usuario hace clic en la imagen, el clic activa esta acción.

altText

string

Es el texto alternativo de esta imagen que se usa para la accesibilidad.

ImageComponent

Representa una imagen.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
imageUri

string

La URL de la imagen.

altText

string

Es la etiqueta de accesibilidad de la imagen.

cropStyle

ImageCropStyle

Es el estilo de recorte que se aplicará a la imagen.

borderStyle

BorderStyle

Es el estilo de borde que se aplicará a la imagen.

ImageCropStyle

Representa el estilo de recorte aplicado a una imagen.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Por ejemplo, aquí se muestra cómo aplicar una relación de aspecto de 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Campos
type

ImageCropType

Es el tipo de recorte.

aspectRatio

double

Es la relación de aspecto que se usará si el tipo de recorte es RECTANGLE_CUSTOM.

Por ejemplo, aquí se muestra cómo aplicar una relación de aspecto de 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

Representa el estilo de recorte aplicado a una imagen.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
IMAGE_CROP_TYPE_UNSPECIFIED No lo uses. Sin especificar.
SQUARE Valor predeterminado Aplica un recorte cuadrado.
CIRCLE Aplica un recorte circular.
RECTANGLE_CUSTOM Aplica un recorte rectangular con una relación de aspecto personalizada. Establece la relación de aspecto personalizada con aspectRatio.
RECTANGLE_4_3 Aplica un recorte rectangular con una relación de aspecto de 4:3.

LinkPreview

Acción de tarjeta que muestra una tarjeta y un chip inteligente para obtener una vista previa de un vínculo de terceros. Para obtener más información, consulta Vincula vínculos con chips inteligentes.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Por ejemplo, el siguiente JSON muestra un título único para la vista previa del vínculo y su chip inteligente, y una tarjeta de vista previa con un encabezado y una descripción de texto:

{
  "action": {
    "linkPreview": {
      "title": "Smart chip title",
      "linkPreviewTitle": "Link preview title",
      "previewCard": {
        "header": {
          "title": "Preview card header",
        },
        "sections": [
          {
            "widgets": [
              {
                "textParagraph": {
                  "text": "Description of the link."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

El ejemplo muestra la siguiente vista previa del vínculo:

Vista previa del vínculo de ejemplo

Campos
previewCard

Card

Es una tarjeta que muestra información sobre un vínculo de un servicio de terceros.

title

string

Es el título que se muestra en el chip inteligente para la vista previa del vínculo. Si no se establece, el chip inteligente muestra el encabezado de preview_card.

linkPreviewTitle

string

Es el título que se muestra en la vista previa del vínculo. Si no se establece, la vista previa del vínculo muestra el encabezado de preview_card.

MaterialIcon

Un ícono de material de Google, que incluye más de 2,500 opciones.

Por ejemplo, para mostrar un ícono de casilla de verificación con peso y calificación personalizados, escribe lo siguiente:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Campos
name

string

El nombre del ícono definido en el ícono de material de Google, por ejemplo, check_box. Los nombres no válidos se abandonan y se reemplazan por una cadena vacía, lo que hace que el ícono no se renderice.

fill

bool

Indica si el ícono se renderiza como relleno. El valor predeterminado es falso.

Para obtener una vista previa de los diferentes parámetros de configuración de los íconos, ve a Íconos de fuentes de Google y ajusta la configuración en Personalizar.

weight

int32

Es el grosor del trazo del ícono. Elige entre {100, 200, 300, 400, 500, 600, 700}. Si no está presente, el valor predeterminado es 400. Si se especifica cualquier otro valor, se usa el valor predeterminado.

Para obtener una vista previa de los diferentes parámetros de configuración de los íconos, ve a Íconos de fuentes de Google y ajusta la configuración en Personalizar.

grade

int32

El grosor y el grado afectan el grosor de un símbolo. Los ajustes de grado son más detallados que los ajustes de peso y tienen un pequeño impacto en el tamaño del símbolo. Elige entre {-25, 0, 200}. Si no está presente, el valor predeterminado es 0. Si se especifica cualquier otro valor, se usa el valor predeterminado.

Para obtener una vista previa de los diferentes parámetros de configuración de los íconos, ve a Íconos de fuentes de Google y ajusta la configuración en Personalizar.

ModifyCard

En el caso de los complementos de Google Chat, actualiza una tarjeta según la interacción del usuario. El array solo debe contener un solo objeto.

Campos

Campo de unión operation.

operation puede ser una de las siguientes opciones:

updateWidget

UpdateWidget

En el caso de los complementos de Google Chat, actualiza un widget en una tarjeta o un diálogo.

UpdateWidget

En el caso de los complementos de Google Chat, actualiza un widget en una tarjeta o un diálogo.

Campos
Campo de unión updated_widget. Las actualizaciones de un widget Las direcciones (updated_widget) solo pueden ser una de las siguientes opciones:
selectionInputWidgetSuggestions

SelectionInputWidgetSuggestions

Para widgets de selectionInput, un array de elementos sugeridos en un menú de selección múltiple. Cuando un menú de selección múltiple usa una fuente de datos externa para propagar sus elementos, el widget puede propagar sugerencias de forma dinámica en función de lo que se escribe en el menú. Para obtener más información, consulta Cómo recopilar información de los usuarios de Google Chat.

SelectionInputWidgetSuggestions

Para un widget selectionInput que usa un menú de selección múltiple, muestra los elementos de selección de una fuente de datos dinámica externa.

Campos
suggestions[]

SelectionItem

Es un array de elementos seleccionables que aparecen para el usuario después de que escribe en un menú de selección múltiple.

Actualiza o navega entre tarjetas en una pila de tarjetas.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Por ejemplo:

1) Devolver una tarjeta nueva (navegar hacia adelante)

 navigations : {
    pushCard : CARD
  }

2) Actualizar la tarjeta que está en la parte superior de la pila (actualización en el lugar).

  navigations : {
    popCard : true,
  }, {
    pushCard : CARD
  }

3) Regresa un paso sin actualizar.

  navigations : {
    popCard : true,
  }

4) Regresa varios pasos y actualiza esa tarjeta.

  navigations : {
    popCard : true,
  }, ... {
    pushCard : CARD
  }

5) Retrocede varios pasos a un CARD_NAME definido.

  navigations : {
    popToCardName : CARD_NAME,
  }, {
    pushCard : CARD
  }

6) Regresa a la raíz y actualiza esa tarjeta.

  navigations : {
    popToRoot : true
  }, {
    pushCard : CARD
  }

7) Ve a la tarjeta especificada y también elimínala.

navigations : { popToCardName : CARD_NAME }, { popCard : true, }

8) Reemplaza la tarjeta superior por una nueva.

  navigations : {
    updateCard : CARD
  }
Campos

Campo de unión navigate_action.

navigate_action puede ser una de las siguientes opciones:

popToRoot

bool

Quita todas las tarjetas, excepto la raíz.

pop

bool

Quita una tarjeta.

popToCard

string

Muestra todas las tarjetas que se encuentran sobre la tarjeta especificada con el nombre determinado.

pushCard

Card

Empujar una tarjeta a la pila de tarjetas

Versión preliminar para desarrolladores: En el caso de los diálogos en Google Chat, abre o actualiza un diálogo.

updateCard

Card

Actualiza la tarjeta superior con una nueva y conserva los valores de los campos de formulario completados. Para un campo no equivalente, se descarta el valor.

Versión preliminar para desarrolladores: En el caso de los diálogos en Google Chat, abre o actualiza un diálogo.

endNavigation

EndNavigation

En el caso de los complementos de Google Chat, cierra un diálogo.

Notificación

Es una acción que muestra una notificación en la aplicación de host de Google Workspace cuando un usuario interactúa con una tarjeta.

Versión preliminar para desarrolladores: En el caso de los complementos de Google Chat, muestra una notificación cuando los usuarios envían y cierran un diálogo.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Campos
text

string

Es el texto sin formato que se mostrará en la notificación, sin etiquetas HTML.

OnClick

Representa cómo responder cuando los usuarios hacen clic en un elemento interactivo de una tarjeta, como un botón.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos

Campo de unión data.

data puede ser una de las siguientes opciones:

action

Action

Si se especifica, esta onClick activa una acción.

openDynamicLinkAction

Action

Un complemento activa esta acción cuando necesita abrir un vínculo. Esto difiere del open_link anterior en que debe comunicarse con el servidor para obtener el vínculo. Por lo tanto, el cliente web debe realizar algunos trabajos de preparación antes de que se muestre la respuesta de la acción de abrir vínculo.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

card

Card

Si se especifica, se envía una tarjeta nueva a la pila de tarjetas después de hacer clic.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

overflowMenu

OverflowMenu

Si se especifica, este onClick abre un menú ampliado.

OnClose

Indica lo que hace el cliente cuando se cierra un vínculo que abrió una acción OnClick.

La implementación depende de las capacidades de la plataforma cliente. Por ejemplo, un navegador web puede abrir un vínculo en una ventana emergente con un controlador OnClose.

Si se configuran los controladores OnOpen y OnClose, y la plataforma cliente no puede admitir ambos valores, OnClose tiene prioridad.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Enumeraciones
NOTHING Valor predeterminado La tarjeta no se vuelve a cargar y no sucede nada.
RELOAD

Vuelve a cargar la tarjeta después de que se cierre la ventana secundaria.

Si se usa junto con OpenAs.OVERLAY, la ventana secundaria actúa como un diálogo modal y la tarjeta superior se bloquea hasta que se cierra la ventana secundaria.

OpenAs

Cuando una acción OnClick abre un vínculo, el cliente puede abrirlo como una ventana de tamaño completo (si ese es el marco que usa el cliente) o como una superposición (como una ventana emergente). La implementación depende de las capacidades de la plataforma del cliente, y es posible que se ignore el valor seleccionado si el cliente no lo admite. Todos los clientes admiten FULL_SIZE.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Enumeraciones
FULL_SIZE El vínculo se abre como una ventana de tamaño completo (si ese es el marco que usa el cliente).
OVERLAY El vínculo se abre como una superposición, como una ventana emergente.

OverflowMenu

Es un widget que presenta un menú emergente con una o más acciones que los usuarios pueden invocar. Por ejemplo, mostrar acciones no principales en una tarjeta. Puedes usar este widget cuando las acciones no se ajustan al espacio disponible. Para usarlo, especifícalo en la acción OnClick de los widgets que lo admitan. Por ejemplo, en un Button.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
items[]

OverflowMenuItem

Obligatorio. La lista de opciones del menú.

OverflowMenuItem

Es una opción que los usuarios pueden invocar en un menú ampliado.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
startIcon

Icon

Es el ícono que se muestra frente al texto.

text

string

Obligatorio. Es el texto que identifica o describe el elemento a los usuarios.

onClick

OnClick

Obligatorio. Es la acción que se invoca cuando se selecciona una opción de menú. Este OnClick no puede contener un OverflowMenu, se descarta cualquier OverflowMenu especificado y se inhabilita el elemento de menú.

disabled

bool

Indica si la opción de menú está inhabilitada. La configuración predeterminada es "false".

RenderActions

Un conjunto de instrucciones de renderización que le indican al complemento que realice una acción en una tarjeta o en la aplicación host.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Campos
action

Action

Es la acción que los complementos pueden usar para actualizar la IU.

Versión preliminar para desarrolladores: Complementos en Google Chat.

hostAppAction

HostAppActionMarkup

Acciones controladas por apps de host individuales.

schema

string

Este es un campo de esquema sin operación que puede estar presente en el marcado para la verificación de sintaxis.

Acción

Las acciones que los complementos pueden usar en las tarjetas o en la aplicación host.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

Campos
navigations[]

Navigation

Envía, muestra o actualiza una tarjeta.

Versión preliminar para desarrolladores: Complementos en Google Chat.

notification

Notification

Muestra una notificación en la aplicación de Google Workspace host cuando un usuario interactúa con una tarjeta.

Versión preliminar para desarrolladores: En el caso de los complementos de Google Chat, muestra una notificación cuando los usuarios envían y cierran un diálogo.

linkPreview

LinkPreview

Disponible en Documentos, Hojas de cálculo y Presentaciones de Google. Obtén una vista previa de los vínculos con chips inteligentes y tarjetas. Para obtener más información, consulta Vínculos de vista previa con chips inteligentes.

modifyOperations[]

ModifyCard

En el caso de los complementos de Google Chat, actualiza una tarjeta según la interacción del usuario. El array solo debe contener un solo objeto.

SelectionInput

Es un widget que crea uno o más elementos de la IU que los usuarios pueden seleccionar. Admite la validación del envío de formularios solo para los menús dropdown y multiselect. Cuando Action.all_widgets_are_required se establece en true o se especifica este widget en Action.required_widgets, se bloquea la acción de envío, a menos que se seleccione un valor. Por ejemplo, un menú desplegable o casillas de verificación. Puedes usar este widget para recopilar datos que se puedan predecir o enumerar. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar elementos de IU seleccionables.

Las apps de chat pueden procesar el valor de los elementos que los usuarios seleccionan o ingresan. Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

Para recopilar datos indefinidos o abstractos de los usuarios, usa el widget TextInput.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
name

string

Obligatorio. Es el nombre que identifica la entrada de selección en un evento de entrada de formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

label

string

Es el texto que aparece sobre el campo de entrada de selección en la interfaz de usuario.

Especifica un texto que ayude al usuario a ingresar la información que necesita tu app. Por ejemplo, si los usuarios seleccionan la urgencia de un ticket de trabajo desde un menú desplegable, la etiqueta podría ser "Urgency" o "Select urgency".

type

SelectionType

Es el tipo de elementos que se muestran a los usuarios en un widget SelectionInput. Los tipos de selección admiten diferentes tipos de interacciones. Por ejemplo, los usuarios pueden seleccionar una o más casillas de verificación, pero solo pueden seleccionar un valor de un menú desplegable.

items[]

SelectionItem

Un array de elementos seleccionables. Por ejemplo, un array de botones de selección o casillas de verificación. Admite hasta 100 elementos.

onChangeAction

Action

Si se especifica, el formulario se envía cuando cambia la selección. Si no se especifica, debes especificar un botón independiente que envíe el formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

multiSelectMaxSelectedItems

int32

En el caso de los menús de selección múltiple, es la cantidad máxima de elementos que un usuario puede seleccionar. El valor mínimo es 1 artículo. Si no se especifica, el valor predeterminado es 3 elementos.

multiSelectMinQueryLength

int32

En el caso de los menús de selección múltiple, es la cantidad de caracteres de texto que ingresa un usuario antes de que el menú muestre los elementos de selección sugeridos.

Si no se establece, el menú de selección múltiple usa los siguientes valores predeterminados:

  • Si el menú usa un array estático de elementos SelectionInput, el valor predeterminado es de 0 caracteres y propaga inmediatamente los elementos del array.
  • Si el menú usa una fuente de datos dinámica (multi_select_data_source), el valor predeterminado es de 3 caracteres antes de consultar la fuente de datos para mostrar los elementos sugeridos.

Campo de unión multi_select_data_source. Para un menú de selección múltiple, una fuente de datos que propaga de forma dinámica los elementos de selección.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace. Las direcciones (multi_select_data_source) solo pueden ser una de las siguientes opciones:

externalDataSource

Action

Una fuente de datos externa, como una base de datos relacional

platformDataSource

PlatformDataSource

Una fuente de datos de Google Workspace

PlatformDataSource

Para un widget SelectionInput que usa un menú de selección múltiple, una fuente de datos de Google Workspace Se usa para propagar elementos en un menú de selección múltiple.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Campos
Campo de unión data_source. La fuente de datos. Las direcciones (data_source) solo pueden ser una de las siguientes opciones:
commonDataSource

CommonDataSource

Es una fuente de datos que comparten todas las aplicaciones de Google Workspace, como los usuarios de una organización de Google Workspace.

hostAppDataSource

HostAppDataSourceMarkup

Es una fuente de datos única para una aplicación de host de Google Workspace, como los espacios de Google Chat.

Este campo admite las bibliotecas cliente de la API de Google, pero no está disponible en las bibliotecas cliente de Cloud. Para obtener más información, consulta Instala las bibliotecas cliente.

CommonDataSource

Es una fuente de datos que comparten todas las aplicaciones de Google Workspace.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Enumeraciones
UNKNOWN Valor predeterminado No lo uses.
USER Usuarios de Google Workspace El usuario solo puede ver y seleccionar usuarios de su organización de Google Workspace.

SelectionItem

Es un elemento que los usuarios pueden seleccionar en una entrada de selección, como una casilla de verificación o un interruptor. Admite hasta 100 elementos.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
text

string

Es el texto que identifica o describe el elemento a los usuarios.

value

string

Es el valor asociado con este artículo. El cliente debe usar esto como un valor de entrada del formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

selected

bool

Indica si el elemento está seleccionado de forma predeterminada. Si la entrada de selección solo acepta un valor (como en el caso de los botones de selección o un menú desplegable), configura este campo solo para un elemento.

startIconUri

string

Para los menús de selección múltiple, es la URL del ícono que se muestra junto al campo text del elemento. Admite archivos PNG y JPEG. Debe ser una URL HTTPS. Por ejemplo, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.

bottomText

string

En el caso de los menús de selección múltiple, es una descripción o etiqueta de texto que se muestra debajo del campo text del elemento.

SelectionType

Es el formato de los elementos que los usuarios pueden seleccionar. Las diferentes opciones admiten diferentes tipos de interacciones. Por ejemplo, los usuarios pueden seleccionar varias casillas de verificación, pero solo pueden seleccionar un elemento de un menú desplegable.

Cada entrada de selección admite un tipo de selección. Por ejemplo, no se admite combinar casillas de verificación y botones de activación.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
CHECK_BOX Un conjunto de casillas de verificación. Los usuarios pueden seleccionar una o más casillas de verificación.
RADIO_BUTTON Un conjunto de botones de selección. Los usuarios pueden seleccionar un botón de selección.
SWITCH Un conjunto de interruptores. Los usuarios pueden activar uno o más interruptores.
DROPDOWN Un menú desplegable. Los usuarios pueden seleccionar un elemento del menú.
MULTI_SELECT

Un menú con un cuadro de texto. Los usuarios pueden escribir y seleccionar uno o más elementos. En el caso de los complementos de Google Workspace, debes propagar los elementos con un array estático de objetos SelectionItem.

En el caso de las apps de Google Chat, también puedes propagar elementos con una fuente de datos dinámica y sugerir elementos automáticamente a medida que los usuarios escriben en el menú. Por ejemplo, los usuarios pueden comenzar a escribir el nombre de un espacio de Google Chat y el widget lo sugiere automáticamente. Para propagar elementos de forma dinámica en un menú de selección múltiple, usa uno de los siguientes tipos de fuentes de datos:

  • Datos de Google Workspace: Los elementos se propagan con datos de Google Workspace, como los usuarios de Google Workspace o los espacios de Google Chat.
  • Datos externos: Los elementos se propagan desde una fuente de datos externa a Google Workspace.

Para ver ejemplos de cómo implementar menús de selección múltiple para apps de Chat, consulta Cómo agregar un menú de selección múltiple.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

SubmitFormResponse

Una respuesta a un envío de formulario que no sea obtener un contenedor de autocompletado, que contiene las acciones que debe realizar la tarjeta o la app del host del complemento, y si cambió el estado de la tarjeta

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat. Por ejemplo:

{
  "renderActions": {
    "action": {
      "notification": {
        "text": "Email address is added: salam.heba@example.com"
      }
    },
    "hostAppAction": {
      "gmailAction": {
        "openCreatedDraftAction": {
          "draftId": "msg-a:r-79766936926021702",
          "threadServerPermId": "thread-f:15700999851086004"
        }
      }
    }
  }
}
Campos
renderActions

RenderActions

Es un conjunto de instrucciones de renderización que le indican a la tarjeta que realice una acción o le indican a la app host del complemento que realice una acción específica de la app.

stateChanged

bool

Si el estado de las tarjetas cambió y si los datos de las tarjetas existentes están inactivos.

schema

string

Este es un campo de esquema sin operación que puede estar presente en el marcado para la verificación de sintaxis.

Sugerencias

Valores sugeridos que los usuarios pueden ingresar. Estos valores aparecen cuando los usuarios hacen clic dentro del campo de entrada de texto. A medida que los usuarios escriben, los valores sugeridos se filtran de forma dinámica para que coincidan con lo que escribieron.

Por ejemplo, un campo de entrada de texto para el lenguaje de programación podría sugerir Java, JavaScript, Python y C++. Cuando los usuarios comienzan a escribir Jav, la lista de sugerencias se filtra para mostrar Java y JavaScript.

Los valores sugeridos ayudan a guiar a los usuarios para que ingresen valores que tu app pueda entender. Cuando se hace referencia a JavaScript, algunos usuarios pueden ingresar javascript y otros java script. Sugerir JavaScript puede estandarizar la forma en que los usuarios interactúan con tu app.

Cuando se especifica, TextInput.type siempre es SINGLE_LINE, incluso si se establece en MULTIPLE_LINE.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
items[]

SuggestionItem

Es una lista de sugerencias que se usan para las recomendaciones de autocompletado en los campos de entrada de texto.

SuggestionItem

Es un valor sugerido que los usuarios pueden ingresar en un campo de entrada de texto.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos

Campo de unión content.

content puede ser una de las siguientes opciones:

text

string

Es el valor de una entrada sugerida para un campo de entrada de texto. Esto equivale a lo que los usuarios ingresan por su cuenta.

TextInput

Es un campo en el que los usuarios pueden ingresar texto. Admite sugerencias y acciones de cambio. Admite la validación del envío de formularios. Cuando Action.all_widgets_are_required se establece en true o se especifica este widget en Action.required_widgets, se bloquea la acción de envío, a menos que se ingrese un valor. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un campo en el que un usuario pueda ingresar texto.

Las apps de chat reciben y pueden procesar el valor del texto ingresado durante los eventos de entrada de formularios. Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

Cuando necesites recopilar datos indefinidos o abstractos de los usuarios, usa una entrada de texto. Para recopilar datos definidos o enumerados de los usuarios, usa el widget SelectionInput.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
name

string

Es el nombre con el que se identifica la entrada de texto en un evento de entrada de formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

label

string

Es el texto que aparece sobre el campo de entrada de texto en la interfaz de usuario.

Especifica un texto que ayude al usuario a ingresar la información que necesita tu app. Por ejemplo, si le preguntas el nombre a alguien, pero necesitas específicamente su apellido, escribe surname en lugar de name.

Obligatorio si no se especifica hintText. De lo contrario, es opcional.

hintText

string

Es el texto que aparece debajo del campo de entrada de texto para ayudar a los usuarios pidiéndoles que ingresen un valor determinado. Este texto siempre está visible.

Obligatorio si no se especifica label. De lo contrario, es opcional.

value

string

Es el valor que ingresa un usuario, que se muestra como parte de un evento de entrada de formulario.

Para obtener más información sobre cómo trabajar con entradas de formularios, consulta Cómo recibir datos de formularios.

type

Type

Cómo aparece un campo de entrada de texto en la interfaz de usuario Por ejemplo, si el campo es de una sola línea o de varias.

onChangeAction

Action

Qué hacer cuando se produce un cambio en el campo de entrada de texto Por ejemplo, un usuario que agrega texto al campo o lo borra.

Algunos ejemplos de acciones que se pueden realizar son ejecutar una función personalizada o abrir un diálogo en Google Chat.

initialSuggestions

Suggestions

Valores sugeridos que los usuarios pueden ingresar. Estos valores aparecen cuando los usuarios hacen clic dentro del campo de entrada de texto. A medida que los usuarios escriben, los valores sugeridos se filtran de forma dinámica para que coincidan con lo que escribieron.

Por ejemplo, un campo de entrada de texto para el lenguaje de programación podría sugerir Java, JavaScript, Python y C++. Cuando los usuarios comienzan a escribir Jav, la lista de sugerencias se filtra para mostrar solo Java y JavaScript.

Los valores sugeridos ayudan a guiar a los usuarios para que ingresen valores que tu app pueda entender. Cuando se hace referencia a JavaScript, algunos usuarios pueden ingresar javascript y otros java script. Sugerir JavaScript puede estandarizar la forma en que los usuarios interactúan con tu app.

Cuando se especifica, TextInput.type siempre es SINGLE_LINE, incluso si se establece en MULTIPLE_LINE.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

autoCompleteAction

Action

Opcional. Especifica qué acción se debe realizar cuando el campo de entrada de texto proporciona sugerencias a los usuarios que interactúan con él.

Si no se especifica, initialSuggestions establece las sugerencias y el cliente las procesa.

Si se especifica, la app realiza la acción que se especifica aquí, como ejecutar una función personalizada.

Disponible para complementos de Google Workspace y no disponible para apps de Google Chat.

validation

Validation

Especifica la validación del formato de entrada necesaria para este campo de texto.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

placeholderText

string

Es el texto que aparece en el campo de entrada de texto cuando está vacío. Usa este texto para solicitarles a los usuarios que ingresen un valor. Por ejemplo, Enter a number from 0 to 100.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Tipo

Cómo aparece un campo de entrada de texto en la interfaz de usuario Por ejemplo, si es un campo de entrada de una sola línea o de varias líneas. Si se especifica initialSuggestions, type siempre es SINGLE_LINE, incluso si se establece en MULTIPLE_LINE.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
SINGLE_LINE El campo de entrada de texto tiene una altura fija de una línea.
MULTIPLE_LINE El campo de entrada de texto tiene una altura fija de varias líneas.

TextParagraph

Un párrafo de texto que admite el formato. Para ver un ejemplo en las apps de Google Chat, consulta Cómo agregar un párrafo de texto con formato. Para obtener más información sobre cómo dar formato al texto, consulta Cómo dar formato al texto en las apps de Google Chat y Cómo dar formato al texto en los complementos de Google Workspace.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
text

string

Es el texto que se muestra en el widget.

maxLines

int32

Es la cantidad máxima de líneas de texto que se muestran en el widget. Si el texto supera la cantidad máxima de líneas especificada, el contenido excedente se oculta detrás de un botón mostrar más. Si el texto es igual o más corto que la cantidad máxima de líneas especificada, no se mostrará el botón mostrar más.

El valor predeterminado es 0, en cuyo caso se muestra todo el contexto. Se ignoran los valores negativos.

Validación

Representa los datos necesarios para validar el widget al que está adjunto.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Campos
characterLimit

int32

Especifica el límite de caracteres para los widgets de entrada de texto. Ten en cuenta que esto solo se usa para la entrada de texto y se ignora para otros widgets.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

inputType

InputType

Especifica el tipo de widgets de entrada.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

InputType

Es el tipo de widget de entrada.

Enumeraciones
INPUT_TYPE_UNSPECIFIED Tipo no especificado No lo utilices.
TEXT Texto normal que acepta todos los caracteres.
INTEGER Un valor entero.
FLOAT Un valor de número de punto flotante.
EMAIL Una dirección de correo electrónico.
EMOJI_PICKER Un emoji seleccionado del selector de emojis proporcionado por el sistema.

Widget

Cada tarjeta está compuesta por widgets.

Un widget es un objeto compuesto que puede representar uno de los siguientes tipos de objetos: texto, imágenes, botones y otros.

Campos
horizontalAlignment

HorizontalAlignment

Especifica si los widgets se alinean a la izquierda, a la derecha o en el centro de una columna.

Campo de unión data. Un widget solo puede tener uno de los siguientes elementos. Puedes usar varios campos de widget para mostrar más elementos. Las direcciones (data) solo pueden ser una de las siguientes opciones:
textParagraph

TextParagraph

Muestra un párrafo de texto. Admite texto simple con formato HTML. Para obtener más información sobre cómo dar formato al texto, consulta Cómo dar formato al texto en las apps de Google Chat y Cómo dar formato al texto en los complementos de Google Workspace.

Por ejemplo, el siguiente JSON crea un texto en negrita:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

Image

Muestra una imagen.

Por ejemplo, el siguiente JSON crea una imagen con texto alternativo:

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decoratedText

DecoratedText

Muestra un elemento de texto decorado.

Por ejemplo, el siguiente JSON crea un widget de texto decorado que muestra la dirección de correo electrónico:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

ButtonList

Una lista de botones.

Por ejemplo, el siguiente JSON crea dos botones. El primero es un botón de texto azul y el segundo es un botón de imagen que abre un vínculo:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

TextInput

Muestra un cuadro de texto en el que los usuarios pueden escribir.

Por ejemplo, el siguiente JSON crea una entrada de texto para una dirección de correo electrónico:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

Como otro ejemplo, el siguiente JSON crea una entrada de texto para un lenguaje de programación con sugerencias estáticas:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selectionInput

SelectionInput

Muestra un control de selección que permite a los usuarios seleccionar elementos. Los controles de selección pueden ser casillas de verificación, botones de selección, interruptores o menús desplegables.

Por ejemplo, el siguiente JSON crea un menú desplegable que permite a los usuarios elegir un tamaño:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
dateTimePicker

DateTimePicker

Muestra un widget que permite a los usuarios ingresar una fecha, una hora o ambas.

Por ejemplo, el siguiente JSON crea un selector de fecha y hora para programar una cita:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": "796435200000"
}
divider

Divider

Muestra un divisor de línea horizontal entre los widgets.

Por ejemplo, el siguiente JSON crea un divisor:

"divider": {
}
grid

Grid

Muestra una cuadrícula con una colección de elementos.

Una cuadrícula admite cualquier cantidad de columnas y elementos. La cantidad de filas se determina según los límites superiores de la cantidad de elementos divididos por la cantidad de columnas. Una cuadrícula con 10 elementos y 2 columnas tiene 5 filas. Una cuadrícula con 11 elementos y 2 columnas tiene 6 filas.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Por ejemplo, el siguiente JSON crea una cuadrícula de 2 columnas con un solo elemento:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

Columns

Muestra hasta 2 columnas.

Para incluir más de 2 columnas o usar filas, usa el widget Grid.

Por ejemplo, el siguiente JSON crea 2 columnas, cada una con párrafos de texto:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
carousel

Carousel

Un carrusel contiene una colección de widgets anidados. Por ejemplo, esta es una representación JSON de un carrusel que contiene dos párrafos de texto.

{
  "widgets": [
    {
      "textParagraph": {
        "text": "First text paragraph in the carousel."
      }
    },
    {
      "textParagraph": {
        "text": "Second text paragraph in the carousel."
      }
    }
  ]
}
chipList

ChipList

Una lista de chips.

Por ejemplo, el siguiente JSON crea dos chips. El primero es un chip de texto y el segundo es un chip de ícono que abre un vínculo:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

HorizontalAlignment

Especifica si los widgets se alinean a la izquierda, a la derecha o en el centro de una columna.

Disponible para las apps de Google Chat y no para los complementos de Google Workspace.

Enumeraciones
HORIZONTAL_ALIGNMENT_UNSPECIFIED No lo uses. Sin especificar.
START Valor predeterminado Alinea los widgets con la posición inicial de la columna. Para diseños de izquierda a derecha, se alinea a la izquierda. Para diseños de derecha a izquierda, se alinea a la derecha.
CENTER Alinea los widgets en el centro de la columna.
END Alinea los widgets con la posición final de la columna. En el caso de los diseños de izquierda a derecha, alinea los widgets a la derecha. En el caso de los diseños de derecha a izquierda, alinea los widgets a la izquierda.

ImageType

Es la forma que se usa para recortar la imagen.

Disponible para las apps de Google Chat y los complementos de Google Workspace.

Enumeraciones
SQUARE Valor predeterminado Aplica una máscara cuadrada a la imagen. Por ejemplo, una imagen de 4 × 3 se convierte en 3 × 3.
CIRCLE Aplica una máscara circular a la imagen. Por ejemplo, una imagen de 4 × 3 se convierte en un círculo con un diámetro de 3.