Cuando hablamos de Power Platform solemos pensar en aplicaciones low-code, automatizaciones con Power Automate o experiencias creadas rápidamente con Canvas Apps.
Sin embargo, una de las grandes fortalezas del ecosistema Microsoft es que, cuando las necesidades del negocio crecen, podemos extender la plataforma con capacidades de desarrollo profesional sin salir de Dataverse.
En la sesión de Power Platform Barcelona que puedes ver en este enlace, tuvimos la oportunidad de profundizar en las Custom APIs de Dataverse, una funcionalidad que permite encapsular lógica de negocio en código C# y exponerla para ser utilizada desde diferentes componentes de Power Platform.

¿Qué son realmente las Custom APIs?
Una Custom API es, en esencia, código que desplegamos en Dataverse y que podemos invocar cuando lo necesitemos. A diferencia de los plugins, que reaccionan automáticamente a eventos como la creación o actualización de registros, las Custom APIs son llamadas explícitamente por nuestras aplicaciones, flujos o sistemas externos.
Esto nos permite centralizar lógica compleja y reutilizarla desde múltiples puntos:
- Power Automate
- Canvas Apps
- Model-Driven Apps
- Aplicaciones externas conectadas a Dataverse
- Azure Functions
- Escenarios de automatización y agentes basados en Copilot
El mensaje más importante: perder el miedo al Pro Code
Uno de los mensajes que más me gustó de la sesión fue esta reflexión: Power Platform no deja de ser low-code porque añadamos código donde aporta valor.
Durante años muchos equipos han evitado desarrollar extensiones porque el coste de entrada era elevado. Hoy la realidad es diferente. Herramientas como GitHub Copilot permiten generar la estructura de plugins y Custom APIs en segundos, reduciendo enormemente el tiempo necesario para construir soluciones avanzadas.
La pregunta ya no es si sabemos escribir todo el código manualmente. La pregunta es: ¿Estamos aprovechando todo el potencial de la plataforma para resolver problemas reales del negocio?

Casos de uso que aportan valor inmediato
Durante la demostración vimos ejemplos muy prácticos de situaciones que muchos hemos encontrado en proyectos:
- Convertir XML a JSON.
- Procesar archivos CSV sin depender de conectores externos.
- Actualizar campos Rollup de Dataverse bajo demanda.
- Manipular documentos PDF directamente dentro del entorno.
- Ejecutar consultas complejas para acelerar procesos de integración.
- Generar correos HTML dinámicos mediante plantillas reutilizables.
Son tareas que a menudo terminan resolviéndose con múltiples acciones de Power Automate, conectores adicionales o servicios externos. Encapsularlas en una única API reutilizable simplifica enormemente la arquitectura.
Spark Code: reutilización llevada al siguiente nivel
La sesión también presentó Spark Code, una librería open source desarrollada para agrupar funcionalidades reutilizables basadas en Custom APIs. La filosofía detrás del proyecto es muy simple:
No reinventar la rueda en cada proyecto.
Si una funcionalidad ya se ha desarrollado, probado y validado, debería poder reutilizarse en cualquier entorno de Dataverse.
Algo especialmente interesante es que el proyecto incorpora buenas prácticas que muchas veces olvidamos cuando desarrollamos soluciones rápidas
- Control de versiones
- Repositorio Git
- Pruebas unitarias
- Automatización de validaciones
- Reutilización de componentes
Un recordatorio importante para todos los desarrolladores
Hubo una parte de la conversación que merece destacarse: No basta con desplegar un ensamblado en Dataverse.
El código fuente debe estar versionado y almacenado en GitHub, Azure DevOps o cualquier repositorio adecuado. Todos los que llevamos tiempo trabajando con Power Platform hemos heredado alguna vez una solución donde existe el plugin… pero nadie sabe dónde está el código original.
Y cuando eso ocurre, el coste de mantenimiento se dispara.
Te dejamos además un enlace al repositorio creativityspark/spark-code: Code components for the Power Platform and Dynamics 365
La conclusión
Las Custom APIs representan una de las herramientas más potentes para extender Dataverse y Power Platform de forma controlada, reutilizable y escalable. No sustituyen al low-code. Lo complementan.
Las mejores soluciones no son las que utilizan únicamente Power Automate, ni las que resuelven todo con código.
Las mejores soluciones son las que encuentran el equilibrio entre velocidad, reutilización, gobernanza y mantenimiento.
Y en ese equilibrio, las Custom APIs tienen mucho que aportar.
¿Ya estáis utilizando Custom APIs en vuestros proyectos? ¿Qué funcionalidades repetís una y otra vez y os gustaría convertir en componentes reutilizables?