Power Automate: Cómo resolver el error Bad Gateway al actualizar elementos en SharePoint

Los errores en Low Code/No Code, suelen ser difíciles de depurar, sobre todo cuando los errores que recibimos son bastante genéricos o no dan pistas sobre el posible origen. Intentaré discutir y documentar los problemas que he encontrado con Bad Gateway y cómo los resolví.

TL;DR

Cuando recibes este error seguramente hay un error en el objeto que estás intentando actualizar, normalmente una fecha inválida o estás utilizando un Endpoint que no está soportado, bien sea porque ha sido descontinuado o porque no está soportado en los flujos clásicos.

Conectores en Power Automate y Logic Apps

Los conectores en Power Automate Flows y las Logic Apps suelen retornar errores bastante descriptivos, sin embargo, en los últimos meses me he encontrado con un error particular BadGateway (Bad Gateway).

Cuidado con las fechas

Luego de depurar un rato encontré que en el primer caso se trataba de una fecha incorrecta, el sistema de origen (una base de datos) tenía como valor estándar 0001-01-01T00:00:00.000Z que no está soportado en SharePoint, para corregirlo simplemente transformé cualquier fecha menor al 1ro de enero de 1900 a 1900-01-01T00:00:00.000Z.

Usando endpoints antiguos, descontinuados o no soportados

Me contactan de un cliente cliente con un problema muy particular, unos flujos de Power Automate dejaron de funcionar repentinamente, así que me piden que los revise. Para empezar son flujos bastante antiguos de los que no conocía.

Lo primero que noto es que no existe un error evidente en el Log, así que toca revisar las últimas ejecuciones a detalle y así familiarizarme con lo que hace el flujo, me habían comentado brevemente lo que hacían, pero nada más. Finalmente encuentro el bloque problemático, hay una llamada a SharePoint que utilizaba _vti_bin/ExcelRest.aspx. Lo curioso es que aproximadamente el 90-95% de los casos este bloque funcionaba correctamente hace unos 3 meses, luego el porcentaje de éxito se redujo hasta que ahora es cerca de 10-15%. Al probar la llamada en un script, todo funcionaba correctamente.

Luego de revisar documentación de Excel Services REST API, llegué a una conclusión, este servicio podría estar respondiendo con errores debido a que el mismo es Legacy. Así que en este caso, tocó ajustar el flujo para utilizar otra aproximación, en este caso un Office Script. La primera elección fue cambiar a Graph, sin embargo, esto requiere que existan tablas y tratándose de unas plantillas antiguas no era una opción viable convertir varias centenas de documentos, así que Office Script se convirtió en la alternativa accesible ya que permite manipular el documento de forma controlada y flexible.

Deja un comentario