Volver al listado

Alexa Office 365 Skill

alt text

El reto

Cuando afrontamos este proyecto lo hicimos con el objetivo de aprovechar las ventajas que pone a nuestra disposición un asistente de voz como Alexa para llevar a cabo tareas cotidianas de un trabajador de oficina.

Creamos una skill que fuese capaz de realizar distintas acciones comunes en el día a día de una oficina, centrando el desarrollo en la suite ofimática de Microsoft Office 365. Las aplicaciones seleccionadas fueron: Calendar, Planner, Outlook y OneNote.

Así lo hicimos

Para garantizar la seguridad de estas acciones desarrollamos de forma paralela una APP movil que permitiera autenticar a los usuarios en Office 365, además de decidir durante cuánto tiempo se mantiene la sesión abierta para esos usuarios o en qué momento finaliza. Esta autenticación en Office 365 fue implementada con ADAL (Microsoft Azure Active Directory Authentication Library). Esto implica que tanto la gestión de los usuarios que pueden utilizar la skill como la configuración de sus permisos se delegan directamente en Active Directory.

Una vez el usuario está autenticado y durante el tiempo que dure la sesión, se permiten las peticiones del mismo al cliente de Microsoft Graph. Haciendo uso de los distintos endpoints expuestos en la API de Graph para realizar las mismas tareas que podríamos realizar desde la interfaz gráfica, encaminamos cada petición formulada por voz al asistente Alexa.

El resultado

Gracias a esta skill podemos realizar de forma eficiente y rápida diversas tareas como revisar los eventos del día en nuestro calendario, agendar una reunión, crear una nota o enviar un email. A continuación se detallan todas las acciones permitidas:

  • Calendar: Creación, consulta y modificación de eventos del calendario.
  • Planner: Consulta y selección de planes; Creación, consulta y modificación de tareas de un plan (título, persona asignada, fecha de cierre, estado...).
  • Outlook: Envío de correos a destinatarios o grupos.
  • OneNote: Creación y consulta de notas en distintos notebooks.