Cuando ejecuta un flujo de Power Automate que actualiza un elemento de una lista de SharePoint, el flujo puede fallar con un mensaje de error genérico como “Bad Gateway” o “Item does not exist”. Una causa oculta común es una columna obligatoria que el flujo no proporciona. SharePoint aplica los requisitos de columna durante las actualizaciones igual que durante la creación de nuevos elementos. Este artículo explica por qué las columnas obligatorias bloquean las actualizaciones de Power Automate y le muestra cómo identificar y solucionar el problema.
Puntos clave: columnas obligatorias que bloquean Power Automate
- Acción Update item del flujo de Power Automate: Falla si falta alguna columna obligatoria en la entrada de la acción, incluso si la columna ya tiene un valor en la lista.
- Configuración de la lista de SharePoint > Validación de columnas: Las columnas obligatorias aplican la misma regla durante las actualizaciones que durante la creación; Power Automate debe incluir la columna.
- Solución alternativa: use la acción Send an HTTP request to SharePoint: Omite la aplicación de los requisitos de columna cuando se envía una solicitud PATCH solo con los campos que se desean cambiar.
Por qué las columnas obligatorias bloquean las actualizaciones de Power Automate
Las columnas de lista de SharePoint marcadas como Require that this column contains information aplican una regla de validación en el nivel del servidor. Cuando Power Automate usa la acción Update item, envía una solicitud POST o MERGE que SharePoint interpreta como un intento de actualización completa. Si el cuerpo de la solicitud no incluye la columna obligatoria, SharePoint devuelve un error HTTP 400 o 403 y el flujo falla.
Este comportamiento es por diseño. SharePoint no distingue entre un elemento nuevo y uno existente al validar columnas obligatorias: comprueba cada operación de escritura. La acción Update item de Power Automate no incluye automáticamente todos los valores de columna existentes. Solo envía las columnas que se asignan explícitamente en la acción. Si se omite una columna obligatoria, el servidor rechaza la actualización.
El problema es más común cuando:
- Un administrador de la lista agrega una nueva columna obligatoria después de que los flujos ya están en ejecución.
- Un flujo actualiza un subconjunto de columnas y el diseñador olvida incluir una columna obligatoria existente.
- Una columna de búsqueda o de opción se establece como obligatoria y el flujo usa un valor dinámico que se resuelve como null.
Pasos para identificar y solucionar el problema de la columna obligatoria
Siga estos pasos para encontrar la columna que bloquea y actualizar el flujo.
- Revise el historial de ejecuciones del flujo
En Power Automate, abra el flujo y seleccione Run history. Busque la ejecución fallida y haga clic en ella. En Action outputs, busque la acción Update item. El mensaje de error suele indicar el nombre de la columna que causó el error. Los textos de error comunes incluyen “Required field” o “The specified column is required”. - Abra la configuración de la lista de SharePoint
Vaya al sitio de SharePoint que hospeda la lista. Abra la lista, haga clic en el icono de engranaje y seleccione List settings. En Columns, busque las columnas con una marca de verificación en la columna Required. Anote el nombre de cada columna obligatoria. - Compare las columnas obligatorias con las entradas de la acción del flujo
Vuelva a Power Automate. Abra el flujo en modo de edición. Haga clic en la acción Update item. Revise cada campo de la sección Advanced parameters. Compare la lista de columnas asignadas con las columnas obligatorias del paso 2. Cualquier columna obligatoria que falte en la acción bloqueará la actualización. - Agregue la columna obligatoria que falta al flujo
En la acción Update item, haga clic en Show advanced options si está contraída. Busque la columna que falta en la lista de parámetros. Si la columna no aparece, haga clic en Add new parameter y seleccione el nombre de la columna. Proporcione un valor. Para un elemento existente, puede usar la acción Get item antes de la actualización para recuperar el valor actual y pasarlo. - Agregue una acción Get item antes de la actualización
Inserte una acción Get item encima de la acción Update item. Configúrela con la misma lista y el mismo ID de elemento. Luego, en la acción Update item, establezca la columna obligatoria que falta en el valor de Get item. Esto garantiza que se conserve el valor existente mientras se actualizan otros campos. - Pruebe el flujo
Guarde el flujo y ejecútelo con un elemento de prueba. Revise el historial de ejecuciones para confirmar que la actualización se realiza correctamente. Si el flujo sigue fallando, repita los pasos 1 a 5: puede haber más de una columna obligatoria faltante.
Si Power Automate sigue fallando después de agregar las columnas obligatorias
El error “Bad Gateway” persiste
Un error Bad Gateway suele indicar un problema de tiempo de espera o conectividad, no un problema de validación de columnas. Compruebe la carga del servidor de SharePoint y vuelva a intentar el flujo. Si el error continúa, use la acción Send an HTTP request to SharePoint como alternativa.
El flujo actualiza el elemento incorrecto o ningún elemento
La acción Update item requiere un ID de elemento válido. Si el ID es dinámico, verifique que la acción anterior devuelva el ID correcto. Use una acción Compose para generar el ID y compruébelo en el historial de ejecuciones.
El valor de la columna es un campo de búsqueda o de persona
Las columnas de búsqueda y de persona requieren el ID interno del elemento al que se hace referencia, no el nombre para mostrar. Si se pasa un nombre para mostrar, el flujo puede fallar aunque la columna no sea obligatoria. Use la acción Get item para recuperar el ID correcto para la actualización.
Acción Update Item frente a Send an HTTP Request to SharePoint
| Elemento | Acción Update Item | Send an HTTP Request to SharePoint |
|---|---|---|
| Método usado | POST o MERGE | PATCH (normalmente) |
| Aplicación de columnas obligatorias | Se aplica: se deben proporcionar todas las columnas obligatorias | No se aplica: solo se proporcionan las columnas que se desean cambiar |
| Manejo de errores | Falla con 400/403 si falta una columna obligatoria | Se actualiza correctamente aunque se omita una columna obligatoria |
| Caso de uso | Actualizaciones simples en las que se conocen todas las columnas obligatorias | Actualizaciones parciales o cuando las columnas obligatorias cambian con frecuencia |
La acción Send an HTTP request to SharePoint usa la API REST de SharePoint directamente. Una solicitud PATCH actualiza solo los campos que se incluyen en el cuerpo JSON. SharePoint no aplica la validación de columnas obligatorias en las solicitudes PATCH. Esta acción es una solución alternativa fiable cuando no se puede modificar la configuración de la columna obligatoria o cuando se desea minimizar la complejidad del flujo.
Para usar esta acción, configure Site Address y Method como PATCH. En el campo Uri, escriba _api/web/lists/getbytitle('Your List Name')/items(Item ID). En Headers, agregue IF-MATCH con el valor y Content-Type con el valor application/json;odata=verbose. En Body, proporcione un objeto JSON solo con los campos que desea cambiar, por ejemplo: { "Title": "New Value" }.
Ahora ya sabe por qué una columna obligatoria bloquea las actualizaciones de Power Automate y cómo solucionarlo. Comience revisando el historial de ejecuciones del flujo y comparando las entradas de la acción con las columnas obligatorias de la lista. Si necesita actualizar solo unos pocos campos sin proporcionar todas las columnas obligatorias, cambie a la acción Send an HTTP request to SharePoint con el método PATCH. Este enfoque ahorra tiempo y evita fallos futuros cuando cambian las columnas obligatorias.