Automation API (II) : En escenario de aplicación (Community Edition).

Caso de uso: Vamos al lio no?

Este caso de uso lo he llamado Community Edition porque reutilizo lo compartido por Miguel Llorca en su blog Power Tips respecto a la creación de usuarios en Azure Active Directory (Link )

Que importante es poder compartir y usar ideas y conocimiento no? Y aquí disponer de una comunidad unida y solida como la que disponemos en Dynamics 365 y en concreto Business Central es un lujo. En España cada día es mas grande y colaborativa . Y creo que es un elemento clave a la hora de poder seguir ofreciendo las mejores soluciones en proyectos y clientes. Esto es también el objetivo de este post y de este pequeño blog donde aporto mi granito de arena.

Cogiendo sus dos fantásticos por post (os sugiero suscribiros a su canal) quise extenderlos y aprovecharlos para el caso de automatizar la petición de añadir un usuario a Business Central .

Sabemos que tenemos la posibilidad de asignar hasta 3 licencias external accountant sin coste y en Business Central existe un proceso para realizarlo como podéis ver en la captura.

Bien, no entrare en si es mejor usarlo o no, simplemente quiero mostrar las capacidades de automatización de determinadas acciones y sobre todo la potencia de poder usar el API. En este caso como no puedo asignar las licencias de external accountant asignare las de IWS.

Preparación del caso de uso

También me parece interesante comentar que podemos asignar permisos en función de la licencia que el usuario tiene como podemos ver este mini video:

A la hora de asignar licencias primero tendremos que tener , evidente, el usuario creado y adicionalmente que el usuario tenga parametrizada la propiedad usageLocation que es necesaria para poder asignar licencias que estén asociadas a servicios disponibles en el país de uso.

El campo country (País) también es recomendable:

Otro dato o ingrediente que necesitamos para montar el caso de uso es el código de producto de la licencia que tenemos que asignar ya que nos lo pide la API de Graph, aquí os dejo los que necesitamos:

Podéis encontrar en este link el listado con todas las referencias de los productos.

Descripción del flow de Power Automate

Voy a describir el diseño y como construir el flow que nos creara el usuario en Business Central con la licencia que indiquemos. En otro post publicare el video de como lo creamos .

El primer bloque es como recibir la petición del usuario de asignación de licencia , como he indicado al inicio nos vamos a basar en el diseño del flow de Miguel LLorca :

Con los datos de la respuesta montamos la petición para crear el usuario en el Azure Active Directory:

No entro en como configurar la llamada o los requisitos previos como registrar correctamente en Azure la aplicación y sus permisos de API ,secreto etc. Para eso tenéis el post en PowerTips 😉.

La respuesta del POST la tenemos que parsear para que nos sea útil la información devuelta en sucesivos pasos del flow.

Con la información ya mas ordenada he puesto un bloque de variables de texto para poder trabajar mas claro o por lo menos yo lo he necesitado aquí ya es un poco como cada uno lo enfoque.

Ahora toca añadir la condición para poder asignar licencia definiendo usageLocation en el usuario creado. Utilizaremos PATCH para con la siguiente URI : https://graph.microsoft.com/v1.0/users/’ y el guid del usuario de AAD recién creado para modificar las propiedades del usuario.

He ido poniendo algunas pausas para bueno dejar que la magia fluya.

Llegados a este punto , vamos a asignar la licencia como he indicado unas líneas mas arriba necesitamos el skuId del producto/licencia en este caso es para la licencia IWS : «6a4a1628-9b9a-424d-bed5-4118f0ede3fd».

Y montamos llamada a la API haciendo un POST , la URI es como sigue

https://graph.microsoft.com/v1.0/users/’,variables(‘GUID Usuario’),’/assignLicense’)

Como nota indicar que siempre tenemos que indicar removeLicenses aunque este vacío.

Aquí hacemos un alto en el camino y recapitulamos lo realizado hasta ahora brevemente:

  • Recibir petición de asignar licencia mediante Microsoft Forms
  • Mediante la API de Microsoft Graph realizar la invitación como usuario.
  • Parsear la respuesta
  • Modificar el usuario creado en la propiedad usageLocation
  • Asignar mediante API Microsoft Graph la licencia.

En el siguiente post terminaremos el flujo donde entrara en juego Automation API ,nuestro patito feo.

Espero que os resulte de interés y :

✅ Suscríbete al canal ( anima y da ese empujón a todo esto).

✅ Pulsa «like» si te ha gustado.

✅ Si no quieres perderte nada, ya sabes, pulsa la campana.

✅ En los comentarios déjame cualquier idea, duda, corrección o aportación. Todo será bien bienvenido.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s