Solicitud de Permiso para Usuarios Externos: Cómo Automatizar el Proceso

Persona sentada en un escritorio con una laptop, haciendo un gesto de aprobación con el pulgar hacia arriba. El rostro de la persona está desenfocado. A la derecha de la imagen hay un texto que dice: 'ahora los usuarios externos tambien pueden hcaer solicitud de permiso sin demoras!' En la esquina inferior izquierda hay un logo y texto que dice 'Power Automate.' En la esquina inferior derecha hay otro logo y texto que dice 'pevaar.

Solicitud de Permiso para Usuarios Externos: Cómo Automatizar el Proceso

En muchas organizaciones, la solicitud de permiso sigue siendo un proceso manual, lento y propenso a errores, especialmente cuando involucra a usuarios externos. Para resolver esta situación, diseñamos un flujo de trabajo automatizado con Power Automate que conecta correo electrónico, Excel y calendario, facilitando la solicitud y aprobación de permisos sin complicaciones.  

En este artículo, te mostraremos cómo funciona esta solución, qué herramientas utiliza y cómo puede ayudar a tu equipo de Recursos Humanos a optimizar la gestión de permisos laborales. Si buscas agilizar tu proceso de solicitud de permiso y reducir la carga administrativa, esta guía es para ti. 

 

Optimiza la Solicitud de Permiso: Así Funciona Nuestro Flujo Automatizado 

Aprende cómo puedes poner en marcha este flujo de trabajo para gestionar de forma automática las solicitudes de permiso de usuarios externos. ¡Sigue leyendo! 

 

Inicialmente se debe acceder a Power Automate, hacer clic en “Create” y posteriormente en “Automated cloud Flow”(Imagen 1). 

 

Imagen 1

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”(Imagen 2). 

Imagen 2 

 

A continuación, se detallará el flujo y sus conexiones: 

1.1. El flujo inicia con un desencadenante desde Forms, se debe seleccionar de las opciones que se cargan automáticamente el “Form Id” correspondiente al formulario de Solicitud de Permisos de la lista de todos los formularios que el usuario que diseñó el flujo ha creado (Imagen 3).  

Imagen 3 

 

1.1.1. Para continuar con la construcción del flujo, se debe añadir una nueva acción haciendo clic en el icono + esta acción se debe realizar cada vez que se va a añadir una nueva acción (Imagen 4). 

Imagen 4 

 

1.1.2. In the search bar, type the application that the new action belongs to. For this step, it will be Forms. Select the corresponding option (see Image 5). 

Imagen 5 

 

1.2. La siguiente acción que se añade al flujo es la de Obtener detalles de la respuesta o Get response details, en esta también se seleccionó el “Form Id” correspondiente al formulario de Solicitud de Permisos (es este paso también aparecerán todos los formularios que el usuario ha creado); posteriormente se selecciona el “Response Id” del contenido dinámico.  Lo anterior permite que se obtengan los detalles de las respuestas a todas las peguntas del formulario (imagen 6).  

Imagen 6 

1.3. La tercera (imagen 7) y cuarta  (imagen 8) acción serán “Inicializar una variable .  que van a funcionar para almacenar la hora de inicio y la hora de finalización del permiso. Estas variables son de tipo String ya que nos permite el procesamiento de texto. 

Imagen 7 

Imagen 8 

 

1.4. El flujo continúa con otro compose  que llamamos PermisosId que genera un id único para cada solicitud, esta información se va a añadir a una tabla de excel y sirve para poder filtrar la información y que no se presenten errores en el momento de ejecutar acciones posteriores. 

En la barra de búsqueda de la acción se debe escribir como palabra clave “Compose” o “redactar” y seleccionar la opción que corresponde Para completar los inputs, se debe hacer clic en fx y agregar la expresión guid()”(Imagen 9).

Imagen 9 

 

1.5. Posteriormente el flujo conecta con Microsoft Excel con “Add a row into a table” o añadir una fila a una tabla 

1.5.1. Se debe crear un documento en Excel en formato de tabla para poder añadir la información al mismo. Este debe contener los campos que se van a extraer del formulario como Nombre, Nombre del jefe inmediato, correo del jefe inmediato, tipo de permiso, fecha de inicio del permiso, fecha fin del permiso, hora de inicio, hora de finalización y observaciones (imagen 10). 

Imagen 10 

 

Después de seleccionar la acción “Add a row into a table” se debe configurar: seleccionar la ubicación del archivo de Excel previamente creado; la biblioteca de documentos en que se encuentra; el archivo y la tabla.  

También se debe completar los parámetros con la información del contenido dinámico que arroja Power Automate, que son datos que se extraen del formulario.  La única opción que no tendrá contenido dinámico será Estatus, el cuál inicialmente estará como pendiente y que al finalizar el flujo se debe actualizar automáticamente con el resultado de la aprobación. Adicionalmente el campo de Id se completará con el contenido dinámico que arroja la acción “PermisosId” (Imagen 11). 

 

Imagen 11 

1.6. El siguiente paso conecta el flujo con el correo con opciones, para esto se debe poner en el buscador Send email withh options 

Para configurar esta acción se debe seleccionar parámetros avanzados (imagen 12): 

  •  To: Seleccionar del contenido dinámico la opción correspondiente al correo del jefe inmediato. 
  • Header Text:  Aquí debe ir el tipo de solicitud y nombre de la persona que lo realiza 
  • Body: Aqui aparece el cuerpo de la solicitud con los detalles correspondientes. Para darle estilo al texto se debe copiar el siguiente código HTML: 

<p style=»font-family: Arial, sans-serif; font-size: 16px; color: #000;»> 

<strong>Hola [Nombre del jefe inmediato] ,</strong> 
</p> 
 
<p style=»font-family: Arial, sans-serif; font-size: 14px; color: #333;»> 
Por medio del presente solicito me sea aprobado el siguiente permiso: [Tipo de permiso] 
</p> 
 
<table style=»border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; font-size: 14px; color: #333;»> 
<tr> 
<td style=»border: 1px solid #ddd; padding: 8px; background-color: #f9f9f9;»><strong>Fecha inicio del permiso:</strong></td> 
<td style=»border: 1px solid #ddd; padding: 8px;»>[Fecha de inicio del permiso]</td> 
</tr> 
<tr> 
<td style=»border: 1px solid #ddd; padding: 8px; background-color: #f9f9f9;»><strong>Fecha fin del permiso:</strong></td> 
<td style=»border: 1px solid #ddd; padding: 8px;»>[Fecha de finalización del permiso]</td> 
</tr> 
<tr> 
<td style=»border: 1px solid #ddd; padding: 8px; background-color: #f9f9f9;»><strong>Hora inicio:</strong></td> 
<td style=»border: 1px solid #ddd; padding: 8px;»>[Hora de inicio del permiso]</td> 
</tr> 
<tr> 
<td style=»border: 1px solid #ddd; padding: 8px; background-color: #f9f9f9;»><strong>Hora fin: </strong></td> 
<td style=»border: 1px solid #ddd; padding: 8px;»>[Hora de finalización del permiso]</td> 
</tr> 
<tr> 
<td style=»border: 1px solid #ddd; padding: 8px; background-color: #f9f9f9;»><strong>Modo de recuperación: </strong></td> 
<td style=»border: 1px solid #ddd; padding: 8px;»>[Observaciones]</td> 
</tr> 
</table> 
 
<p style=»font-family: Arial, sans-serif; font-size: 14px; color: #333;»> 
Atentamente, <br> 
<strong>[Nombre Completo del colaborador]</strong> 
</p> 
 

Imagen 12 

 

Para configurar los demás campos debes seleccionar las opciones que se muestran en la imagen 13 

Imagen 13 

1.7. Paralelamente se agrega una nueva acción que es Send an email” que va a funcionar como notificación para RRHH, en esta se debe redactar un mensaje corto que indique que la persona solicitó un permiso y está pendiente por responder por parte del lider (Imagen 14). 

Imagen 14 

1.8. El flujo continúa con una Condición que se deriva de la acción send email with options, el operador lógico será AND, en el primer valor se debe seleccionar del contenido dinámico que arroja de la acción anterior body/SelectedOption (imagen 15) que es la opción elegida por el lider, después se elige el operador de comparación is equal to y el valor correspondiente seria APROBADO que se debe escribir tal y como se agregó en las opciones de respuesta (imagen 16). 

Imagen 15 

Imagen 16 

1.8.1. En caso de que la opción seleccionada es NO APROBADO, la condición se tomará como falsa y realizará las siguientes acciones: 

1.8.1.1. Update a rowActualizar una fila, en esta se actualiza el Estatus del permiso (imagen 17) 

Imagen 17 

1.8.1.2. Send an email, se envia un correo a la persona que lo solicito indicando que el permiso no fue aprobado. Se completa la información con el contenido dinámico y en BCC se pone el correo de RRHH para que también pueda tener la notificación respectiva (Imagen 18). 

Imagen 18 

 

1.8.2.  En caso de que la opción seleccionada es APROBADO, la condición se tomará como verdadera y realizará las siguientes acciones: 

1.8.2.1. Send email with options: esta acción es igual a la primera, pero cambia el “to” que en este caso corresponderá al correo de RRHH para que funcione como una doble aprobación. Las demás opciones dentro de la acción se configuran igual (ver imagen 12 e Imagen 13). 

1.9. El flujo continúa con una Condición que se configura igual que la condición anterior, el operador lógico será AND, en el primer valor se debe seleccionar del contenido dinámico que arroja de la acción anterior body/SelectedOption que es la opción elegida por el lider, después se elige el operador de comparación is equal to y el valor correspondiente seria APROBADO que se debe escribir tal y como se agregó en las opciones de respuesta (imagen 15 e imagen 16). 

1.9.1. En caso de que la opción seleccionada es NO APROBADO, la condición se tomará como falsa y realizará las siguientes acciones 

1.9.1.1. Update a rowActualizar una fila, en esta se actualiza el Estatus del permiso (Imagen 17). 

1.9.1.2. Send an emailse envia un correo a la persona que lo solicito indicando que el permiso no fue aprobado. Se completa la información con el contenido dinámico y en BCC se pone el correo de RRHH para que también pueda tener la notificación respectiva (Imagen 18). 

1.9.2. En caso de que la opción seleccionada es APROBADO, la condición se tomará como verdadera y realizará las siguientes acciones: 

1.9.2.1. Delayesta opción se añade para que se detenga el recorrido del flujo durante un periodo específico de tiempo que en este caso será de 90 segundos. Lo que permite que se tenga la información actualizada en la tabla y no sucedan errores. El tiempo se puede modificar de acuerdo con las necesidades (imagen 19).

Imagen 19 

 

1.9.2.2. Append StartTime and Append EndTime son acciones que permiten añadir información de la hora de inicio y finalización del permiso y están ligadas con las variables que se inicializaron en el  comienzo del flujo. Estas dos acciones son de tipo Append to string variable o Anexar a la Variable de Cadena (Imagen 20). 

Imagen 20 

 

Posteriormente se debe seleccionar StatTime o EndTime según corresponda y en el campo de valor seleccionar del contenido dinámico seleccionar la Hora de inicio para Append StartTime (Imagen 21) y Hora de finalización para Append EndTime (Imagen 22).

Imagen 21 

Imagen 22 

 

1.9.2.3 Actualizar una fila en la tabla de Excel, en este paso se actualiza el estatus con el resultado de la aprobación, que anteriormente había quedado como pendiente. Se debe conectar con el documento de Excel que se seleccionó en el paso anterior de añadir una fila (Imagen 23). 

Imagen 23 

1.9.2.4. Se continua con un delay que cumple la misma función que el anterior, es decir detener las acciones del flujo por un periodo de tiempo específico, para permitir que se actualice la tabla y prevenir la aparición de errores en el flujo. Como se mencionó anteriormente se puede elegir el tiempo y en este paso es de un minuto (ver Imagen 19). 

1.9.2.5. Enviar email, en este paso se personalizó el correo que se debe enviar al colaborador en caso de que la solicitud sea aprobada (Imagen 24). 

Imagen 24 

 

1.9.2.6. Posteriormente se agrega la acción de “List rows present in a table” sirve para poder obtener toda la información de la tabla. Se debe seleccionar en los parámetros avanzados Filter Query en el que se añade la expresión Id eq ‘Outputsque se utiliza para filtrar el Id único que se generó en un paso anterior (Imagen 25). 

Imagen 25 

1.9.2.7. Posteriormente se añade un Apply to each  que actúa con la lista de elementos de la acción anterior, es decir que esta acción permite buscar en el documento de Excel la información que se agregó desde el formulario y que en este caso va a estar relacionada con la fecha y hora (Imagen 26). 

Imagen 26 

1.9.2.8. Las últimas acciones son 4, Compose o Redactar y un evento en calendario que permiten dar formato a la hora y fecha del permiso y que este pueda ser añadido al calendario de ausentismo (imagen 27). 

Imagen 27 

 

1.9.2.9. La primera acción dentro del apply to each es un compose que llamaremos Parse start of permissión (Imagen 28), se encarga de darle formato a la hora del inicio del permiso. Se usa la siguiente expresión:  formatDateTime(variables(‘Starttime‘),’HH:mm:ss‘).  

 

Imagen 28 

1.9.2.10. La segunda acción se llamará Parse end of permission (imagen 29), el cual le da formato a la hora en la cual finaliza el permiso. Se usa la siguiente expresión:  formatDateTime(variables(‘Endtime‘),’HH:mm:ss‘). 

Imagen 29 

 

1.9.2.11. La tercera acción es un Compose y la nombramos Permission Start Date (Imagen 30) que permite darle formato a la fecha de inicio del permiso para que esta pueda ser añadida al calendario, la expresión también toma el output de la acción Parse Start of permision, para concatenar tanto la hora como la fecha  de inicio del permiso. 

Se agrega la siguiente expresión: 

 concat(addDays(‘1899-12-30’, int(items(‘Apply_to_each’)?[‘Fecha Inicio de Permiso’]), ‘yyyy-MM-dd’),’T’,outputs(‘Parse_Start_of_permission’)) 

Imagen 30 

 

1.9.2.12. La cuarta acción la nombramos Permission End Date (imagen 31) se encarga de darle formato a la fecha de finalización del permiso, en esta acción se añade el output de la acción parse end of permission. Donde se concatena la hora y fecha en la que finaliza el permiso. 

Se agrega la siguiente expresión: concat(addDays(‘1899-12-30’, int(items(‘Apply_to_each’)?[‘Fecha Fin de Permiso’]), ‘yyyy-MM-dd’),’T’,outputs(‘Parse_End_of_permission’)) 

Imagen 31 

1.9.2.13. Finamente la condición termina agregando un evento al calendario. Para esto se debe seleccionar el Id del calendario en que se quiere agregar el evento, en el campo de subject se debe agregar el tipo de permiso y el nombre del colaborador, seleccionado las opciones dinámicas que se extraen de la tabla de Excel (imagen 32). 

Imagen 32 

 

En Start time y End time se agregaran los outputs que arrojan las acciones anteriores. También se debe seleccionar en Time Zone la que corresponda, en este caso Bogotá y en el cuerpo del mensaje del evento agregaremos de las opciones dinámicas las observaciones que corresponden al modo de recuperación de horas cuando el permiso es para un trámite personal. Esta información se reflejará en el evento del calendario (imagen 33).

Imagen 33 

 

Con esta solución, se cuenta con una herramienta confiable para gestionar la solicitud de permiso de forma ordenada y sin contratiempos, permitiendo mayor control y trazabilidad en todo el proceso, permitiendo a Recursos Humanos enfocarse en tareas de mayor valor. 

Lleva tus Procesos al Siguiente Nivel con Pevaar 

Es el momento de dar el siguiente paso y aprovechar al máximo esta automatización, optimiza la gestión de permisos y otros procesos clave con la ayuda de nuestros expertos. Escríbenos y descubre cómo podemos apoyar a tu empresa. 

Compartir este artículo

Deja una respuesta

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