Power Automate y el conjuro para ver el buzón de correo de un equipo Teams

Javier Ferreiro
Anyone can Automate
6 min readSep 4, 2023

--

Hoy en AnyoneCanAutomate volvemos a hablar de equipos en Teams, la infraestructura que Microsoft esconde tras ellos… y la forma de poder acceder al buzón de correo electrónico y su calendario para equipos de Teams. Todo ello nos servirá de excusa para dar nuestros primeros pasos con el API de Microsoft Graph. Pero no me alargo más, ¡al lío!

Designed by Dooder / Freepik

¿Buzones de correo en Microsoft Teams?

En el momento de la publicación de este artículo, tras cada equipo de Microsoft Teams hay un grupo de Microsoft 365, aportando diferentes funcionalidades:

  • un buzón de correo electrónico a la que todos los miembros del grupo pueden acceder, con su correspondiente calendario
  • un sitio Microsoft Sharepoint para compartir información
  • un sitio Microsoft Planner para compartir y asignar tareas
Un grupo Microsoft 365 detrás de cada equipo de Microsoft teams

Además, para cada canal de un equipo de Microsoft Teams es teóricamente posible asignar una dirección de correo dedicada, siempre que los administradores de nuestra organización tengan habilitada esta posibilidad:

¿En tu organización está disponible la opción de ‘Obtener dirección de correo’?

Finalmente, siempre nos quedará la opción de utilizar la cuenta de correo electrónico asociada al equipo de Teams. ¿Qué propiedades tiene esta cuenta de correo electrónico y cómo acceder a los recursos de la misma?

Conforme a la imagen anterior, la cuenta de correo electrónico de un equipo Teams cuenta con una serie de parametrizaciones de partida escogidas por los administradores de nuestra organización. Si puedes acceder a este buzón desde Outlook (ahora veremos cómo) lo más probable es que el grupo Microsoft 365 detrás del equipo Teams se haya creado con la propiedad ‘HideGroupInOutlook’ tomando el valor ‘false’. Para verificarlo, basta con acceder a nuestra cuenta corporativa de Outlook, bien sea vía navegador o a través del cliente de escritorio, y desplegar el listado de Grupos Microsoft 365¿Cómo? ¡Atentos al siguiente diagrama!

Para nuestro artículo de hoy nos interesa acceder al buzón de correo asociado al equipo Teams ‘U. S. Sales’, pero este nombre no aparece en el listado de Outlook. ¿Qué podemos hacer?

Power Automate al rescate

Por fortuna, Microsoft ha tenido en cuenta esta posibilidad y ofrece la opción de reactivar vía Power Automate la visualización de cualquiera de los grupos Microsoft 365 de los que somos administradores.

Nota publicada en el blog de Microsoft Graph: https://devblogs.microsoft.com/microsoft365dev/announcing-support-for-new-groups-properties-via-microsoft-graph-api/

¡Ojo, porque este tortuoso camino implica que debemos ser administradores del equipo Teams asociado; y familiarizarnos con el uso de la API Graph de Microsoft!

Para nuestro propósitos, nos bastará con crear un flujo de ejecución manual para a continuación dar nuestros primeros pasos haciendo uso del conector ‘Office 365 Groups’:

La invocación del API Graph de Microsoft correrá a cuenta del bloque de acción ‘Enviar una solicitud HTTP V2’ -Send an HTTP request V2- del citado conector. Pero antes deberemos documentarnos en torno a las dos operaciones del API Graph que utilizaremos: una para consulta y otra para modificación. ¿Dónde?

Explorando el API Graph

Algo más atrás hemos hablado de una nota donde Microsoft confirmaba la posibilidad de modificar determinadas características de los grupos Microsoft 365 vía API Graph, entre ellas la visualización de éstos en Outlook. En la nota se incluyen ejemplos de las operaciones de consulta y actualización del parámetro hideFromOutlookClients:

Ejemplo de consulta y actualización del parámetro hideFromOutlookClients (https://devblogs.microsoft.com/microsoft365dev/announcing-support-for-new-groups-properties-via-microsoft-graph-api/)

Y en ambos ejemplos observamos que la URI (dirección https) tiene un formato algo particular. Consultando la documentación de la API Graph de Microsoft para ‘Obtener Grupo’ -Get group- y Actualizar grupo’ -Update group- comprobamos que, para construirla, necesitamos averiguar el identificador único del grupo que queremos modificar, identificador también llamado id de grupo -group id-.

Obteniendo el id del grupo

¿Pero cómo lo obtenemos? La magia correrá a cuenta del bloque de acción ‘Enumerar los grupos de los que soy propietario (versión 2)’ -List my owned groups (v2)- de nuestro conector Office 365 Groups y de la sabia utilización del bloque de acción ‘Filtrar matriz’ -Filter array- para extraer aquél que nos interesa a través del nombre, que coincidirá con el del equipo Teams:

Para cada grupo, Power Automate nos devolverá una serie de parámetros asociados, incluida la dirección de correo electrónico asociada y el id grupo:

Un detalle más: la salida del bloque de acción ‘Filtrar matriz’ es de tipo matriz -array-; es decir, una colección de 0, 1 o más elementos, cada uno de ellos representando un grupo. Si en el término de la derecha de la regla de condición hemos acertado a teclear correctamente el nombre del equipo (¡ojo con los espacios!), obtendremos una matriz -array- con un único elemento. Para trabajar con el id de grupo de ese primer (y único) elemento hay diversas alternativas, nosotros optaremos por utilizar la función WDL first()

¡Eh, voilá! Una vez obtenido el id de grupo, construiremos la URI con la que invocar el API Graph para consulta, siguiendo atentamente todas las indicaciones de la documentación. La citada invocación corre por cuenta del bloque de acción ‘Enviar una solicitud HTTP V2’ -Send an HTTP request V2- del citado conector.

Inmediatamente después de la consulta, añadiremos un nuevo bloque de acción ‘Enviar una solicitud HTTP V2’ -Send an HTTP request V2- que configuraremos convenientemente para actualizar el valor del parámetro hideFromOutlookClients al valor falso -false-, de forma análoga al ejemplo documentado por Microsoft; y para rematar, replicaremos el primer bloque de acción de consulta, para de esta forma verificar si el valor del parámetro cambia o no:

¡Ya tenemos habilitada la visualización del grupo y de su calendario en Outlook! ¿Cómo comprobarlo?
Regresamos a nuestro cliente Outlook. Es posible que la sincronización lleve un tiempo, y que debamos salir y volver a entrar. Y para el caso concreto del calendario, deberemos acceder a él a través de la aplicación de escritorio. Pero todo llega, @PowerNautas!

Bien, es posible que te estés preguntando si todo esto no es muy complicado. Que total, para disponer de un calendario compartido con el resto de miembros de un equipo de Teams hubiera sido más fácil configurar un Plan con Microsoft Planner, o una lista en Microsoft Lists y activar la vista de tipo calendario. O que en tu organización puedes solicitar un buzón compartido sin necesidad de vincularlo a un equipo de Teams.

Sucede que de esta forma, sin prestarle especial importancia, es probable que hayas desencadenado tus primeras operaciones con el API GRaph de Microsoft. Si es así, ¡enhorabuena! Porque la API de Microsoft Graph nos permitirá llegar ahí donde los actuales bloques de acción de conectores como Teams, Outlook, Sharepoint o OneDrive no llegan.
Y si tienes experiencia con la API Graph, ojalá te haya servido para descubrir un método rápido y sencillo de invocarla vía Power Automate y parametrizar grupos de Microsoft 365. ¡Y es que además de activar la visualización de grupos en Outlook, hay otras muchas opciones a nuestro alcance!

Habilitando la posibilidad de que nos puedan enviar correos electrónicos al grupo desde direcciones externas

Ah, y recuerda que en nuestra cuenta de Twitter @PowerNautas encontrarás muchos más consejos para sacarle el máximo partido a Microsoft Power Automate… ¡como éste!

¡Saludos, @Powernautas!

--

--