En esta página, se explica cómo compilar un complemento de Google Workspace que permita a los usuarios de Documentos de Google crear recursos, como un caso de asistencia o una tarea de proyecto, en un servicio de terceros desde Documentos de Google.
Con un complemento de Google Workspace, puedes agregar tu servicio al menú @ en Documentos. El complemento agrega elementos de menú que permiten a los usuarios crear recursos en tu servicio a través de un diálogo de formulario en Documentos.
Cómo crean recursos los usuarios
Para crear un recurso en tu servicio desde un documento de Documentos de Google, los usuarios deben escribir @ en un documento y seleccionar tu servicio en el menú @:
Cuando los usuarios escriben @ en un documento y seleccionan tu servicio, se les presenta una tarjeta que incluye las entradas de formulario que necesitan para crear un recurso. Después de que el usuario envíe el formulario de creación de recursos, el complemento debe crear el recurso en tu servicio y generar una URL que apunte a él.
El complemento inserta un chip en el documento para el recurso creado. Cuando los usuarios mantienen el puntero sobre este chip, se invoca el activador de vista previa de vínculos asociado del complemento. Asegúrate de que el complemento inserte chips con patrones de vínculos que admitan tus activadores de vista previa de vínculos.
Para configurar la creación de recursos, especifica las siguientes secciones y campos en el manifiesto del complemento:
En la sección addOns del campo docs, implementa el activador createActionTriggers que incluye un runFunction. (Defines
esta función en la siguiente sección, Crea las tarjetas de formulario).
En el campo oauthScopes, agrega el permiso https://www.googleapis.com/auth/workspace.linkcreate para que los usuarios puedan autorizar el complemento para crear recursos.
Específicamente, este permiso permite que el complemento lea la información que los usuarios envían al formulario de creación de recursos y, luego, inserte un chip inteligente en el documento según esa información.
A modo de ejemplo, consulta la sección addons de un manifiesto que configura la creación de recursos para el siguiente servicio de casos de asistencia:
{"oauthScopes":["https://www.googleapis.com/auth/workspace.linkpreview","https://www.googleapis.com/auth/workspace.linkcreate"],"addOns":{"docs":{"linkPreviewTriggers":[...],"createActionTriggers":[{"id":"createCase","labelText":"Create support case","localizedLabelText":{"es":"Crear caso de soporte"},"runFunction":"createCaseInputCard","logoUrl":"https://www.example.com/images/case.png"}]}}}
En el ejemplo, el complemento de Google Workspace permite que los usuarios creen casos de asistencia.
Cada activador de createActionTriggers debe tener los siguientes
campos:
Un ID único
Una etiqueta de texto que aparece en el menú de Documentos @
Una URL de logotipo que dirija a un ícono que aparece junto al texto de la etiqueta en el menú @
Una función de devolución de llamada que hace referencia a una función de Apps Script
o a un extremo de HTTP que muestra una tarjeta
Crea las tarjetas del formulario
Para crear recursos en tu servicio desde el menú @ de Docs, debes implementar las funciones que especificaste en el objeto createActionTriggers.
Cuando un usuario interactúa con uno de los elementos de tu menú, se activa el activador createActionTriggers correspondiente y su función de devolución de llamada presenta una tarjeta con entradas de formulario para crear el recurso.
Elementos y acciones compatibles
Para crear la interfaz de la tarjeta, usa widgets para mostrar la información y las entradas que los usuarios necesitan para crear el recurso. La mayoría de los widgets y acciones de complementos de Google Workspace son compatibles, excepto por las siguientes excepciones:
No se admiten pies de página de tarjetas.
No se admiten notificaciones.
Para las navegaciones, solo se admite la navegación updateCard.
Ejemplo de tarjeta con entradas de formulario
En el siguiente ejemplo, se muestra una función de devolución de llamada de Apps Script que muestra una tarjeta cuando un usuario selecciona Crear caso de asistencia en el menú @:
La función createCaseInputCard renderiza la siguiente tarjeta:
La tarjeta incluye entradas de texto, un menú desplegable y una casilla de verificación. También tiene un botón de texto con una acción onClick que ejecuta otra función para controlar el envío del formulario de creación.
Después de que el usuario completa el formulario y hace clic en
Crear, el complemento envía las entradas del formulario a la función de acción
onClick, llamada submitCaseCreationForm en nuestro ejemplo, en cuyo punto el
complemento puede validar las entradas y usarlas para
crear el recurso en el servicio de terceros.
Controla los envíos de formularios
Después de que un usuario envía el formulario de creación, se ejecuta la función asociada con la acción onClick. Para lograr una experiencia del usuario ideal, tu
complemento debe controlar
los envíos de formularios correctos y erróneos.
Controla la creación correcta de recursos
La función onClick de tu complemento debe crear el recurso en tu servicio de terceros y generar una URL que apunte a él.
Para comunicar la URL del recurso a Docs para la creación de chips, la función onClick debe mostrar un SubmitFormResponse con un array de un elemento en renderActions.action.links que apunte a un vínculo. El título del vínculo debe representar el título del recurso creado, y la
URL debe apuntar a ese recurso.
En el siguiente ejemplo, se muestra un SubmitFormResponse para un recurso creado:
Después de que se muestra SubmitFormResponse, se cierra el diálogo modal y el complemento inserta un chip en el documento.
Cuando los usuarios mantienen el puntero sobre este chip, se invoca el activador de vista previa del vínculo asociado. Asegúrate de que el complemento no inserte chips con patrones de vínculos que no sean compatibles con los activadores de vista previa de vínculos.
Soluciona errores
Si un usuario intenta enviar un formulario con campos no válidos, en lugar de mostrar un SubmitFormResponse con un vínculo, el complemento debe mostrar una acción de renderización que muestre un error con una navegación updateCard.
Esto le permite al usuario ver qué hizo mal y volver a intentarlo. Consulta
updateCard(card)
para
Apps Script y updateCard
para otros entornos de ejecución. No se admiten las notificaciones ni las navegaciones pushCard.
Ejemplo de control de errores
En el siguiente ejemplo, se muestra el código que se invoca cuando un usuario envía el formulario. Si las entradas no son válidas, la tarjeta se actualiza y muestra mensajes de error. Si las entradas son válidas, el complemento muestra un SubmitFormResponse con un vínculo al recurso creado.
Ejemplo completo: complemento de casos de asistencia
En el siguiente ejemplo, se muestra un complemento de Google Workspace que muestra una vista previa de los vínculos a los casos de asistencia de una empresa y permite a los usuarios crear casos de asistencia desde Documentos de Google.
En el ejemplo, se realizan las acciones siguientes:
Genera una tarjeta con campos de formulario para crear un caso de asistencia desde el menú Docs @.
Valida las entradas del formulario y muestra mensajes de error para las entradas no válidas.
Inserta el nombre y el vínculo del caso de asistencia creado en el documento de Documentos como un chip inteligente.
Muestra una vista previa del vínculo al caso de asistencia, como https://www.example.com/support/cases/1234. El chip inteligente muestra un ícono, y la tarjeta de vista previa incluye el nombre, la prioridad y la descripción del caso.
[null,null,["Última actualización: 2025-02-14 (UTC)"],[[["This guide details building a Google Workspace add-on to create and manage external resources (like support cases) directly within Google Docs."],["Users can create resources via a form within Docs, which then inserts a smart chip linking to the resource in the external service."],["The add-on requires configuration in the manifest file and utilizes Apps Script, Node.js, Python, or Java for development."],["Comprehensive code samples are provided to guide developers through card creation, form submission, and error handling."],["Smart chips representing the created resources offer link previews, enhancing user experience and information access."]]],[]]