Menu

Pon a raya el monstruo que Teams lleva dentro (Flow - Parte 3)

Pon a raya el monstruo que Teams lleva dentro (Flow - Parte 3)

Héctor (@guanberdolfo) y yo (@VanesaGC_Flow) te contamos cómo crear un conector personalizado en Flow y cómo crear un flujo que crea un equipo

Crear conector personalizado de Microsoft Flow para conectarse a Microsoft Graph

A continuación, vamos a mostrar cómo crear un conector personalizado en Microsoft Flow para conectarse a la API de Microsoft Graph.

Para ello, preparamos una colección de peticiones Graph en el postman, previamente testeado. Hecho esto, se pulsamos sobre los tres botones de la colección a exportar del Postman y sobre el “Export”.

 

En la siguiente Ventana, pulsamos sobre el elemento “Collection v1 (deprecated)” y sobre el botón “Export”. Y se guarda en un lugar seguro.

Es necesario seleccionar la opción “Collection v1” aunque esté obsoleta ya que, a la hora de importar la colección, Microsoft Flow sólo acepta esta versión.

Crear conector personalizado Microsoft Flow

Para ello se accede a “Office 365”, se despliega “Datos” y se pulsa sobre el elemento “Conectores personalizados”

 

En la siguiente ventana, aparecerá una lista con los conectores personalizados existentes, para crear uno nuevo, pulsamos sobre el desplegable con nombre “+ Nuevo conector personalizado”, y hacemos clic sobre el elemento “Importar una colección de Postman”.

 

En la siguiente ventana, se selecciona el fichero, se rellena el nombre del nuevo conector y se hace clic sobre importar.

Hecho esto, en la siguiente página añadiremos una descripción. Podemos observar que el “host” y la “url base” se autor rellenan.

En la siguiente pestaña, llamada “Seguridad” rellenamos los campos con los datos extraídos de la “aplicación” del “Directorio activo”. Utilizada anteriormente, para conseguir el token de autenticación de Office 365.

La url del recurso es https://graph.microsoft.com. El ámbito es https://graph.microsoft.com/Group.Read.All https://graph.microsoft.com/User.Read.All

La url de redireccionamiento será autogenerada una vez hayamos guardado la configuración. Ésta url deberá ser copiada para añadirla como redirect url de la aplicación del directorio activo.

En la pestaña “Definición”, se puede ver que todas las peticiones añadidas en la colección de Postman que importamos, aparece como acciones en la sección “Acciones” de la ventana. Debemos de verificar que cada acción funciona correctamente. Es por ello, que haciendo clic sobre cada acción y pulsando sobre el botón “probar”, podemos testear las peticiones importadas desde el propio Flow.

 

Cosas a tener en cuenta a la hora de importar colección Postman

Hay que tener en cuenta, que aquellas peticiones que requieran de una variable en la url de la petición. Se deben de modificar la url, añadiendo el nombre de la variable a utilizar entre llaves. De esta manera en la tarjeta que se mostrará en el Flow al seleccionar el conector personalizado, tendrá un cuadro de texto con el nombre de la variable añadida a la url.

Para ello, debemos modificar la acción, haciendo doble clic sobre él y el botón “+ importar desde ejemplo”, podremos reescribir el método seleccionado mediante el nuevo formulario situado a la derecha de la pantalla.

 

 

 

En la siguiente captura, se puede ver cómo al añadir la variable en la url de la petición, Flow a sido capaz de captarlo y lo añade en la sección “Ruta”.

Si utilizamos la conexión en el Flow, se verá de la siguiente manera.

 

Una vez, terminado de comprobar y modificar las peticiones, importadas de Postman. Hacemos clic sobre “Actualizar conector” o “Guardar”.

 

 

Usar conector personalizado en Microsoft Flow

 

Para usar un conector personalizado en Flow, añadimos una nueva acción, seleccionamos la pestaña “Personalizar” y pulsamos sobre el conector personalizado.

 

Hecho esto, se desplegarán todos los desencadenadores y acciones del conector personalizado.

 

 

Creación de Flow para la creación de un equipo recogiendo datos de una petición post HTTP

 

Hemos creado un Flow, que recibe una petición post con los siguientes datos necesarios para la creación de un Equipo.

 

Las siguientes variables recogen la respuesta final que se le envía a la petición, una vez terminado el flujo.

 

 

El bloque “Try” contiene todas las acciones que tiene que ejecutar el Flow. En el caso de que ocurra alguna incidencia, el flujo en vez de parar ejecutaría el bloque “Catch” y luego el bloque “Finally”. Pero si todo va bien, el flujo solo ejecutaría el bloque “Try” y “Finally”.

 

 

Este comportamiento, se define haciendo clic sobre los tres puntos y pulsando sobre “Configurar ejecución posterior”.

En la siguiente tarjeta, podemos marcar las casillas de cuando queremos que se ejecute dicha acción o tarjeta. Una vez, marcados hacemos clic sobre el botón “Listo”.

 

Dentro del bloque “Try”, hemos añadido las acciones necesarias para crear un equipo. Que son las siguientes:

 

Crear grupo: en esta acción añadimos los datos obtenidos del post.

 

Crear equipo a partir de un grupo: añadimos el id del grupo recién creado. Para ello, es necesario parsear el JSON que devuelve la acción “Crear grupo”.

 

Añadir miembro a un equipo: cada miembro recibido en el post es añadido al equipo recién creado.

Crear canal en un equipo: obteniendo el id del equipo recién creado, creamos un nuevo canal con el nombre y la descripción recibidos en el post.

Crear tab url: obteniendo el id del equipo y el canal recién creado, la siguiente acción crea un tab dentro del canal del equipo recién creado, añadiendo la web de la url obtenida del post (Trigger), como aplicación de la pestaña.

 

El siguiente bloque sólo se ejecutará, en el caso de que ocurre un error durante la ejecución del bloque “Try”. Este bloque añade valores a las variables que se utilizan para informar al administrador de si el Flow ha ido bien o no.

 

 

 

 

Se ejecuta tanto, si el Flow ha ido bien como si no. Se encarga de notificar al administrador por correo electrónico del resultado final de la ejecución.

Además, envía una respuesta HTTP notificando si la ejecución ha ido bien o no.

Creación de Flow “Obtener usuarios”

El siguiente Flow, recibe una petición Get y responde devolviendo la lista de usuarios de Office 365. Este Flow será ejecutado por el Bot, con motivo de la elección de miembros del equipo a crear.

 

Creación de Flow “Obtener grupos donde pertenece el usuario”

 

El siguiente Flow devuelve una lista de grupos de usuarios de Office 365, del usuario que contiene el id de usuario añadido en la petición Post.

 

Conector Flow generado

 

El siguiente enlace contiene el conector personalizado de Flow: https://github.com/VanesaGC/Post-Pon-a-raya-el-monstruo-que-Teams-lleva-dentro/blob/master/Team-Connector.swagger.json

Seguimos en la parte 4, con Bot Framework

¿No has leido la parte 2?. Pincha aquí para leerla.

Categories

Related posts
Data protection and regulatory compliance with AI in the workplace
By Sergio Darias Pérez  |  23 September 2024

In this post we uncover the dangers of shadow IT in data protection and regulatory compliance in the enterprise and how AI can help you

Read more
Azure and the Evolution of AI: Phi-3.5 Series, Optimized RAG and Custom Generative Models
By Carolina César Piepenburg  |  05 September 2024

We explore innovations in Phi 3.5 models, the simplified RAG approach and custom AI generative models.

Read more
Big Data: The engine of business transformation in the digital era
By Carolina César Piepenburg  |  02 August 2024

Discover how to drive your business transformation by improving operational efficiency, decision making and competitive advantage with big data.

Read more