Seguro que en alguno de los escenarios que has tenido a lo largo de tus desarrollos te has encontrado con el reto de tener que hacer una integración o acción en tiempo real cuando creabas un registro en Dataverse. Si eres un poco como yo (afortunadamente hace algunos años) seguramente hayas pensado en “Venga va, me hago un plugin que haga la llamada al servicio web y listo”. Sin embargo como bien sabrás los plugins tienen esa limitación (esa maldita manía) de no poder ejecutarse más tiempo que dos (míseros) minutos. Bien, pues hoy te cuento cómo llamar a un Azure Function desde Dataverse y sin necesidad de hacer ese plugin!
Lo primero que debes hacer es crear y publicar tu Azure Function y no, lo siento porque en este post no te voy a enseñar pero te voy a recomendar este recurso de Microsoft para que seas capaz (Es muy fácil). Las Azure Function son pequeños trozos de código que podemos ejecutar en Azure sin necesidad de servidor y pagando por ejecución. Nos dirigimos a nuestro portal de Azure para extraer la url que nos genera Azure para llamar a nuestra Azure Function.
Si nos fijamos en la url tenemos dos partes. Una es la url de la Azure Function y la segunda es un código:
https://<url Azure function>?code=xxxxx-xxxlxxxxxxxx
Es importante distinguir estas dos partes. Ahora necesitaremos acceder al Plugin Registration y aquí elegiremos la opción de nuevo Service Endpoint:
Una vez registrado el webhook debemos elegir el desencadenador del webhook. En mi caso elegiré que se desencadene cuando se crea una cuenta y para ello debemos pulsar botón derecho encima del ServiceEndpoint y debemos escoger la opción de “Register new step”. Al crearlo nos aparecerá una pantalla donde debemos definir la acción (Crear, actualizar, eliminar…) y la tabla de Dataverse donde aplica (account, contact..)
Y listo! No necesitas nada más para llamar a un Azure Function cuando ocurra algo en Dataverse
Desde muy joven he sido un apasionado por la tecnología pero no fue hasta hace algo más de 8 años que me presentaron a Dynamics 365 (para entonces Dynamics CRM) y ahora, junto con toda la power platform, nos hemos hecho muy amigos. Me encanta desarrollar hasta llegar a la forma más óptima y sencilla de realizar las cosas porque (como se dice) en la sencillez reside la elegancia siempre y cuando respete el estándar del producto.