Custom APIs en Dataverse: el superpoder que muchos equipos de Power Platform todavía no están aprovechando

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.  

Custom APIs en Dataverse

¿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? 

Herramientas de desarrollo Custom APIs en Dataverse

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? 

 

Suscríbete a nuestro boletín