Ahorra tiempo y errores: automatiza el permiso laboral en tu empresa usando un usuario interno en Power Automate
Mujer sonriendo frente a su computador, representando la aprobación exitosa de un permiso laboral mediante automatización.

Ahorra tiempo y errores: automatiza el permiso laboral en tu empresa usando un usuario interno en Power Automate

¿Cansado de perder tiempo gestionando solicitudes de permiso laboral que llegan en diferentes formatos y a través de múltiples plataformas, generando retrasos y confusión tanto para el equipo de Recursos Humanos como para los empleados? Esta situación es más común de lo que parece, y muchas empresas aún enfrentan estos desafíos que afectan la productividad y el ambiente laboral. Sin embargo, no tiene por qué ser así. Gracias a herramientas como Power Automate, es posible transformar este proceso tradicionalmente manual en una experiencia ágil, eficiente y libre de errores. 

Permiso laboral eficiente: la clave para una mejor administración 

Automatizar la solicitud y aprobación de permisos no solo reduce significativamente la carga administrativa, sino que también mejora la comunicación, la transparencia y la satisfacción de todos los involucrados. En este blog, te mostraremos cómo diseñamos e implementamos un flujo automatizado usando un usuario interno en Power Automate para simplificar la gestión de permisos y vacaciones. Además, descubrirás cómo esta solución puede ayudarte a optimizar recursos, evitar errores y garantizar un proceso estandarizado y confiable para tu equipo. 

Ahora que conoces el propósito y alcance del flujo de aprobación de permiso laboral, es momento de mostrarte cómo lo construimos paso a paso usando Power Automate. Esta solución está pensada para ser clara, funcional y replicable en cualquier organización que quiera optimizar sus procesos internos sin recurrir a herramientas complejas o costosas. 
A continuación, te explicamos cada componente del flujo, desde la configuración inicial hasta la notificación final, para que puedas entender su lógica y adaptarlo fácilmente a las necesidades de tu empresa. 

 

Paso 1: Creación de usuario con la licencia de Power Automate 

Para comenzar, accedemos a Microsoft 365 Admin Center. Una vez dentro del entorno, damos clic en la opción Active Users (Img 1) 

Img 1 

Posteriormente se debe hacer clic en el botón “Add a user” (Img 2)

Img 2 

Al presionar el botón “Add a user”, aparecerá un formulario en el que se deben completar los campos First name, Last name, Display name, User name y seleccionar el dominio que tendrá la cuenta del usuario. Una vez se hayan llenado todos los campos, será necesario hacer clic en el botón »Next» para continuar (Img 3). 

Img 3 

Ahora toca seleccionar la licencia de Power Automate y luego toca hacer clic en el botón «Next» para continuar (Img  4). 

Img  4 

Después de eso toca presionar «Next» de nuevo (Img  5) 

Img  5 

Luego toca dar clic en el botón que dice “Finish adding” (Img  6).

Img  6 

Ahora en la siguiente pantalla, se mostraran los detalles del usuario que fue creado y luego de eso toca dar clic en “Close” (Img  7)

Img  7  

Paso 2: Creación del flujo 

Para comenzar, accedemos a Power Automate usando la cuenta que se creo en el paso anterior y luego de eso toca hacer  clic en Create y posteriormente en Automated cloud Flow” (Img  8) 

Img  8 

Paso 3: Agregar el desencadenador del flujo 

Posteriormente se debe añadir un nombre al flujo y seleccionar el desencadenante del flujo, que en este caso será When a new response is submitted” (Img  9) 

Img  9 

Paso 4: Seleccionar la conexión 

En este caso, es importante tener en cuenta que, al realizar el flujo con una cuenta que únicamente tiene licencia de Power Automate, esta no tendrá acceso a otros servicios de Microsoft. Por lo tanto, cada acción creada en el flujo deberá estar vinculada a una cuenta diferente que cuente con licencias para los demás servicios de Microsoft. Por esta razón, en este caso, realizo la conexión con otra cuenta que sí tiene licencia para usar Microsoft Forms.  Para cambiar la conexión toca primero presionar donde dice “Change connection” (Img  10) 

Img  10 

Luego de eso toca seleccionar la conexión y en caso de no tener ninguna conexión toca hacer clic donde dice “Add new” (Img  11) 

Img  11 

Y luego toca iniciar sesión con la cuenta que se va usar para las conexiones de este flujo. (Img  12) 

Img 12 

Paso 5: Seleccionar el formulario 

Una vez la conexión esté configurada, toca seleccionar hacer clic en el campo «Form Id» y luego se mostrará la lista de formularios de Microsoft Forms que se hayan creado en la cuenta a la cual está conectada el desencadenador (Img  13) 

Img  13 

Paso 6: Añadir acción “Get Response Details” 

Para continuar con la construcción del flujo, se debe añadir una nueva acción haciendo clic en el icono «+» esto se debe realizar cada vez que se va a añadir una nueva acción (Img  14) 

Img  14 

En la barra de búsqueda se debe digitar la aplicación a la que pertenece la nueva acción, para este paso será Forms, se debe seleccionar la opción que corresponda (Img  15) 

Img  15 

Paso 7: Configurar acción Get Response details. 

Al igual que con el desencadenador, esta acción necesita una conexión por lo que tendrá que configurarse para que aparezcan los formularios. Después de configurar la conexión es necesario seleccionar el formulario y también seleccionar el Response Id del desencadenador “When a new response is submitted” (Img  16) 

Img  16 

Paso 8: Creación de la acción Initialize Variable 

Ahora toca crear una acción de tipo «Initialize Variable», esta acción servirá para almacenar los archivos adjuntos que estén en el formulario, en el campo Name toca poner un nombre y en el campo Type toca seleccionar la opción “Array” (Img 17) 

Img  17 

Paso 9: Creación de variables para las fechas 

En la barra de búsqueda se debe digitar la acción Initialize variable y toca crear 2 acciones de tipo «string» (Img  18) 

Img  18 

Toca crear un Initialize variable para la fecha de inicio del permiso (Img  19) 

Img  19 

Y otra variable para la fecha en que termina el permiso (Img  20) 

Img  20 

Paso 10: Creación de compose para guardar la referencia de los archivos adjuntos en el formulario. 

 Ahora toca crear un «Compose» y seleccionar el campo archivo adjunto de la acción «Get Response details» (Img  21) 

Img  21 

Paso 11: Crear acción para detectar si el formulario tiene archivos adjuntos.

Para detectar si el formulario contiene archivos adjuntos, es necesario crear un «Compose» y usar la siguiente expresión:  empty(outputs(‘Check_Attachments’)) (Img  22)

Img  22 

Paso 12: Crear condición que detecta si hay archivos adjuntos 

Ahora toca crear una condición que va a detectar si en el formulario hay archivos adjuntos. En la condición en el campo que dice «Choose a value», toca poner el output de la acción: CheckIfAttachmentIsEmpty (Img  23) 

Img  23 

Luego en el dropdown, toca seleccionar la opción “is not equal to” (Img  24)

Img  24 

Y finalmente en el campo “choose value” , toca escribir “True” (Img  25) 

Img  25 

Paso 13: Agregar un Apply to each que recorra la lista de archivos adjuntos que están en el formulario. 

Dentro de la condición, es necesario agregar un «Apply to each» (Img  26) 

Img  26 

En el «Apply to each», toca escribir una expresión que convierte la lista de archivos adjuntos a formato JSON, lo cual facilitará la manipulación de esos archivos en el flujo (Img  27). 

Img  27 

Paso 14: Añadir acción para obtener los metadatos de un archivo 

Ahora toca añadir la acción «Get File Metadata» , la cual obtendrá los metadatos de cada uno de los archivos adjuntos que están en el formulario. Toca escribir la siguiente expresión: ítems?[‘id’] , la cual servirá para obtener los metadatos de cada archivo adjunto. Toca tener en cuenta que como el flujo se esta haciendo desde una cuenta que solo obtiene licencia de Power Automate, es necesario que la conexión de esa acción se haga con una cuenta que tenga licencia para acceder a One Drive (Img  28). 

Img  28 

Paso 15: Obtener contenido de los archivos 

Ahora toca añadir una acción «Get File content», la cual obtendrá el contenido de los archivos adjuntos. En el campo Files se debe seleccionar el Id que obtiene Get file metadata (Img  29). 

Img  29 

Paso 16: Añadir los archivos adjuntos a la acción Initialize Variable. 

Previamente, se había creado una acción Initialize Variable, la cual se encargaría de almacenar los archivos. Esta acción no tenía ningún contenido, ya que la única manera de añadir contenido a un archivo es por medio de un «Apply to each». Sin embargo, esto también limita el uso de cualquier variable, ya que el output de cualquier acción que esté dentro de un bucle no puede usarse fuera de él. En este caso, se debe añadir una acción de tipo «Append to Array Variable» y, en el campo Name, se selecciona la opción que dice «Files» (Img  30). 

Img  30 

Dentro del campo «Value», toca crear un esquema de tipo JSON en el cual este el nombre y el contenido del archivo. Para obtener el nombre toca obtener el output de la acción “Get file metadata”, toca seleccionar donde dice «Display name» y en Content toca seleccionar el output de «File Content» (Img  31) (Img  32). 

Img  31 

Img  32 

Paso 17: Añadir Compose para que guarde los archivos adjuntos 

Ahora toca añadir un «Compose» y en el campo Inputs, toca añadir la acción «Files» (Img  33) 

Img  33 

Paso 18: Añadir Compose que genere un Guid 

Toca añadir un nuevo «Compose» y escribir esta expresión: guid() (Img  34) 

Img  34 

Paso 19: Añadir información del formulario a un archivo Excel 

Ahora es necesario añadir una nueva acción que sea de tipo “Add row into a table”. En  esta acción en el campo Location se selecciona One Drive for bussines y en Documents se selecciona “Documentos” (Img  35) 

Img  35 

En el campo “Table”, es necesario seleccionar la tabla a la que se desea añadir la información que está en el formulario. La tabla debe tener los mismos campos que están en el formulario, y también es necesario que en la tabla haya un campo ID, ya que en ese campo se añadirá el GUID que se creó previamente en un Compose (Img  36). 

Img  36 

Después de seleccionar la tabla aparecerán todos los campos que hay en la tabla y esos campos toca llenarlos seleccionando los outputs de la acción «Get Response details» (Img  37) 

Img  37 

Y el campo Id debe tener el Guid que se creó previamente en un Compose (Img  38) 

 

Img  38 

Paso 20: Añadir acción para aprobar los permisos 

Ahora es necesario añadir la acción «Start and wait for an approval», En el campo «Approval Type» se selecciona la opción «Custom responses» y en el campo Title se escribe el título del permiso usando los outputs de la acción “Add a row into a table”. Y en el campo Response options , se escribe las opciones APROBADA y NO APROBADA (Img  39) (Img  40) 

Img  39 

Img  40 

En el campo «Assigned to», se escribe el correo de la persona la cual va a aprobar o rechazar el permiso. (Img  41) 

Img  41 

En el campo Requestor, se usa el correo de la persona que llenó el formulario. Este correo se obtiene al seleccionar la opción «Responder’s email», que está en la lista de outputs de «Get Response Details». (Img  42) 

Img  42 

Y finalmente en el campo «Attachments»,  se selecciona el output de la acción «Attachments Json». (Img  43) (Img  44)

 

Img  43 

Img  44 

Paso 21: Aprobación para detectar si el permiso fue aprobado 

Ahora toca añadir una nueva condición, la cual va a detectar si el permiso fue aprobado. En el primer campo toca seleccionar el Outcome de la acción «Start and wait for approval». (Img  45) 

 

Img  45 

En el Dropdown se debe seleccionar la opción “is equal to” (Img  46) 

Img  46 

Y finalmente en el campo “choose value” se debe escribir “APROBADA’ (Img  47) 

Img  47 

Paso 22:  Añadir delay para poder obtener los datos actualizados de un archivo de Excel. 

Ahora toca añadir una acción de tipo Delay, esta acción es necesaria debido a que previamente se añadió contenido al archivo Excel en la acción ‘Add a row into a table’. Debido a que se añadió contenido al Excel recientemente, Power Automate seguramente no lo va a detectar, por lo que en el Delay en el campo Count se añade el valor de 90 y en Unit se selecciona la opción que dice ‘Second’ . Esta acción lo que hace es que el flujo espere 90 segundos antes de continuar. (Img 48)

Img 48

Paso 23: Añadir acción append to string variable. 

Ahora se va a añadir la fecha de inicio de permiso a la variable StartTime que se creó al principio del flujo. En el campo Name se selecciona StartTime y en value se selecciona la hora del inicio del permiso de la acción “Add a row into a table” (Img 49) 

Img 49

Paso 24: Añadir acción «Append to string variable» para guardar la hora del fin de permiso en la variable EndTime 

Debe añadirse una acción «Append to string», en el campo Name se selecciona EndTime y en el campo Value se selecciona la hora de fin de permiso de la acción “Add a row into a table” (Img 50)

Img 50
 

Paso 25: Actualización del archivo de Excel. 

Ahora toca añadir una acción de tipo “Update a row” . En el campo Location se selecciona la opción “One Drive for Bussines”, en Document Library se selecciona “Documentos” o el lugar donde este el archivo de Excel. Y en File se selecciona el archivo de Excel que se quiere actualizar. (Img 51) 

Img 51

En el campo Key Column se selecciona la propiedad Nombre de la acción “Add a row into a table” (Img 52) 

Img 52

Y en Advanced Parameters, en el campo Estatus, se selecciona la propiedad “Outcome” de la acción «Start and wait for an approval». Esta acción actualizara el campo estatus en el archivo de Excel y escribirá en ese campo, que el estatus del permiso está en Aprobado. (Img 53) 

Img 53

Paso 26: Añadir Delay para hacer que el flujo le dé tiempo para obtener los datos actualizados del archivo de Excel. 

Se añade una acción de Delay al flujo y en el campo “Count” se pone 1 y en el campo Unity se selecciona la opción “Minute (Img 54) 

Img 54

Paso 27: Añadir acción para enviar un correo

Añadimos la acción “Send an Email”. Luego de eso, presionamos el botón que dice “switch to advanced mode” y en el campo «To», seleccionamos la propiedad “Responders Email” (Img 55) 

Img 55 

En el campo «Subject«, escribe el asunto por el cual se envía el correo. En el campo «Body«, escribimos el mensaje que queremos enviar a la persona que llenó el formulario. En este caso, se le avisara a la persona que lleno el formulario que su permiso fue aprobado. (Img 56)

Img 56

Paso 28: Añadir acción List rows present in a table para obtenerlos la información que se añadió al archivo de Excel. 

Se debe añadir una acción de tipo” List rows present in a table” , ya que es necesario obtener esa información para crear un evento en el calendario. En esta acción se selecciona el archivo de Excel y en el campo Filter query se escribe la expresión ID eq y entre comillas se debe poner el output del” compose PermisoID que se creó previamente en el flujo. Es necesario poner eso en el Filter query para que la acción solo obtenga la información que se agrego en el flujo recientemente. (Img 57) 

Img 57

Paso 29: Añadir Apply to each para poder usar la información del output de List rows present in a table. 

Se debe añadir una nueva acción Apply to each y en el campo “Select an output from previous steps*se debe añadir el output de la acción  “List rows present in a table.” (Img 58) 

Img 58

Paso 30: Añadir Compose para darle formato a la hora de inicio del permiso 

Ahora toca añadir un Compose el cual le dará formato a la hora de inicio del permiso. En el campo inputs, toca escribir esta expresión: “formatDateTime(variables(‘Starttime’),’HH:mm:ss’) (Img 59) 

Img 59

Paso 31: Añadir Compose para darle formato a la hora en que finaliza  el permiso 

Ahora toca añadir un Compose el cual le dará formato a la hora en que finaliza el permiso. En el campo inputs, toca escribir esta expresión: “formatDateTime(variables(‘Endtime’),’HH:mm:ss’)” (Img 60)

Img 60

Paso 32: Añadir Compose para darle formato a la fecha en que inicia el permiso 

Ahora toca añadir un Compose el cual le dará formato a la fecha en que inicia el permiso. En el campo inputs, toca escribir esta expresión: “concat(addDays(‘1899-12-30’, int(items(‘Apply_to_each_1’)?[‘Fecha Inicio de Permiso’]), ‘yyyy-MM-dd’),’T’,outputs(‘Parse_Start_of_permission’)) (Img 61) 

Img 61

Paso 33: Añadir Compose para darle formato a la fecha en que finaliza el permiso 

Ahora toca añadir un compose el cual le dará formato a la fecha en que finaliza el permiso. En el campo inputs, toca escribir esta expresión: “concat(addDays(‘1899-12-30’, int(items(‘Apply_to_each_1’)?[‘Fecha Fin de Permiso’]), ‘yyyy-MM-dd’),’T’,outputs(‘Parse_End_of_permission’))” (Img 62)

Img 62

Paso 34:  Añadir acción para crear un evento en el calendario 

Ahora toca añadir una acción de tipo Create Event, en el campo Calendar ID se selecciona el calendario que en donde se quiere crear el evento. (Img 63)

 

Img 63

En el campo Subject se selecciona la propiedad “Tipo de permiso”  yName (Img 64) 

Img 64

Y en el campo StartTime, se selecciona el output de la acción «Permission Start Date» (Img 65) 

Img 65

En el campo End time, se selecciona el output de la acción «Permission End date» (Img 66) 

Img 66

 

Implementar flujos automatizados como el de solicitud de permiso laboral no solo demuestra un uso inteligente de la tecnología, sino también un compromiso con procesos más organizados y eficientes. Este tipo de soluciones permite a las empresas operar con mayor precisión, reduciendo tareas repetitivas y dejando espacio para lo realmente importante: el bienestar de su equipo. 

👉 ¿Quieres optimizar tu gestión interna sin complicaciones? En Pevaar te ayudamos a construir soluciones que se adaptan a tu realidad. 

 

Compartir este artículo

Deja una respuesta

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