DN Agents
Orquestación y triggers

Diego Castro Mesa

Lleva años montando flujos en n8n y Make para pymes peruanas. Su regla para migrar: el trigger y las notificaciones se quedan en la plataforma visual, porque ahí el equipo no técnico puede tocar sin romper nada. Lo que pasa a Python es la lógica con loops pesados y transformaciones de datos grandes.

Funciones y versionado

Zoe Treviño

Escribe las funciones Python que reemplazan los nodos lentos. Insiste en versionar cada función con su contrato de entrada y salida antes de exponerla al flujo, porque el error más común que ve es un cambio silencioso en el formato de respuesta que rompe todo lo que estaba aguas abajo.

APIs y paginación

Juan José Villalobos Guerrero

Se especializa en llamadas a APIs con paginación compleja, justo donde las plataformas no-code se quedan cortas. Cuenta cómo migró un scraper que se caía a las 3 de la mañana y por qué separar la descarga del procesamiento fue lo que estabilizó el flujo.

Contratos entre capas

Mario Valles Cuellar

Documenta el contrato entre la parte visual y la parte en código. Su aporte al hilo es la parte que casi nadie quiere hacer: dejar por escrito qué recibe la función, qué devuelve y qué pasa cuando falla, para que la migración no se convierta en una caja negra.

Migración por capas

Alexa Almanza

Coordina equipos que están en plena transición de low-code a Python. Propone migrar por capas y no de golpe: mover primero lo que más duele, medir, y solo entonces decidir si vale la pena sacar el siguiente nodo de la plataforma visual.

Si estás migrando tu propio flujo y no sabes por dónde cortar, publica tu caso en el foro. Aquí nadie te va a decir que reescribas todo desde cero.

Escribir al equipo del foro

Este hilo lo abrió Mario Valles Cuellar, que lleva dos años pasando flujos de Make a funciones Python para clientes en Lima y Arequipa. La idea no es vender la migración como una moda: es contar qué se gana, qué se pierde y en qué punto conviene frenar.

Escribirle al autor

De low-code a Python: migrar sin reescribir todo

La migración por capas que discutimos en este post salió de proyectos reales, no de un diagrama teórico. Mario trabaja con equipos pequeños que ya chocaron con los límites de ejecución de las plataformas no-code y necesitan mover solo la parte que duele.

RolDev de automatizaciones y mantenimiento de flujos en producción. Arma agentes con n8n, escribe funciones Python para la lógica pesada y documenta el contrato entre el editor visual y el código.

ExperienciaMigraciones parciales en equipos de 2 a 6 personas, sobre todo en el paso de Make y Zapier a servicios propios. Trabajo con paginación de APIs, transformación de datasets grandes y loops que el editor visual no aguanta bien.

EnfoqueNo reescribir lo que ya funciona. Dejar triggers, notificaciones y aprobaciones en la plataforma visual, y mover a código solo lo que se rompe o se vuelve caro de mantener.

ContactoSe puede escribir por correo a info@dnagents.com o llamar al +51 1748745. También responde en los hilos del foro cuando alguien comparte capturas de errores concretos.

Dónde encontrarloBase en Cl. Oliva Segovia # 3 Piso 37, Don Nadia Serrato, Ica. Suele estar activo en las secciones de devs que migran de low-code a Python y en los debates sobre límites de tokens por ejecución.

De low-code a Python: migrar sin reescribir todo

La migracion por capas que describimos en el hilo deja dos frentes abiertos al mismo tiempo: el flujo visual en Make o n8n y las funciones Python que expones por HTTP. Cuando algo falla ahi, el primer problema no es tecnico sino de ubicacion: no sabes si el error viene del trigger, del contrato entre ambos o de la funcion misma. Escribenos con el ID de ejecucion, la captura del nodo que fallo y el fragmento de codigo que devolvio el error. Con eso podemos revisar el caso sin adivinar.

Correo info@dnagents.com Adjunta el JSON del nodo y el stack trace si es posible.
Telefono +51 1748745 Lunes a viernes, horario de Lima. Para casos que bloquean un deploy.
Foro Abrir hilo en la seccion de migracion Mejor si ya probaste el rollback a la version anterior del flujo.

Respondemos primero los hilos que incluyen contrato documentado entre el flujo y la funcion Python. Si el equipo no tiene ese contrato escrito, lo armamos juntos antes de tocar codigo: sin eso, cualquier cambio en la firma de la funcion rompe el nodo HTTP sin aviso.

Tiempo de respuesta habitual: menos de 24 horas en dias habiles para consultas con contexto tecnico. Casos de produccion caida se atienden el mismo dia. Antes de escribir, revisa la guia de versionado y el FAQ de migracion por capas, porque la mitad de las dudas ya estan resueltas ahi.

De low-code a Python: migrar sin reescribir todo

Cuando un equipo decide mover parte de su automatizacion a codigo propio, lo primero que aparece no es el codigo: es la duda de que dejar intacto. En este hilo reunimos capturas de flujos que ya viven en esa transicion. La orquestacion visual sigue disparando triggers, enviando notificaciones y armando el contrato con el resto del sistema. La logica pesada, en cambio, se fue a funciones Python que corren aparte. Cada pieza de esta galeria muestra una decision concreta: que se quedo en Make, que se movio, y que error aparecio despues.

Nota de armado

Las capturas vienen de hilos del foro donde el equipo ya paso por la migracion. No son mockups: hay nodos con nombres raros, comentarios a medias y funciones que todavia no tienen tests. Sirven para ver como se ve una migracion por capas cuando avanza de verdad y no cuando se planea en una pizarra.

Capa 1 - Orquestacion

El trigger se queda en Make

El disparador por webhook sigue en el editor visual porque ahi es donde el equipo revisa rapido si llego el payload. Mover eso a Python solo agrega un servicio que hay que monitorear aparte.

Capa 2 - Transformacion

Loops pesados pasan a funcion

Cuando el flujo recorre listas de miles de registros, el nodo visual se vuelve lento y caro por ejecucion. Ahi entra una funcion Python que recibe el JSON, procesa por lotes y devuelve el resultado al mismo flujo.

Capa 3 - APIs

Paginacion compleja fuera del editor

Las APIs que devuelven cursores y exigen reintentos con backoff no se llevan bien con nodos genericos. Una funcion propia maneja el ciclo completo y expone un solo endpoint al flujo visual.

Capa 4 - Contrato

El error tipico: nadie documento el payload

La mayoria de los incidentes que se comparten en el hilo no vienen del codigo, sino de un cambio silencioso en la forma del JSON. Sin un contrato escrito entre el flujo y la funcion, cada deploy es una apuesta.

Capa 5 - Versionado

Funciones en repo, flujo en plataforma

Las funciones Python viven en un repositorio con historial y revision. El flujo visual queda como esta, pero apunta a una version fija del endpoint. Asi se puede revertir una sin tocar la otra.

Capa 6 - Observabilidad

Logs que cruzan las dos partes

Un id de correlacion que viaja del trigger visual hasta la funcion permite reconstruir una ejecucion completa. Sin eso, depurar un fallo nocturno se vuelve adivinar en que lado se rompio.