Crear un add-in para Office se ha convertido en una forma muy potente de ampliar Word, Excel, Outlook, PowerPoint y el resto de aplicaciones de Microsoft 365 sin tener que desarrollar complementos tradicionales de escritorio. Estos nuevos complementos se basan en tecnologías web estándar y en la API de JavaScript para Office, lo que permite construir experiencias modernas, seguras y fáciles de desplegar en toda la organización.
En las siguientes líneas vas a encontrar una guía muy completa sobre herramientas de desarrollo, tipos de manifiesto, APIs disponibles y opciones de despliegue, integrando la documentación oficial de Microsoft. La idea es que puedas pasar de cero a tener un add-in funcionando, entendiendo qué hace cada pieza y qué decisiones técnicas tienes que tomar en cada paso.
Qué es un complemento de Office moderno y cómo se estructura
Los complementos (add-ins) modernos de Office se apoyan en la plataforma de complementos de Office, que es común a Word, Excel, PowerPoint, OneNote, Outlook y Project, tanto en escritorio como en web y, en algunos casos, en móvil. Todos comparten una misma arquitectura básica compuesta por dos partes claramente diferenciadas.
La primera pieza es el manifiesto del complemento, un archivo que actúa como “tarjeta de identidad” del add-in. En él se declaran los metadatos (ID, nombre, versión, idiomas), en qué aplicaciones de Office se puede usar, qué permisos necesita, qué comandos añade a la cinta, qué iconos utiliza, dónde está alojada la aplicación web y en qué contextos se debe activar (por ejemplo, en Outlook, solo para mensajes o citas que cumplan ciertas reglas).
La segunda pieza es la aplicación web que proporciona la interfaz de usuario y la lógica de negocio. Esta aplicación se compone de HTML, CSS y JavaScript (o TypeScript) y se ejecuta en un contenedor HTML de Office (panel de tareas, complemento de contenido o cuadro de diálogo). Desde ahí, usa la biblioteca office.js para leer y escribir en el documento, llamar a servicios externos, gestionar autenticación, mostrar cuadros de diálogo y realizar cualquier tarea típica de una app web moderna.

Herramientas para crear add-ins de Office
No existe una única forma de empezar un proyecto de add-in. Microsoft ofrece varias herramientas oficiales, orientadas a diferentes perfiles: desde quienes prefieren plantillas de Visual Studio hasta quienes trabajan a diario con Node.js y Visual Studio Code. También hay herramientas de terceros o más especializadas, como editores de UI para VBA.
Generador de Yeoman para complementos de Office
El generador de Yeoman para Office es probablemente la opción más flexible para desarrolladores web. Permite crear proyectos basados en Node.js que puedes editar con Visual Studio Code o el editor que prefieras. El asistente te guía por una serie de preguntas para elegir el tipo de complemento (panel de tareas, complemento de contenido, funciones personalizadas, Outlook, etc.) y la aplicación objetivo.
Con este generador puedes crear proyectos para Excel, OneNote, Outlook, PowerPoint, Project, Word y funciones personalizadas de Excel. Además, te deja escoger entre una pila simple con HTML, CSS y JavaScript/TypeScript o una arquitectura basada en React, también en JavaScript o TypeScript, con toda la estructura de proyecto ya preparada.
Visual Studio para proyectos de Office
Si te mueves más cómodo en entornos .NET, Visual Studio incluye plantillas específicas para complementos de Office. Estas plantillas cubren principalmente Excel, Outlook, Word y PowerPoint y crean una solución completa donde conviven el manifiesto del add-in, la app web y, si quieres, proyectos de backend asociados.
El proyecto de Visual Studio se basa igualmente en HTML, CSS y JavaScript, pero se integra con el ecosistema clásico de Microsoft: depuración integrada, publicación, empaquetado, etc. Es una buena elección cuando ya trabajas con soluciones empresariales en Visual Studio y quieres mantener todo centralizado en el mismo IDE.
Microsoft 365 Agents Toolkit y Office Add-ins Developer Kit
Microsoft 365 Agents Toolkit está pensado para ir más allá de los complementos clásicos y crear prácticamente cualquier tipo de extensión sobre el ecosistema Microsoft 365, combinando bots, extensiones de Teams y add-ins. Con esta herramienta puedes generar proyectos de complementos de Office que encajen dentro de aplicaciones más amplias de Microsoft 365.
Office Add-ins Developer Kit es una extensión para Visual Studio Code que simplifica mucho la vida en el día a día. Desde VS Code puedes crear nuevos proyectos de add-in, cargar ejemplos de código listos para probar y gestionar el ciclo completo de desarrollo sin salir del editor. La extensión viene preparada para trabajar con manifiestos unificados y con manifiestos de solo complemento.
El manifiesto: corazón de la configuración del add-in
Cada complemento de Office se describe mediante un archivo de manifiesto que indica a las aplicaciones cómo deben cargarlo, qué opciones de interfaz expone y cuáles son los permisos requeridos. Existen dos modelos de manifiesto principales, y la elección entre uno u otro determina cómo podrás combinar tu add-in con otras extensiones de Microsoft 365.
Tipos de manifiesto: solo complemento y manifiesto unificado
- Manifiesto de solo complemento. Es el formato clásico para add-ins de Office de producción en Excel, OneNote, Outlook, PowerPoint, Project y Word. Está escrito en XML y se centra únicamente en describir el complemento, sin mezclarlo con otros tipos de aplicación.
- Manifiesto unificado para Microsoft 365. La evolución del modelo de manifiesto en formato JSON usado históricamente en aplicaciones de Teams. Este formato permite empaquetar en una sola aplicación diferentes tipos de extensiones de Microsoft 365: complementos de Office, extensiones de Teams, etc.
La lógica de configuración es similar en ambos casos: defines un identificador único (normalmente un GUID), la versión, nombre visible, descripción, idiomas admitidos, iconos, tipos de permisos (por ejemplo, lectura o lectura/escritura de documentos) y la estructura de la interfaz (pestañas, grupos y botones de la cinta). También indicas la URL de inicio de la aplicación web y cualquier configuración adicional, como atajos de teclado en Excel o Word, reglas de activación en Outlook o dimensiones de los paneles y complementos de contenido.
Elementos clave que se declaran en el manifiesto
Además de los metadatos básicos, el manifiesto debe detallar cuidadosamente cómo se integra el complemento en la experiencia de Office. Esto incluye las imágenes de marca y los iconos de comandos de la cinta, que deben estar alojados en un servidor que permita el almacenamiento en caché (no se aceptan cabeceras HTTP con Cache-Control: no-cache o similares para producción).
Otro aspecto crítico es la seguridad: todas las URLs que apunten a la aplicación web o a recursos del complemento deben ir sobre HTTPS. Aunque existen escenarios de desarrollo donde se permite HTTP o certificados autofirmados, si quieres ejecutar el add-in en Office en la Web o publicarlo en Microsoft Marketplace, el uso de SSL es obligatorio para evitar advertencias de contenido mixto y garantizar la protección de datos en tránsito.
Si planeas distribuir tu complemento a través de Microsoft Marketplace, el manifiesto debe incluir, además del GUID único, una URL de soporte técnico accesible y válida. Microsoft aplica una serie de directrices de validación donde se revisan la consistencia de los datos del manifiesto, el comportamiento del complemento y el cumplimiento de requisitos de seguridad y experiencia de usuario.
Dominios permitidos y orígenes para Office.js
El manifiesto también controla en qué dominios se puede navegar dentro del panel del complemento. En Office en la Web y en el nuevo Outlook para Windows, el panel de tareas puede cargar casi cualquier URL. Sin embargo, en las aplicaciones de escritorio el comportamiento es más estricto: si el add-in trata de navegar a un dominio diferente del dominio de la página de inicio, la URL se abre fuera de la aplicación, en una ventana independiente del navegador.
Para evitar ese salto externo en escritorio, puedes listar explícitamente en el manifiesto cada dominio adicional que quieras que se muestre en la ventana del complemento. Si el destino está listado, se abrirá dentro del panel tanto en Office de escritorio como en Office en la Web; si no, en escritorio se abrirá en el navegador externo.

Interacción con los documentos mediante la API de JavaScript para Office
La aplicación web del complemento se comunica con el documento de Office (o con el mensaje en el caso de Outlook) a través de la biblioteca Office JavaScript API, accesible mediante la CDN oficial de Microsoft en https://appsforoffice.microsoft.com/lib/1/hosted/office.js. Basta con referenciar este script en la sección <head> de la página para poder usar los tipos y métodos disponibles.
Una vez cargada la biblioteca, tienes acceso a dos modelos de API complementarios:
- Las APIs específicas de aplicación.
- Las APIs comunes.
Cada modelo se ha diseñado para cubrir escenarios distintos, aunque pueden combinarse en el mismo complemento según las necesidades.
APIs específicas de cada aplicación
Las APIs específicas de aplicación proporcionan objetos fuertemente tipados que representan entidades nativas de la aplicación concreta de Office. Por ejemplo, en Excel dispones de objetos para hojas de cálculo, rangos, tablas o gráficos, que permiten manipular los datos de forma estructurada y eficiente.
Este modelo está basado en operaciones por lotes: vas encadenando acciones sobre un contexto y, cuando estás listo, sincronizas los cambios con Office. Esta forma de trabajar reduce los viajes entre el add-in y la aplicación, mejorando notablemente el rendimiento, sobre todo en Office en la Web.
APIs comunes para características compartidas
Las APIs comunes se centran en funcionalidades transversales presentes en varias aplicaciones: elementos de interfaz, cuadros de diálogo, configuración de cliente, etc. Este modelo usa callbacks en lugar de promesas y, por diseño, cada llamada realiza una única operación contra la aplicación.
Con las APIs comunes puedes por ejemplo mostrar un cuadro de diálogo emergente, gestionar la configuración de un complemento en distintos hosts o acceder a determinadas capacidades de Outlook, PowerPoint o Project que todavía no están cubiertas por las APIs específicas de aplicación, dependiendo del caso de uso.
Conjuntos de requisitos y compatibilidad entre plataformas
La compatibilidad de la API se organiza en conjuntos de requisitos (requirement sets), que agrupan miembros concretos de la API bajo un nombre de versión. Hay conjuntos de requisitos específicos de aplicación, como ExcelApi 1.7, y otros compartidos, como DialogApi 1.1, que funcionan allí donde la funcionalidad de cuadros de diálogo esté soportada.
El complemento puede comprobar en tiempo de ejecución si la aplicación de Office en la que se está ejecutando soporta el conjunto de requisitos que necesita. Con ello, puedes adaptar la experiencia o deshabilitar funcionalidades avanzadas cuando el host no cumpla los requisitos mínimos, en lugar de provocar errores inesperados.
Explorar la API con Script Lab
Script Lab es un complemento gratuito que actúa como laboratorio de pruebas para la API de JavaScript de Office. Se instala desde Microsoft Marketplace y se ejecuta dentro de las propias aplicaciones como Excel o Word, permitiéndote escribir y ejecutar fragmentos de código en tiempo real sobre el documento actual.
Dentro de Script Lab tienes acceso a una biblioteca de ejemplos listos para usar que demuestran distintas capacidades de la API. Puedes usar esos snippets como base para tu propio código, modificarlos y ver al instante el resultado en el documento, lo cual acelera enormemente la fase de prototipado y pruebas de funcionalidades antes de incorporarlas a tu complemento definitivo.

Cómo ampliar la interfaz de usuario de Office
Una de las grandes ventajas de los add-ins es que permiten integrar la funcionalidad directamente en la interfaz de Office, de manera que el usuario no tiene la sensación de estar “saliendo” de la aplicación. Para ello se combinan comandos de complemento y contenedores HTML como paneles de tareas, complementos de contenido y cuadros de diálogo.
- Los comandos de complemento (Add-in Commands) sirven para añadir pestañas personalizadas, grupos nuevos y botones o menús adicionales en la cinta de opciones de Office.
- Los contenedores HTML (task panes, content add-ins y dialogs) actúan como superficie donde mostrar la interfaz propia del complemento.
En un escenario típico, podrías tener un comando que añade un grupo con un botón “Analizar datos” en Excel; al pulsarlo, se abre un panel de tareas a la derecha con tu app web, que analiza el rango seleccionado, llama a un servicio de machine learning y devuelve los resultados resaltando celdas o creando gráficos mediante la API específica de Excel.
Crear un complemento de panel de tareas con Yeoman (ejemplo Word)
Para aterrizar todos estos conceptos, es útil ver cómo se construye en la práctica un complemento de panel de tareas usando el generador de Yeoman, tanto para Word como para Outlook. Aunque los detalles de la interfaz cambian entre aplicaciones, la estructura del proyecto y el flujo de trabajo son muy parecidos.
Requisitos previos del entorno de desarrollo
Antes de generar el proyecto, necesitas tener instalada la versión LTS más reciente de Node.js, descargable desde la página oficial. Sobre esa base, instala globalmente Yeoman y el generador de Office con el comando npm install -g yo generator-office. Por último, asegúrate de tener Office vinculado a una suscripción de Microsoft 365 que incluya Office en la Web, ya que vas a probar el complemento tanto en escritorio como en navegador.
Creación de un add-in de Word con panel de tareas
El primer paso es decidir el tipo de manifiesto que quieres usar en función de si pretendes combinar tu add-in con otras extensiones en una única app o no. Una vez tomada la decisión, ejecutas yo office en el directorio de trabajo.
Durante el asistente interactivo, puedes elegir por ejemplo un tipo de proyecto, asignar un nombre como “My Office Add-in” y seleccionar Word como aplicación cliente objetivo. Cuando finaliza, el generador crea la carpeta del proyecto, instala las dependencias de Node y deja todo listo para empezar.
Dentro de la solución encontrarás el archivo de manifiesto (manifest.json o manifest.xml) en la raíz, que define la configuración del complemento; el archivo ./src/taskpane/taskpane.html con el marcado del panel de tareas; el CSS en ./src/taskpane/taskpane.css; y el código que llama a la API de Office en ./src/taskpane/taskpane.ts o .js, según hayas elegido TypeScript o JavaScript.
Para probar el add-in en Word de escritorio, solo tienes que situarte en la carpeta raíz del proyecto (cd "My Office Add-in") y ejecutar npm start. Este comando lanza el servidor web local e inicia Word con el complemento ya cargado en modo sideloading. Si prefieres probarlo en Word en la Web, puedes usar un comando del estilo npm run start -- web --document {url}, sustituyendo la URL por la de un documento almacenado en OneDrive o SharePoint.
Gestión del servidor de desarrollo y dependencias
Durante el desarrollo es habitual que npm install falle en el paso automático que ejecuta Yeoman, sobre todo si hay conflictos con versiones de dependencias. En esos casos basta con entrar en la carpeta del proyecto y lanzar npm install manualmente para resolverlo.
Si aparecen advertencias de dependencias obsoletas, puedes apoyarte en la herramienta npm-check-updates, instalándola con npm i -g npm-check-updates, ejecutando ncu -u para actualizar los rangos de versiones en package.json y completando el proceso con un nuevo npm install. Muchas de estas advertencias no son críticas, pero es buena práctica revisarlas periódicamente para mantener el proyecto sano.
Para detener el servidor de desarrollo y desinstalar el complemento en modo sideloading, puedes ejecutar npm stop en el directorio raíz. Si en algún momento has cargado el add-in manualmente (por ejemplo, subiendo el manifiesto en Office en la Web), tendrás que retirarlo también de forma manual desde la interfaz de administración correspondiente.
Desde la estructura básica de un add-in y las herramientas de desarrollo (Yeoman, Visual Studio, Agents Toolkit, Script Lab) hasta el papel del manifiesto, las APIs JavaScript, los controles de seguridad y las opciones de despliegue (local, Marketplace, implementación centralizada o vía proveedores como Qlik), dispones de un mapa bastante completo para decidir qué tipo de complemento necesitas, cómo construirlo y de qué manera ponerlo en manos de tus usuarios sin sobresaltos técnicos.