Cancelar solicitudes de aprobación pendientes antiguas con Power Automate

Cancelar solicitudes de aprobación antiguas enviadas desde Power Automate | Aprobaciones de Dataverse

Ya sea porque creamos demasiadas filas cuando estábamos probando o porque las solicitudes ya no son aplicables, el módulo de aprobaciones en Power Automate puede terminar con muchas solicitudes que no requieren acción:

unnamed (29)

In this blog we will show you how we can use Power Automate and Dataverse to cancel old requests. This is a crucial aspect of Consultoría de Microsoft Power Platform, asegurando que los flujos de trabajo permanezcan eficientes y ordenados.

Tabla de Contenidos

Alguna información de fondo.

Todos los datos relacionados con la aprobación las solicitudes enviadas desde el conector “Aprobación” en Power Automate se almacenan en una tabla de Dataverse. Puedes encontrar esta tabla en el portal de Dataverse:

unnamed (30)

Cuando se envía una nueva solicitud de aprobación (ya sea que la crees inmediatamente o esperes), se agrega un registro en esta tabla de Aprobaciones y cada solicitud tiene una ID única asignada cuando se crea. La ID única se devuelve en la columna “ID de Aprobación”.

unnamed (31)

Normalmente usamos la acción “crear una aprobación” por ejemplo cuando se agrega un nuevo elemento en SharePoint y requiere que alguien lo revise, para que podamos crear una columna en nuestra lista de SharePoint para almacenar este ID único para usarlo más tarde para enviar recordatorios, cancelar solicitudes antiguas o simplemente rastrear mejor qué registro pertenece a cada solicitud de aprobación.

Paso 1. Obtener todas las aprobaciones pendientes

Para este caso de uso, obtendremos todas las aprobaciones pendientes directamente de la tabla de Dataverse, pero si almacenamos el ID de aprobación en una columna de una base de datos separada, podemos usar este valor para realizar una acción directamente sobre esta aprobación. 

De la visión a la ejecución

Ya sea que estés empezando o escalando la automatización, te ayudamos a convertir tus ideas en soluciones impactantes.

Por ahora queremos cancelar cualquier solicitud pendiente que tenga más de 120 días. 

La columna que podemos usar para identificar las solicitudes abiertas es la “Razón del estado”, cualquier registro = “Pendiente” es una solicitud sobre la cual los aprobadores no han tomado ninguna medida. 

unnamed (32)

El primer paso en nuestro flujo de trabajo debería ser entonces una “Lista de filas” del conector de Dataverse. Necesitamos seleccionar la tabla “Aprobación” y luego agregar algunos filtros en el campo “filtrar filas”.

unnamed (43)
				
					statuscode eq 192350001 and createdon lt @{addDays(utcNow(),-120)} v
				
			
  • El nombre de la columna “Motivo del estado” es código de estado, y valor 192350001 corresponde a cualquier registro pendiente, por lo que este es el primer filtro que necesitamos (este será un valor y nombre de columna fijos para todos los inquilinos y entornos). 

  • Como segunda condición, filtraremos cualquier solicitud con una antigüedad superior a 120 días (este filtro depende de sus necesidades específicas).

El resultado de esta acción será una lista de todas las aprobaciones abiertas que se crearon hace más de 120 días.  

Nota: también puedes almacenar el ID de aprobación en una lista de SharePoint separada que se rellena cada vez que se crea y aprueba una solicitud, y usar la acción “Obtener elementos” para extraer el ID y el estado de aprobación. 

Paso 2. Cancelar solicitudes

Option 1 - Dataverse connector

Si tienes una cuenta premium, puedes usar el Dataverse conector para actualizar los registros con estado pendiente y cancelar las solicitudes de aprobación. 

Simplemente busca la acción “actualizar una fila”, selecciona la tabla “Aprobaciones” y en el campo ID de fila, simplemente selecciona la columna “Aprobación (identificador único)” de la lista de acciones de filas. 

Etapa: Completa 

Motivo del estado: Cancelado 

Estado: Inactivo 

unnamed (33)
unnamed (34)

Option 2 - HTTP With Microsoft Entra ID (Pre-authorized) connector

Find the HTTP con conector de Microsoft Entra ID (preautorizado)

unnamed (35)

Seleccione la acción “Invocar una solicitud HTTP”

unnamed (36)

 You will be prompted to create a new connection, use  https://approvals.teams.microsoft.com” as value

unnamed (37)

 A continuación, selecciona “ELIMINAR” como método. 

Encabezados: 

Aceptar: application/json 

¿Está listo para descubrir la alegría de la automatización?

Ya sea que tenga un proyecto en mente o simplemente quiera saber cómo podemos ayudar, estamos encantados de tener una conversación.

URL:

				
					/api/cancelApproval/@{items('Apply_to_each_2')?['msdyn_flow_approvalid']}?flowEnvironment=@{workflow()?['tags']?['environmentName']} 
				
			
unnamed (39)

Resultado Final:

unnamed (40)

Paso 3. Automatización de pruebas

unnamed (41)

And you’re all set! You can use this solution with Power Automate to get old approval requests and cancel them. This will also help approvers not see old pending requests in the “Approvals” module in Power Automate, this way we ensure this screen will only show them records they need to take actual action on.

La gestión eficiente del flujo de trabajo está en el núcleo de la utilización de Microsoft Power Platform. Al emplear a nuestros expertos Servicios de consultoría de Power Platform, puede optimizar procesos como la cancelación de solicitudes de aprobación obsoletas en Power Automate. Este enfoque garantiza que sus tareas operativas se mantengan eficientes y su espacio de trabajo organizado. Contáctenos para explorar cómo podemos mejorar su viaje de automatización empresarial.

¿Tienes preguntas? Contáctanosaquío en contact@powergi.net

Gestión antigua solicitudes de aprobación en Power Automate con Dataverse es esencial para mantener su entorno limpio. 

Autor
Consultor de Power Platform | Experto en Automatización de Procesos de Negocio
Profesional Certificado de Microsoft (Consultor y Arquitecto de Soluciones de Power Platform)