5 de septiembre de 2026
Workshop · De idea a workflow
El material completo del workshop de Buenos Aires. Setup, planilla, los cuatro workflows, los prompts y los siete casos de prueba.

Este es el material completo del workshop, no un resumen. Todo lo que se usó el sábado a la mañana está acá: los links de setup, la planilla, los cuatro workflows y los prompts.
Buenos Aires, 5 de septiembre de 2026. Tres horas, tres bloques, se construye en vivo.
Buscá lo que necesitás
- Antes de empezar, los tres links de setup
- El caso, Frigorífico del Oeste, el tablero y las slides
- La planilla, la copia y las dos pestañas
- Los cuatro workflows, canvas y JSON para importar
- Los prompts, los system messages y los esquemas
- Los siete casos de prueba, qué romper y con qué
- Lo que quedó afuera, y por qué
- Seguir, el grupo y las guías del sitio
Antes de empezar
Tres cuentas. Ninguna necesita tarjeta para lo que hacemos hoy.
1 · n8n
Entrá, activá la prueba gratis y dejá abierto un workflow en blanco. Eso es todo lo que hace falta para arrancar el bloque 1.
2 · Kapso
Es la capa que se apoya sobre un número de WhatsApp que ya existe. Registrate y conseguí un número de prueba. Recién se usa en el bloque 3.
3 · Google AI Studio
Generá la key y guardala en algún lado a mano. Es el único lugar del workshop donde hay IA, y se usa desde el bloque 2.
El caso
El Frigorífico del Oeste le vende a ochenta carnicerías en cuenta corriente. Entre cuarenta y setenta comprobantes de transferencia entran por día, todos por el mismo WhatsApp, mezclados con pedidos, reclamos y consultas. Marcela los mira, los carga a mano en una planilla cuando tiene un rato, y esa carga se lleva dos o tres horas por día. El pedido que llegó fue "necesito un bot de WhatsApp que atienda a los clientes". Ese es el pedido, no es el problema. El problema es que el puente entre la conversación y el registro es una persona, y por eso la velocidad depende de si está disponible, la confiabilidad de si lo vio entre doscientos mensajes, y la consistencia de si estaba cansada.
El tablero de Miro, con los cuatro recorridos: todo entra por el mismo lugar, dónde se pierde, cómo debería entrar, y qué necesita un modelo de verdad.
La planilla
Hacer una copia de la planilla
El link abre directamente el diálogo de copia. Trabajá sobre tu copia, no sobre la original.
Tiene dos pestañas y cada una hace una cosa.
Cuentas Propias es la lista de cuentas que reciben la plata. Columnas: banco, cbu/cvu, alias, titular. Viene con una fila de ejemplo que dice TU BANCO, TU CBU / CVU, TU ALIAS, TU NOMBRE. Reemplazala por una cuenta tuya, real o inventada, pero anotá el CBU y el alias porque los vas a necesitar para que los comprobantes de prueba pasen el Check 1. Podés poner más de una y ver cómo la validación las contempla a todas. Esta pestaña es la que hace que las cuentas destino no estén hardcodeadas en el workflow.
Comprobantes es donde aterriza todo. Columnas: recibido_en, estado, monto, fecha, numero_operacion, titular_origen, banco_origen, cuenta_origen, cbu_cvu_destino, alias_destino, detalle. Dejala vacía, la llena el workflow. La columna que importa es estado, porque ahí se registran también las filas que no pasaron, con el motivo al lado. Esa es la pila que hoy es invisible.
Los cuatro workflows
El orden es el de la mañana. Cada uno tiene el canvas y el JSON para importar. En n8n: menú de los tres puntos arriba a la derecha, Import from File.
Los exports vienen sin credenciales. Al importar vas a tener que elegir las tuyas en los nodos de Google Sheets, Gemini y Kapso.
Flujo 1 · El pipeline de admisión
Bloque 1, sin nada de IA. Todo lo que decide acá es una regla: normaliza, valida que la cuenta destino sea nuestra, deduplica por número de operación y guarda.
Dos puertas, un solo pipeline. Arriba el formulario, que es lo que hoy hace Marcela a mano. Abajo la entrada como sub-workflow, que es por donde va a entrar todo lo demás. Se unen en un Merge y de ahí para abajo no se toca nunca más. Los checks van de barato a caro: primero la comparación en memoria contra las cuentas propias, después el que pega contra Sheets.

flujo-1-pipeline-de-admision.json
30 KB · application/json
Flujo 2 · La lectura del comprobante
Bloque 2, acá entra la IA. Un Chat Trigger que acepta archivos, dos gates que corren antes del modelo, un agente que solo extrae, y un Switch que decide.
El modelo lee, la lógica decide. El agente no tiene herramientas y no resuelve nada: devuelve el esquema y listo. Filtrar es gratis y llamar al modelo no, por eso los gates de adjunto y de formato van adelante. El orden del Switch importa: si el caso de campos ilegibles no está bien colocado, un comprobante válido pero borroso se registra con campos vacíos en vez de pedir una foto mejor.

flujo-2-lectura-del-comprobante.json
37 KB · application/json
Flujo 3 · El bot de WhatsApp
Bloque 3, cambia la puerta y no el pipeline. Webhook de Kapso, un agente con memoria de conversación, dos herramientas, y la respuesta de vuelta por WhatsApp.
Acá el pipeline deja de ser el protagonista y pasa a ser una herramienta. El bot tiene dos y las usa en orden: leer_comprobante, que es el flujo 4, y registrar_en_pipeline, que es el flujo 1 entero sin un solo cambio. Lo que se armó a las 10:20 es lo que el bot llama a las 12:40.

flujo-3-bot-de-whatsapp.json
21 KB · application/json
Flujo 4 · Leer el comprobante, como sub-workflow
La herramienta de lectura del bot. Recibe media_url y content_type, filtra el formato antes de bajar nada, descarga el archivo, lo lee y devuelve siempre el mismo esquema.
Esta es la lección que costó más cara. Un agente anidado como herramienta recibe texto, nunca el binario del padre, así que no puede ver la imagen y termina inventando un comprobante verosímil para completar el esquema. Un sub-workflow tiene su propio main path, el binario vive adentro y el agente lo ve de verdad. La frontera de una herramienta es JSON: si tu herramienta necesita ver un archivo, tiene que ser un workflow.
Las tres salidas devuelven exactamente los mismos campos, así que el que llama nunca tiene que adivinar la forma. Y listo_para_registrar lo calcula un nodo, no el modelo.

flujo-4-leer-comprobante-subworkflow.json
20 KB · application/json
Los prompts
Los system messages tal cual están en los nodos, listos para copiar y pegar. El botón de copiar de cada bloque se lleva el texto entero, con el markdown adentro, sin romper el formato.
Ojo con una cosa al pegarlos en n8n: el campo del system message tiene que estar en modo expresión o en modo fijo según cómo lo dejes, pero el texto es el mismo. No agregues el signo igual del principio, eso lo pone n8n.
Flujo 2 · Leer el comprobante
Flujo 3 · Bot de WhatsApp
Flujo 4 · Leer el comprobante (sub-workflow)
Los esquemas de salida
Van en el nodo Structured Output Parser, en modo Define using JSON Example.
Cuidado con los arrays en modo ejemplo. El parser infiere el tipo mirando el ejemplo, y ese esquema viaja a Gemini como function declaration. Un array vacío no le dice a nadie qué hay adentro: n8n emite {type: array} sin items y Gemini rechaza el request entero con un 400, antes de llamar al modelo. Por eso campos_ilegibles lleva un elemento de muestra aunque lo normal sea que venga vacío.
Esquema del comprobante · flujo 2
Esquema del comprobante · flujo 4
Formato de respuesta del bot · flujo 3
Los siete casos de prueba
No repartimos comprobantes. Son documentos con nombre, CBU y monto de gente real, y no hay una versión anonimizada que siga sirviendo para probar lectura: si le tachás los datos, dejás de estar probando lo que importa.
Probá con los tuyos. Cualquier transferencia que hayas hecho sirve, y para los casos raros alcanza con una captura y treinta segundos de edición.
Estos son los siete que valen la pena, en orden. El 4 es el que más enseña.
1 · Uno limpio. El camino feliz. Todos los campos legibles, cuenta destino cargada en Cuentas Propias, número de operación nuevo. Tiene que salir procesado sin que nadie lo toque.
2 · El mismo, otra vez. Mandá dos veces el del caso 1. Ejercita el Check 2. La segunda se guarda igual, con estado duplicado, y ese es el punto: la fila queda registrada aunque no entre.
3 · A una cuenta que no es tuya. Transferencia real, pero a un CBU que no cargaste en Cuentas Propias. Ejercita el Check 1 y sale como cuenta_incorrecta. Es el caso que hoy nadie ve hasta que falta la plata.
4 · Borroso, con un campo que no se lee. Sacale una foto movida a la pantalla, o tapá el monto con el dedo. Tiene que caer en campos_ilegibles y pedir una foto más clara, no registrarse con el monto vacío. Es el que descubre si el orden del Switch está bien.
5 · Un echeque. PDF del banco, fuera de alcance de la v1. El filtro de mime no lo detecta porque es un PDF perfectamente válido: la exclusión vive en la clasificación, no en el gate.
6 · Algo que no es un comprobante. Una factura, un remito, cualquier cosa. Documento legítimo, tipo equivocado. Sale por el fallback del Switch como rechazo.
7 · Con alias y sin CBU. El falso negativo que costó encontrar. Casi ningún comprobante trae CBU/CVU y alias a la vez, y el modelo listaba el alias ausente como ilegible, frenando un pago perfectamente válido. Con uno de los dos alcanza.
Lo que quedó afuera
Cuatro cosas que aparecieron y no entraron en la v1. No es que no se puedan hacer, es que ninguna de las cuatro cambia el número que el proyecto tiene que mover, que son las dos o tres horas diarias de carga manual.
Conciliación. Cruzar cada comprobante contra lo que la carnicería efectivamente debe. Necesita el saldo de la cuenta corriente, que hoy no vive en ningún lado que podamos leer. Es la función 2 del bot, no la 1.
Pagos parciales. Un comprobante que cubre media factura. Necesita conciliación para saber que es parcial, así que se cae con lo anterior.
Deduplicación por clave compuesta. Hoy el duplicado se detecta por número de operación. Dos transferencias distintas con el mismo número de operación en bancos distintos existen, y la clave real sería monto más fecha más titular más número. Se cortó porque agrega falsos positivos justo el día que hay que confiar en el sistema, y el caso es raro.
Múltiples cuentas destino. La pestaña Cuentas Propias ya soporta varias, y el Check 1 las contempla a todas. Lo que quedó afuera es imputar a qué cuenta entró la plata para después separar por unidad de negocio. Eso es contabilidad, y contabilidad sin conciliación no sirve.
El patrón es el mismo en los cuatro: lo que quedó afuera depende de datos que hoy no existen. Primero hay que hacer que existan, y eso es exactamente lo que hace la v1.
Seguir
El grupo de WhatsApp. Donde se sigue la conversación, se comparten workflows y se pregunta cuando algo no anda. El link te lo da el sitio: tocá Unite a la comunidad, arriba en esta misma página, dejás nombre y WhatsApp y te aparece el link del grupo con un QR al lado.
Las guías del sitio. El caso completo va a quedar escrito paso a paso, y hay más cosas ahí que no son del workshop. Ver todas las guías
Gracias por venir un sábado a la mañana.