Cleaners

Qué hace un Cleaner

Un Cleaner es un conjunto de reglas que se aplica a filas de datos: las filas que un Flow extrajo o una hoja de cálculo que subes. Estandariza formatos, convierte monedas y unidades, traduce texto, calcula columnas nuevas, busca valores en tus propios datos, marca valores atípicos, recoge valores de un revisor y puede disparar acciones cuando una fila rompe una regla.

La extracción responde “¿qué dice este documento?”. Un Cleaner responde “¿qué forma debe tener esto antes de entrar a nuestros sistemas?”: un solo formato de fecha, una sola moneda, números de parte vinculados a tu catálogo, un total que cuadra.

Un FlowUn Cleaner
Trabaja sobreUn documentoLas filas que produjo un Flow, o un CSV o Excel que subes
ProduceCampos extraídos sin procesarColumnas normalizadas, enriquecidas y validadas
Trabajo típicoLeer la facturaConvertir EUR a USD, cambiar el formato de las fechas, marcar el total que no cuadra
Se vincula aNada: es el punto de partidaCualquier cantidad de Flows (cada Flow tiene como máximo un Cleaner), o se ejecuta solo

Cada ejecución de un Cleaner sobre un lote de filas se llama limpieza (en inglés, sweep).

Crear un Cleaner

Haz clic en Crear Cleaner en la página de Cleaners. Tavnit primero pregunta “¿De dónde vienen los datos?” y ofrece cuatro puntos de partida.

OpciónQué pasa
Desde un flowElige el Flow cuya salida recibirá este Cleaner. Sus campos de salida se convierten en los campos base, y el nombre se sugiere a partir del Flow.
Desde un archivoSube un CSV o Excel de ejemplo. Su fila de encabezados se convierte en los campos base.
Desde plantillaDuplica uno de tus Cleaners existentes, con todos sus campos y ajustes, y edita la copia.
Desde ceroAbre el constructor completo y define todo a mano.

Con Desde un flow y Desde un archivo, el siguiente paso también ofrece Sugerir reglas de limpieza con IA. Si lo dejas apagado, el Cleaner se crea solo con los campos base. Si lo activas, puedes describir qué quieres limpiar o calcular (por ejemplo “Normaliza los nombres de proveedores y deja el RUC sin guiones”) y luego hacer clic en Sugerir reglas.

Cómo funcionan las reglas sugeridas por IA

La IA estudia tus columnas y valores reales de ejemplo (en un Flow, filas de su último Run completado) y arma reglas como formato con IA, formatos de fecha y número, fórmulas, categorías, condicionales y conversiones. Puedes desmarcar cualquier sugerencia o abrirla en el mismo editor que usa el constructor; una regla marcada “Necesita ajuste” hay que corregirla antes de que sea válida. Todo queda editable después de crear el Cleaner.

Desde cero abre el constructor, donde le pones nombre al Cleaner y recorres las mismas secciones que tiene la página de detalle:

  1. 1Campos Base. Elige una Fuente de Datos: Manual para definir las columnas desde cero, Desde Flow para importar los campos de salida de un Flow, o Desde Archivo para leer la fila de encabezados de un CSV o Excel. Se necesita al menos un campo.
  2. 2Campos calculados. Agrega cualquiera de los tipos de campo de la referencia de abajo. Es opcional: un Cleaner con solo campos base es un paso directo válido.
  3. 3Salidas. Una dirección de correo y una URL de webhook para las limpiezas que el Cleaner ejecuta por su cuenta. Opcional.
  4. 4Omitir Filas. Descarta las primeras N filas o las filas vacías de las cargas. Opcional.

Para que cada Run de un Flow se limpie automáticamente, vincula el Cleaner a ese Flow: marca Vincular este Cleaner al Flow cuando construyes desde un Flow, o elige el Cleaner en el ajuste Cleaner del Flow. Un Flow solo puede tener un Cleaner; un Cleaner puede servir a varios Flows, que aparecen en Flows Vinculados en su página de detalle. Crear y editar Cleaners requiere el rol de Admin u Owner.

Mantén los campos base al día con el Flow

Si cambian los campos de un Flow vinculado, usa Sincronizar desde Flow (o Resincronizar campos junto al Flow en Flows Vinculados). Te muestra qué es nuevo en el Flow, qué cambió de tipo y qué ya no existe, y aplica las diferencias. Eliminar una columna es opcional, y los campos calculados que la referencien deben actualizarse a mano.

Referencia de tipos de campo

Cada columna de un Cleaner tiene un tipo que decide qué hace. La página de detalle los agrupa en su panel izquierdo bajo Entrada y Calculados, con un conteo para cada uno. Este es el conjunto completo, en el orden en que la app los muestra.

La página de detalle de un Cleaner de Tavnit. El panel izquierdo lista los tipos de campo (Base Fields, AI Formatted, Date Format, Number Format, Calculated, Category, HS Code, Lookup, Bucket Check, Conditional Actions, Conditional, Currency, Translation, Unit Conv. y Summary) con un conteo al lado de cada uno, junto a la lista de campos base del Cleaner.
Los tipos de campo se agrupan en el panel izquierdo del Cleaner, con un conteo que muestra cuántos de cada uno usa este Cleaner.
Tipo de campoQué produce
Campos BaseUna columna de los datos de entrada, que pasa tal cual a la salida.
Formato IAUna reescritura con IA según tus instrucciones: normalizar el nombre de un proveedor, ordenar una dirección, estandarizar una descripción. Lee las columnas de entrada que elijas, o la fila completa.
Formateo FechaUna columna de fecha convertida a un único formato de salida, con conversión opcional por IA para los valores que el formato de entrada no puede leer.
Formateo NúmeroUna columna numérica con un número fijo de decimales (de 0 a 6) y los separadores de miles y decimales que elijas.
CalculadoUn valor obtenido con una fórmula aritmética a partir de otras columnas de la misma fila.
CategoríaUna clasificación con IA dentro de una lista fija de al menos dos opciones que tú defines: tipo de gasto, departamento, prioridad.
Código ArancelarioUna clasificación arancelaria con IA según el arancel de Panamá (SA 2022).
Entrada HumanaUna columna que un revisor llena durante la revisión humana, como texto libre o desde un menú. Consulta más abajo.
BúsquedaUn valor tomado de un Bucket al cruzar esta fila con él (un precio de catálogo, un código de cliente), con un valor de respaldo cuando nada coincide. Las condiciones de coincidencia pueden comparar valores exactos o usar coincidencia por IA.
Verificación (Existe en Bucket)Un sí o no que indica si esta fila ya existe en un Bucket. Útil para eliminar duplicados.
Acciones CondicionalesNo es un valor: es una regla que dispara acciones cuando una fila coincide. Consulta más abajo.
CondicionalUn valor si/si no: ramas si, si no si y si no que evalúan el contenido de la fila, cada una con su propio valor de salida.
MonedaUn monto convertido a una moneda de destino, con una tasa en vivo o una tasa fija que tú defines. La moneda de origen se puede detectar automáticamente.
TraducciónTexto traducido a un idioma de destino, con la opción de conservar el formato y de omitir las filas que ya están en ese idioma.
Conv. UnidadesUna medida convertida entre unidades: masa, longitud, volumen, temperatura, área, velocidad o tamaño de datos.
ResumenUn solo agregado calculado sobre todas las filas de la limpieza, escrito en cada fila.
Anomalíastrue/false para los valores que se alejan del resto de la limpieza. Determinista, sin IA.
Cálculo de FechasDías, semanas, meses o años entre dos fechas, o una fecha desplazada desde hoy o desde una columna. Determinista, sin IA.
Reemplazar la columna o agregar una nueva

La mayoría de los campos calculados tienen un modo de salida. Replace column sobrescribe una columna en su lugar: eliges la columna y el campo toma su nombre. New column conserva la original y escribe el resultado al lado, con el nombre que elijas. Conserva la original cuando un revisor necesite ver lo que el documento decía realmente, por ejemplo al convertir moneda.

Cualquier campo se puede marcar como Excluir de la salida: sigue disponible para las columnas calculadas, pero no aparece en lo que entrega el Cleaner. Así usas un valor intermedio (un monto sin procesar, una clave de búsqueda) sin enviarlo más adelante.

Opciones de formato y conversión

Los tipos de formato y conversión tienen cada uno un pequeño conjunto de ajustes. Estos son los que cambian el resultado.

Tipo de campoAjustes
Formateo FechaFormato de entrada (dd/mm/yyyy o mm/dd/yyyy) y de salida (yyyy-MM-dd, dd/MM/yyyy, MM/dd/yyyy o MMM d, yyyy). Activa la conversión por IA (AI conversion) y los valores que el formato de entrada no puede leer, en cualquier idioma o notación, se convierten con IA al formato de salida. Si agregas instrucciones especiales opcionales (por ejemplo “fecha de origen + 40 días”), todos los valores se procesan con IA.
Formateo NúmeroDecimales, separador de miles (ninguno, coma, punto o espacio) y separador decimal.
Formato IALas columnas de entrada que lee la IA (si no eliges ninguna, se usa la fila completa) e instrucciones que describen la transformación.
CategoríaLas opciones, las columnas que evalúa la IA (si no eliges ninguna, se usa la fila completa) e instrucciones opcionales.
MonedaMoneda de origen (o detección automática), moneda de destino, y tasa en vivo o tasa fija. En modo en vivo, el editor muestra la tasa actual.
TraducciónIdioma de origen y de destino, conservar el formato, y traducir solo si el texto no está ya en el idioma de destino.
Conv. UnidadesCategoría, unidad de origen (o detección automática) y unidad de destino.

Acciones Condicionales

Un campo de Acciones Condicionales es una regla: cuando una fila cumple estas condiciones, haz estas cosas. Es el único tipo de campo que cambia lo que pasa con los datos en lugar de lo que contiene una celda, y es la forma de que una falla de validación se convierta en algo más que un número en una tabla.

AcciónQué hace
Skip RowElimina por completo la fila de la salida: la forma de filtrar subtotales, líneas vacías y encabezados basura.
Human in the LoopPausa el Run del Flow para revisión humana y asigna a los revisores que indiques en la acción. Las filas y los campos que coinciden quedan marcados en la pantalla de revisión.
Send EmailEnvía una notificación a los destinatarios que indiques, con el asunto y el cuerpo que escribas. Un envío por regla y por limpieza, no uno por cada fila que coincide.
Send WebhookEnvía una notificación por POST a la URL que indiques. Mismo comportamiento de un envío por regla.
Edit Bucket RowEscribe un valor de vuelta en la fila del Bucket que encontró un campo de Búsqueda: marcar un pedido como recibido, descontar inventario, cambiar un estado. La página de la limpieza lista cada celda modificada en Cambios en Buckets.

Las condiciones se agrupan, y los grupos se combinan con AND u OR, así que puedes expresar cosas como (total > 10,000 O la moneda no es USD) Y el proveedor no está en la lista aprobada. Las condiciones también pueden leer columnas calculadas, incluidos los campos de Resumen y de Anomalías. Una regla sin ninguna condición se dispara en todas las filas.

Las notificaciones se envían aunque el Run se rechace

Las acciones de correo y webhook se envían en cuanto la regla coincide, antes de cualquier pausa de revisión. Es intencional: avísame cuando esto pase no debería depender de si un revisor aprueba el Run después. También se envían en las limpiezas independientes; la acción Human in the Loop solo aplica a los Runs de un Flow, porque una limpieza independiente no tiene paso de revisión.

Ejemplo práctico. En un Cleaner de facturas, agrega un campo de Acciones Condicionales con dos reglas. La primera detecta las filas donde el total de la línea no es igual a cantidad × precio unitario y envía el Run a Human in the Loop. La segunda detecta cualquier factura por encima de tu umbral de aprobación y le envía un correo al responsable de finanzas. Todo lo demás pasa directo al Bucket sin que nadie lo toque.

Campos calculados y fórmulas

Un campo Calculado evalúa una expresión aritmética sobre la fila en la que está. Referencia otras columnas por nombre entre llaves y, si quieres, empieza la fórmula con un signo igual: tanto ={Quantity} * {Unit Price} como {Quantity} * {Unit Price} funcionan.

CompatibleNotas
+ − * / % **Suma, resta, multiplicación, división, residuo, potencia. Los paréntesis agrupan como siempre.
{Field Name}Una referencia a otra columna de la misma fila, incluidos otros campos Calculados y de Resumen. Los espacios en el nombre no son problema.
Números escritos como textoSe convierten automáticamente, así que “1,234.50” se comporta como un número.
Celdas vacíasCuentan como cero, así que una columna opcional que falta no rompe la fila.
Formato del resultadoDecimales y separadores opcionales para el resultado que se muestra (Format result). El valor sigue siendo numérico, así que los campos con formato siguen sirviendo en otras fórmulas.

Las fórmulas son solo aritméticas: no hay funciones, ni operaciones de texto, ni condicionales. Para lógica si/si no usa un campo Condicional; para totales entre filas usa un campo de Resumen; para aritmética de fechas usa Cálculo de Fechas. Dividir entre cero deja esa celda vacía y registra un error en la fila, así que protege las columnas que pueden valer cero legítimamente.

Campos de Resumen

Los campos de Resumen agregan sobre todas las filas de la limpieza en lugar de calcular por fila, y escriben el resultado en cada fila. Responden “¿cuál es el total de este documento?” sin que tengas que sumar las filas más adelante.

AgregaciónResultado
SumTotal de una columna numérica
AveragePromedio de una columna numérica
Minimum / MaximumEl valor más pequeño y el más grande
MedianValor central de una columna numérica
Count (non-empty)Cuántos valores tiene la columna
Count distinctCuántos valores distintos aparecen
  • Incluir solo las filas que coinciden: grupos de condiciones opcionales, para sumar solo las filas de una categoría o un estado.
  • Formato del resultado: decimales y separadores opcionales, como en los campos Calculados. El valor sigue siendo numérico.
  • Celdas con varios valores: cuando una columna tiene varios valores por fila (un campo de varios valores de un Flow, como cada línea de descuento de un recibo de sueldo), cada valor cuenta. Sum los suma todos, Count cuenta cada uno y Average divide entre la cantidad de valores.
  • Los resultados de Resumen se pueden usar en fórmulas y en las condiciones de Acciones Condicionales.

Campos de Entrada Humana

Un campo de Entrada Humana es una columna que nadie extrae: un revisor escribe o elige su valor en la pantalla de revisión. Úsalo para información que no está en el documento, como el almacén al que va una entrega o un código de aprobación.

  • Tipo de entrada: Free text (texto libre) o Menu. Un menú toma sus opciones de los valores distintos de una columna de un Bucket, opcionalmente filtrados por condiciones sobre otras columnas del Bucket o sobre los valores de la fila actual.
  • Value is mandatory (valor obligatorio): si está activo, la aprobación se bloquea hasta que todas las filas tengan un valor. Desactívalo para permitir valores vacíos.
  • Revisores: elige al menos uno. Se suman a los revisores del Run.
Todos los Runs del Flow pasan por revisión

Mientras un Cleaner tenga un campo de Entrada Humana en su salida, cada Run de un Flow que pase por ese Cleaner se pausa para revisión humana, sin importar cómo vengan los datos. Las limpiezas independientes no tienen paso de revisión y entregan la columna vacía. Un campo de Entrada Humana excluido de la salida no tiene efecto.

Anomalías

Un campo de Anomalías (Detección de Anomalías) marca las filas cuyo valor en una columna se aleja del resto de la limpieza: una cantidad muy distinta a las demás, o un código de una categoría que casi nadie más usa. Devuelve true cuando el valor se aleja del resto y false en otro caso. Es determinista y no usa IA.

AjusteQué hace
Columna a revisarCualquier columna anterior, incluidas las calculadas como Código Arancelario o Calculado.
DetecciónAutomático (las columnas numéricas usan detección de atípicos, el resto detección de valores raros), Valores numéricos atípicos o Valores raros.
Valores numéricos atípicosCompara cada valor con la mediana de la limpieza usando una dispersión robusta, así un atípico no puede esconderse. Ajusta el Umbral de sensibilidad (más alto significa menos marcas) y la Dirección: Ambos lados, Solo inusualmente bajos o Solo inusualmente altos.
Valores rarosMarca los valores cuyo grupo queda por debajo del porcentaje de filas que definas (Raro por debajo de). Usa Comparar primeros N caracteres para agrupar códigos, por ejemplo 2 para capítulos del SA o 4 para partidas.
Comparar dentro deOpcionalmente, juzga cada valor solo contra las filas que comparten el valor de otra columna.
Mínimo de filasLas limpiezas con menos valores que este no marcan nada.

Un campo de Anomalías solo produce una marca. Para actuar sobre ella, agrega una regla de Acciones Condicionales como este campo es igual a true → Human in the Loop. Luego la pantalla de revisión muestra el motivo de cada valor marcado.

Cálculo de Fechas

Un Cálculo de Fechas hace aritmética de fechas en cada fila, de forma determinista y sin IA. Tiene dos modos.

CálculoDevuelve
Diferencia entre dos fechasUn número entero de unidades desde Inicio hasta Fin (Fin − Inicio), negativo cuando Fin es anterior. Inicio y Fin pueden ser cada uno una columna u Hoy, pero no ambos Hoy. Úsalo para los días que faltan para un vencimiento, o una edad.
Desplazar una fechaUna fecha (AAAA-MM-DD) movida hacia adelante o hacia atrás una cantidad entera de días, semanas, meses o años, desde una columna o desde Hoy. Una cantidad negativa la mueve hacia atrás.
  • Unidades para una diferencia: Días, Semanas (solo semanas completas), Meses (completos), como una edad, Meses calendario (cambios de mes, sin importar el día) y Años (completos).
  • Hoy es la fecha de tu organización cuando se procesan los datos.
  • Una fecha vacía da una celda vacía. Combina el resultado con un campo Condicional (por ejemplo dias_para_vencer >= 30 → sí, si no → no) para marcar filas.

Clasificación arancelaria

El campo Código Arancelario asigna un código arancelario de aduana a cada fila a partir de la descripción del producto. Recorre el arancel de Panamá (SA 2022): sección, luego capítulo, luego partida y luego la línea arancelaria nacional, en lugar de buscar coincidencias entre la descripción y una lista de códigos.

  • Benchmark Fields (campos de referencia): las columnas que lee el clasificador, normalmente la descripción del producto, a veces junto con el material o el uso. Si no eliges ninguna, se usa la fila completa.
  • Instrucciones para la IA: los casos que tu catálogo clasifica mal, como qué hacer con kits, repuestos o mercancías que podrían ir en dos capítulos.
  • Section preselect (recomendado): empieza la clasificación por las 22 secciones del SA antes de los capítulos.
  • Output Format: solo el código (por ejemplo 0101.29.00.00.00) o el código con su descripción.
  • Cada fila se clasifica de forma independiente, así que una fila difícil no afecta a las demás.
Es una clasificación, no un dictamen

La clasificación arancelaria es una decisión de criterio que toman las autoridades aduaneras. Trata el resultado como un primer paso sólido que hay que verificar, no como una declaración lista para presentar. Es un buen candidato para un campo de Anomalías sobre los primeros caracteres del código, o para revisión humana antes de la entrega.

Dar forma a la salida y entregarla

Después de las columnas calculadas, un Cleaner puede descartar filas basura, elegir y ordenar las columnas que entrega, pasar datos largos a formato ancho y enviar el resultado a una dirección de correo o a un webhook.

AjusteQué hace
Omitir FilasNo omitir filas, omitir las primeras N filas u omitir las filas vacías de las cargas manuales antes de limpiar: para hojas de cálculo con filas de título encima del encabezado.
Campos de SalidaElige qué campos aparecen en la salida limpia y en qué orden: arrástralos para definir el orden de las columnas. Ese orden es el orden de las columnas en todos los lugares a donde va la salida. Al menos un campo debe quedar incluido.
PivotEntrega las filas en formato ancho: una columna por cada valor distinto de una columna de etiquetas (por ejemplo, tallas), llena con los valores de otra columna. Consulta más abajo.
Salida por EmailEnvía el resultado limpio a esta dirección después de cada limpieza que el Cleaner ejecuta por su cuenta.
WebhookEnvía el resultado limpio por POST a esta URL después de cada limpieza que el Cleaner ejecuta por su cuenta. Solo HTTPS. Consulta webhooks.
Qué limpiezas usan las salidas propias del Cleaner

La Salida por Email y el Webhook del Cleaner entregan las limpiezas que ejecuta por su cuenta: las cargas con Limpiar Dataset y las limpiezas por API. La limpieza de un Run de un Flow se entrega por la salida de email y el webhook de ese Flow, así nadie recibe el mismo documento dos veces.

Pivot es el formato de entrega, no solo una vista. Elige la Columna a explotar, la columna de Valores desde, cómo Agrupar filas por (todas las demás columnas automáticamente, o las columnas que elijas) y qué hacer cuando una etiqueta se repite dentro de un grupo: sumar los valores, mantener el primer valor, o mantener el primer valor y marcar una advertencia. Las Columnas de resumen opcionales (Suma, Promedio, Mínimo, Máximo o Conteo) se calculan por fila sobre las columnas expandidas y aparecen en el extremo derecho. En Aplicar a, elige el payload del webhook, la salida por email y las descargas; con las descargas activadas, la página de la limpieza abre en la vista pivotada.

El pivot no llega a los Buckets

Las filas almacenadas se mantienen en formato largo, y las exportaciones a Buckets siempre reciben las filas sin pivotar, así la tabla guardada conserva una fila por registro.

Limpiezas

Una limpieza es una ejecución de un Cleaner sobre un lote de filas.

Cómo empieza una limpiezaCuándo usarla
Vinculada a un FlowCada Run de ese Flow se limpia en cuanto termina la extracción. Es la configuración normal.
Limpiar DatasetSube un archivo CSV, XLSX o XLS con el botón Limpiar del Cleaner (o Limpiar Dataset en la página de Cleaners): una lista de precios de un proveedor, una exportación de un sistema anterior.
APIEnvía un archivo o filas en JSON al Cleaner desde tus propios sistemas. Consulta más abajo.

La página de una limpieza

Abre cualquier limpieza desde el Historial de Limpiezas del Cleaner para ver exactamente qué hizo. La página se actualiza en vivo mientras la limpieza se procesa.

  • Estado (Procesando, Completado, Fallido o Cancelado) con las Filas y el Origen de la limpieza.
  • Advertencias: problemas por fila, como una fórmula que dividió entre cero o un valor que no se pudo leer como número. Cada problema queda ligado a la fila que lo causó, así una fila mala no hace fallar la limpieza.
  • Información de la Limpieza: el Cleaner, cuándo se creó la limpieza, y el Run de Origen y el Flow cuando vino de un Flow.
  • La tabla de datos, con un selector Limpiados / Pivotado / Sin Procesar para comparar la salida con lo que entró, y Expandir para verla a pantalla completa. Puedes seleccionar y copiar celdas.
  • Exportación a CSV y JSON de la vista actual. Con un pivot aplicado a las descargas, la exportación tiene la forma pivotada.
  • Salidas: un registro de cada entrega (correo, webhook, notificaciones) y si tuvo éxito.
  • Cambios en Buckets: cada celda de Bucket que cambiaron las acciones Edit Bucket Row de la limpieza.

Ejecutar un Cleaner desde la API

Un Cleaner puede ejecutarse por su cuenta desde tus sistemas, sin ningún Flow de por medio. Copia su ID en el panel ID del Cleaner y autentícate con tu clave de API.

EndpointQué hace
POST /api/sweeps/runCarga multipart de un archivo CSV o XLSX con cleaner_id y file (sheet_name es opcional).
POST /api/cleaners/<cleaner_id>/processLo mismo, y además acepta las filas como JSON ({"rows": [...]}) en lugar de un archivo.

Ambos devuelven HTTP 202 con un sweep_id. Cuando la limpieza termina, la Salida por Email y el Webhook del propio Cleaner entregan las filas limpias. Consulta la página de la API para la autenticación y la forma de la respuesta.

Dónde se ubica un Cleaner en el pipeline

La limpieza ocurre después de la extracción y antes de la entrega. Ese orden importa: todo lo que viene después (la pantalla de revisión, el payload del webhook, las filas del Bucket, las variables de entrada de un Agente) ve la salida limpia, no la extracción sin procesar.

  1. 1El Flow extrae las filas del documento.
  2. 2El Cleaner vinculado limpia esas filas: formatos, conversiones, búsquedas, columnas calculadas.
  3. 3Se disparan las Acciones Condicionales: se descartan filas, salen notificaciones y puede pedirse una revisión. Un campo de Entrada Humana siempre pide revisión.
  4. 4Si se activó la revisión, el Run se pausa y un revisor ve la tabla limpia.
  5. 5Al terminar, los resultados se entregan por las salidas del Flow: correo, webhook, Bucket, llenado de formulario o un Agente encadenado.

El Mapa de Pipeline muestra esto para tu propio espacio de trabajo, incluidos los Flows que comparten un Cleaner.

Solución de problemas

ProblemaQué revisar
Una columna sale vacíaAbre las Advertencias de la limpieza. Una Búsqueda sin coincidencia devuelve su valor de respaldo (o nada); una fórmula que dividió entre cero deja la celda vacía.
Falta una columna en la salidaPuede estar excluida en Campos de Salida, o es una regla de Acciones Condicionales, que nunca produce una columna.
El webhook del Cleaner no se disparó en un Run de un FlowEs lo esperado: los Runs de un Flow se entregan por las salidas del propio Flow. La Salida por Email y el Webhook del Cleaner cubren las limpiezas de Limpiar Dataset y de la API.
Todos los Runs de un Flow pasan por revisiónEl Cleaner tiene un campo de Entrada Humana en su salida, o una regla de Acciones Condicionales sin condiciones envía todo a Human in the Loop.
Un campo calculado lee una columna que el Flow ya no produceUsa Sincronizar desde Flow y luego actualiza los campos calculados que referenciaban la columna eliminada.
Las filas del Bucket no están pivotadasEs lo esperado: las exportaciones a Buckets siempre reciben filas sin pivotar.