Si has estado pendiente de las noticias estas últimas semanas, sabrás que el Gobierno de España aprobó el Decreto Ley de Protección Social en el que obliga a todas las empresas a tener un registro obligatorio del horario de los empleados. Esta medida entró en vigor el pasado 12 de mayo y ha pillado descolocadas a muchas empresas, que no tienen diseñado un sistema para que los empleados fichen a la entrada y a la salida del trabajo. Este problema se incrementa en las compañías en las que las personas necesitan desplazarse o en las compañías en las que los empleados hacen teletrabajo desde sus casas.

Si en tu compañía dispones de Office 365 y cuentas con los servicios de SharePoint y de Microsoft Flow, es muy sencillo diseñar un sistema electrónico “no code” para que los empleados puedan fichar en la entrada y en la salida. El ejemplo que veremos en este artículo se puede construir en una o dos horas y es plenamente funcional, aunque se han simplificado algunos pasos para su comprensión.

Diseñando el escenario

La idea del escenario es utilizar el servicio de SharePoint Online de Office 365 para almacenar el registro de entrada y salida de los empleados. Para ello, utilizaremos una lista de SharePoint en la que almacenemos una entrada cada vez que una persona ficha y en la que guardemos la persona que lo ha hecho y la hora. En nuestro ejemplo, utilizamos una lista de SharePoint, pero el almacén de los datos podría ser un Excel, una base de datos o cualquier otro sistema al que podamos acceder desde Microsoft Flow.

En cuanto a Microsoft Flow, crearemos un proceso desde este servicio que será el encargado de almacenar los datos en SharePoint. Microsoft Flow es el servicio de Office 365 que nos permite modelar procesos, automatizaciones y flujos de trabajo para los usuarios. Cuando un usuario dispare un evento para fichar en la entrada o en la salida del trabajo, se iniciará un proceso diseñado con Microsoft Flow que escribirá ese evento en la lista de SharePoint.

¿Y cómo dispararemos ese evento? ¿Qué es lo que tiene que hacer el usuario físicamente para provocar que se dispare el proceso de registro?

En este caso trabajaremos con dos escenarios, uno electrónico que se dispare desde el teléfono del usuario y otro con un botón físico que podría encontrarse en su puesto de trabajo, su coche, su casa o en cualquier otro lugar.

Para el escenario que se disparará desde el teléfono del usuario, utilizaremos una funcionalidad de Microsoft Flow llamada Flow Buttons. Los Flow Buttons permiten dotar al teléfono de una funcionalidad de botones virtuales que permiten disparar flujos o procesos de Microsoft Flow. Están pensados para tareas muy repetitivas y que no requieran mucha información de arranque como por ejemplo mandar un mail diario a un equipo para recordar algo, enviar recordatorios en x tiempo, obtener el tiempo en la ubicación actual, bloquear el calendario durante la próxima hora, etc.

La propia app de Microsoft Flow dispone de una vista en la que podemos almacenar estos botones para disparar acciones:

E incluso podemos usar un widget en iOS y Android para tenerlos más a mano:


Si quieres saber más sobre Flow Buttons, puedes consultar este artículo: https://docs.microsoft.com/en-us/flow/introduction-to-button-flows

Además del escenario con Flow Buttons en un teléfono, puede ser interesante trabajar con un escenario más real, en el que el usuario tenga que ejecutar una acción física para fichar. Esta acción física se puede ejecutar de muchas formas: cruzar un torno, escanear una tarjeta corporativa, pulsar un botón… Para este ejemplo, vamos a trabajar con un componente hardware llamado Flic Buttons. Los Flic buttons son unos botones físicos que nacieron desde un proyecto de crowfunding con el objetivo de facilitar multitud de procesos automatizables tanto en el hogar como en el trabajo. Un Flic button es simplemente un botón físico conectado por Bluetooth a un teléfono o a un hub que forme parte de la red. Al ser ser presionado, permite desencadenar automatizaciones como la ejecución de acciones en un teléfono, encontrar un aparato, pedir un taxi, enviar mi localización en caso de emergencia, llamar a procesos de IFTTT, encender o apagar aparatos y luces en el hogar, recibir o rechazar llamadas en el coche, poner música, dejar mensajes en servicios como Slack, enviar correos prefijados, pedir comida durante una reunión, etc.

Una de las características más interesantes de los botones Flic es la capacidad que tienen de lanzar un flujo de Microsoft Flow. Al poder lanzar un flujo de Microsoft Flow, son completamente integrables con el proceso que vamos a pintar. Al hacer una pulsación en un botón Flic, se puede desencadenar la acción que permita que el usuario fiche en la entrada o en la salida del trabajo. Las posibilidades son muy amplias, ya que permitiría tener a mano una forma de fichar tanto en oficinas, como en usuarios en movilidad o teletrabajo. El usuario podría tener el botón Flic en la mesa de su puesto de trabajo, pegado en el salpicadero de su coche, en su casa, pegado a su portátil, en la entrada de la oficina, etc.

Si quieres más información sobre los botones Flic, puedes consultar su web: https://flic.io/

En resumen, el escenario funcionará de la siguiente forma:

El usuario tendrá disponibles botones “virtuales” en su teléfono gracias a Flow Buttons y botones físicos en cualquier ubicación necesaria gracias a Flic buttons. En ambos casos, al ser presionados, se disparará un proceso de Microsoft Flow que insertará el tipo de evento (Entrada o Salida), la fecha, la hora y la persona que lo hizo.

Veamos cómo se construye.

Primer paso: la lista de SharePoint

Cada vez que un usuario fiche a la entrada o a la salida del trabajo, se debe almacenar ese dato. Entre las múltiples opciones para almacenarlo, hemos optado por SharePoint por su comodidad y por su integración con el resto de la plataforma Office 365. No obstante, se podría trabajar con un documento Excel, con una base de datos o con cualquier otro servicio que funcione con Microsoft Flow.

En nuestro caso, partiremos de un sitio de SharePoint en el que crearemos una nueva lista para almacenar la información:

En la lista mantenemos el campo “Título” en el que guardaremos si el registro es de Entrada o de Salida. También una columna “Persona” de tipo usuario para almacenar la persona que ha fichado. Por último creamos un campo “Fecha y hora” de tipo fecha con hora para almacenar el momento en el que se fichó:

Cuando se vaya rellenando, tendrá este aspecto:

Nota: si las horas no coinciden con la realidad, debes recordar que SharePoint almacena la hora internamente en UTC. Deberás acceder a la configuración del sitio y cambiarle la franja horaria a la correspondiente (en España UTC+1: Bruselas, Copenhague, Madrid, Paris).

Segundo paso: proceso desde Flow y Flow Button

A continuación, diseñaremos el proceso desde el servicio de Microsoft Flow. Aprovecharemos para crear el Flow Button, ya que será uno de los desencadenadores del proceso.

Desde el servicio de Microsoft Flow (flow.microsoft.com) crearemos un nuevo flujo de trabajo y lo llamaremos “Registro de entrada”.

Como desencadenador, buscaremos la palabra “botón”. Eso nos encontrará un desencadenador llamado “Desencadenar un flujo manualmente” que nos asociará un Flow Button a nuestro proceso. Lo pulsamos para añadirlo:

Añadimos una acción de “Obtener mi perfil (V2)” que nos dará la cuenta del usuario que ejecuta el proceso, así como información adicional suya:

A continuación, añadimos una acción de SharePoint de “Crear elemento” para poder crear la entrada en la lista de SharePoint. En la acción rellenamos la URL del sitio de SharePoint y el nombre de la lista que hemos creado. Esto provocará que aparezcan los campos que habíamos creado en la lista:

En el campo “Título” pondremos el texto “Entrada” (ya que este flujo registrará las entradas). En el campo “Persona” añadimos el nombre principal del usuario del usuario, que se obtiene de la acción anterior. En el campo “Fecha y hora” añadimos la marca de tiempo o timestamp que me da el propio proceso.

Nota: la inserción de la cuenta en el campo persona debe cuidarse más, ya que hay acciones pensadas para validar la cuenta dentro de SharePoint. En esta demo se han obviado para conseguir mayor sencillez.

Aprovecharemos que estamos trabajando en Flow Buttons en el teléfono móvil para mandar unas notificaciones. Para que la marca de tiempo se vea en la zona horaria correcta en las notificaciones, insertaremos una acción de “Convertir la zona horaria” y la rellenaremos así:

Nota: si tu zona horaria no es UTC +1, ajústala a tu gusto.

Finalmente, mandaremos una notificación al teléfono del usuario que incluya la hora convertida y un mensaje. Añadimos la acción y pulsamos “Guardar” para guardar el proceso:

Una vez guardado, el nuevo proceso aparecerá en la lista de flujos:

Ya está listo el flujo que permitirá fichar al usuario en la entrada. El flujo que permitirá fichar en la salida es muy similar, cambiando algunos textos. Para no tener que construirlo de nuevo, podemos guardar una nueva copia del flujo “Registro de entrada” y llamarla “Registro de salida”:

Bastará con editar el flujo “Registro de salida” y cambiar lo siguiente:

Una vez se haya finalizado, tendremos los dos flujos preparados. Es posible que debas activar “Registro de salida” por haber sido una copia del otro:

Para ponerlos a disposición de los usuarios, estos flujos se pueden compartir (recuerda también asignar permisos en SharePoint a los usuarios):

Como ambos procesos se diseñaron para ser desencadenados desde un Flow Button, deberían aparecer en la aplicación dos botones para ellos. Para probarlo, debes descargar la app de Flow para tu smartphone desde https://flow.microsoft.com/es-es/mobile/download/?src=banner.

Una vez tengas instalada la app, bastará con abrirla e iniciar sesión con una de las cuentas de Office 365 que puedan usar el proceso. En la sección de botones de la app, verán los botones de los dos flujos que hemos creado:

También estarán disponibles como widget (tanto en iOS como en Android):

Si vamos lanzando eventos para fichar en la entrada y en la salida, veremos cómo la lista de SharePoint comienza a acumular datos:

Tercer paso: integrando el botón Flic

Como se ha mencionado anteriormente, puede haber casos en los que sea interesante utilizar un botón físico que dispare los procesos en lugar de un Flow Button. De esta forma, se podría disponer de un mecanismo para fichar en casa, en la entrada de la oficina, en el puesto de trabajo, en una ubicación en una fábrica, en un coche o una bicicleta, etc. En este caso, utilizaremos un botón Flic. Los botones Flic están pensados para la automatización de tareas y procesos tanto en el hogar como en la empresa. Un botón Flic permite disparar multitud de acciones, entre las que se encuentran lso procesos de Microsoft Flow:

En mi caso, utilizaré este botón Flic, que lleva el branding de SharePoint porque fue un regalo del equipo de producto durante un evento

Los botones de Flic pueden ir emparejados por Bluetooth con un teléfono o con un Hub global que se conecta a la red. En el ejemplo, lo emparejaremos con un teléfono. Para ello, es necesario descargar la app de Flic para iOS o Android en https://start.flic.io/

Cuando la iniciemos, será necesario crear una cuenta Flic. Una vez creada, podremos pulsar para añadir el nuevo botón. Para ello, pulsaremos “Add Flic to Phone” y seguiremos las instrucciones para emparejarlo:

Una vez finalizados los pasos, el botón quedará registrado:

Podemos personalizarlo y ponerlo un nombre:

Si pulsamos en el icono del botón, llegaremos a la configuración, en la que podemos especificar tres posibles acciones con el botón. La acción al hacer clic, acción al hacer doble clic y acción al mantener pulsado. En nuestro caso, añadiremos que se dispare un proceso de Microsoft Flow tanto en el clic como en el doble clic. Uno servirá para el registro de entrada y otro para el de salida:

Todo finalizado en Flic. Ahora volveremos al servicio de Microsoft Flow, donde crearemos una copia del flujo “Registro de entrada” y otra del flujo “Registro de salida” (ver apartado anterior para hacer copias) y los llamaremos “Registro Flic de entrada” y “Registro Flic de salida”. Deben ser flujos distintos puesto que el disparador será ahora un botón Flic y no un Flow Button virtual. Deben quedar así:

Editamos “Registro Flic de entrada” y eliminamos el desencadenador que venía de un Flow Button:

Y añadimos un nuevo desencadenador llamado “When a Flic is pressed”:

Flow nos pedirá iniciar sesión en nuestra cuenta de Flic:

Una vez que hayamos hecho login, podremos elegir nuestro botón Flic y la acción que desencadenará el proceso. En este caso, hemos usado el botón que acabamos de configurar y, al ser el registro de entrada, hemos asociado la acción de un clic. Ten cuidado, porque la hora que usamos en algunas acciones ahora nos la dará el botón Flic:

Una vez guardado, repetimos lo mismo para el flujo “Registro Flic de salida”, en el que asociaremos la acción del doble clic:

Y ya está finalizado, tras guardar ambos procesos, veremos que el clic o doble clic del botón Flic provoca que se dispare el proceso correspondiente. Como hemos conservado la notificación al móvil, ésta se lanzará también en el teléfono.

Conclusión

Como puedes ver, en poco más de una hora es posible solucionar un problema con el que muchas empresas se han tropezado. Sólo es cuestión de tener un poco de imaginación para que herramientas como SharePoint, Microsoft Flow, Flic buttons y alguna otra como PowerApps o Power BI se conviertan en aliados perfectos para construir soluciones sin necesidad de desarrollar código. Espero que os sirva de ayuda.

Como reto, pedimos a los lectores que cierren el círculo diseñando un dashboard de Power BI que pueda explotar estos datos de una forma gráfica

Author: Miguel Tabera Pacheco

Miguel Tabera Pacheco es MVP de Microsoft en el área de Office Apps and Services, siendo sus principales pasiones SharePoint, Microsoft Teams y Office 365.
Trabaja como Modern Workplace platform Regional Lead en la Market Unit de Modern Workplace de Avanade España. Ha sido nombrado como uno de los “Top 25 European Office 365 Influencers” (2016) y como uno de los “Top 25 European SharePoint Influencers” (2017) por la organización de la European SharePoint Conference.
Es fundador de la Comunidad Técnica de SharePoint & Office 365 de Madrid (www.MadPoint.net), una comunidad de ayuda que reúne a todos los profesionales y amantes de Office 365 de Madrid, en la que se organiza eventos presenciales y webcasts sobre Office 365 y que organiza anualmente la versión para Madrid del evento mundial SharePoint & Office 365 Saturday (www.spsevents.org), así como el Global Microsoft 365 Developer Bootcamp.
También colabora activamente con revistas y grupos de usuarios del mundo Microsoft y participa activamente en eventos de la comunidad. Puedes seguirle en Twitter (@migueltabera​).

Diseña en una hora un sistema para fichar en el trabajo con Microsoft Flow, SharePoint y Flic Buttons
Etiquetado en:                

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *