La tarea repetitiva que hacés a mano
Copiar un formulario a una planilla, perseguir un presupuesto sin respuesta, archivar adjuntos: lo armás una vez y corre para siempre. Ahí es donde recuperás el tiempo.
Operaciones
Necesitás unos pocos flujos confiables, no 7.000 conectores.
Zapier cuesta US$30–69 / mes, o sea US$360–828 al año. Tenés dos caminos:
Opción 1 · Instalar
n8n es la sala de máquinas de tu negocio. Dibujás una cadena de pasos en un lienzo (cuando se envía un formulario, crear el registro en el CRM, avisar por Slack, mandar el mail de bienvenida) y corre sin vos, de día y de noche. Ya vienen conectados más de 400 servicios y, cuando ninguno encaja, llamás a cualquier API. La diferencia con Zapier y Make: lo podés correr en tu propia máquina. Donde Zapier cuenta tus tareas y te cobra cada disparador, tu servidor no cuenta nada. Y para las automatizaciones que llaman a Claude, enchufás tu propia clave en vez de comprar sus créditos de IA.
| Criterio | n8n | Zapier / Make |
|---|---|---|
| Precio | US$0, solo pagás tu servidor | De €9 a €26/mes, y después más |
| Volumen | Ilimitado, es tu máquina | 750 tareas por mes en Zapier Pro |
| Tus datos | Nunca salen de tu servidor | Pasan por ellos en cada paso |
| Código propio | Un nodo de JavaScript o Python cuando lo visual no alcanza | Restringido, y reservado a los planes más altos |
| La IA adentro | Tu propia clave de Claude, a costo | Créditos de IA facturados aparte |
Hay dos formas de empezar: en tu máquina para probarlo, o en un servidor para que tus automatizaciones sigan andando con tu computadora apagada. Arrancá con la primera.
Bajalo de docker.com, instalalo y abrilo una vez. Es el motor que va a correr n8n en tu máquina.
Instala n8n desde el repositorio oficial, lo arranca y comprueba que la interfaz responda:
Instalá n8n en mi máquina (la herramienta open source de automatización de workflows, repo de GitHub n8n-io/n8n) con Docker, siguiendo la documentación oficial docs.n8n.io. Creá la carpeta de trabajo, escribí el docker-compose.yml con un volumen que conserve mis workflows entre reinicios, levantalo y verificá que la interfaz responda en http://localhost:5678. Después explicame cómo crear mi primer workflow. Explicame cada paso de manera simple, soy principiante.
Revisá el repositorio de GitHub y fijate si es seguro instalarlo dado mi equipo y mi infraestructura. Hacime todas las preguntas que puedas, usando widgets, para aclarar mi pedido y ser lo más preciso posible.Abrí http://localhost:5678, creá tu cuenta y empezá por un caso simple y útil: un formulario enviado que dispara un mail. Cuando eso ande, lo demás sale solo.
En tu máquina, tus automatizaciones se frenan cuando cerrás la notebook. Pedile a Claude que lo despliegue en un servidor o plataforma de hosting, con un dominio de verdad, el día que realmente dependas de esto.
Copiar un formulario a una planilla, perseguir un presupuesto sin respuesta, archivar adjuntos: lo armás una vez y corre para siempre. Ahí es donde recuperás el tiempo.
Llega un mail, Claude lo lee, lo clasifica, redacta la respuesta y la guarda. n8n es el caño que conecta la inteligencia con tus herramientas de todos los días, con tu propia clave de API.
Instalás n8n en su empresa, armás sus automatizaciones y su equipo las puede leer y mantener porque es visual. Cobrás el trabajo, no una suscripción que sigue corriendo.
Hecho con: TypeScript 92.2% · Vue 6.3% · JavaScript 0.7%
Datos públicos del repositorio en GitHub, tomados el 8 de octubre de 2026.
Opción 2 · Construir
Este desarrollo es para un equipo de operaciones que corre un conjunto conocido de automatizaciones disparadas por webhooks. El objetivo: recibir eventos, transformar datos y ejecutar una secuencia corta de acciones confiables. Si necesitás más que eso, seguí pagando: armarlo vos sirve para tener una herramienta hecha a la medida de tu forma de trabajar, no para rehacer el plan de una empresa con millones de inversión.
Mismo desarrollo, otro logo: esta v1 también reemplaza a n8n y Pipedream, porque los tres resuelven el mismo trabajo de fondo.
El prompt de abajo arma una sola versión, con lo que de verdad se usa. Lo demás queda afuera a propósito.
| Lo que arma el prompt | disparador por webhook, paso de transformación, acción http, flujos lineales, historial de ejecuciones, reintentos, secretos, repetición |
|---|---|
| Lo que queda afuera | marketplace de 7.000 conectores, oauth para todo, disparadores por consulta periódica |
Workflow, Step, SecretReference, Run, StepRun
webhooks, APIs HTTP, email, Queues
Workers, Workflows, D1
Ocultá los secretos en los logs, firmá los hooks entrantes cuando se pueda y hacé que los reintentos sean idempotentes.
No armes un marketplace público de conectores, un lienzo con ramas, ejecución de código arbitrario ni disparadores por consulta periódica.
Elegí tu stack, copiá el prompt y pegáselo a tu agente de código (Claude Code, Cursor, Codex…).
Vas a construir un producto de software listo para producción llamado “Whenhook”, una alternativa deliberadamente enfocada a Zapier. Construí un recorte completo y usable, no una landing page, ni una maqueta estática, ni un montón de componentes sueltos.
ACUERDO DE TRABAJO
Antes de escribir código de implementación, armá un plan técnico corto que nombre las rutas o páginas, las server actions o endpoints, las tablas de datos, las transiciones de estado importantes, los límites de autorización, los jobs en segundo plano y los adaptadores externos. Si algo se contradice, resolvelo a favor de la audiencia acotada y de los no-objetivos de abajo. Elegí una arquitectura chica y legible antes que abstracciones especulativas, pero no omitas persistencia, validación, manejo de errores ni tests.
DESCRIPCIÓN DEL PRODUCTO
Usuario principal: un equipo de operaciones que corre un conjunto conocido de automatizaciones disparadas por webhooks.
Resultado principal: recibir eventos, transformar datos y ejecutar una secuencia corta de acciones confiables.
Principio del producto: optimizá el flujo exacto de abajo en vez de copiar todo lo que hace Zapier. Alguien que lo usa por primera vez tiene que entender qué hacer desde la propia interfaz, sin tour ni documentación.
RECORRIDOS COMPLETOS DEL USUARIO
Implementá todos estos flujos usando la interfaz real y la capa de datos persistente:
1. Un operador crea un flujo, recibe una URL de webhook, captura un evento de ejemplo, agrega pasos de filtro, transformación, pedido HTTP y email, lo prueba y después activa una revisión publicada.
2. Un webhook firmado inicia una ejecución, cada paso consume la salida del anterior, una espera se retoma de forma duradera y el detalle de la ejecución muestra entradas y salidas con datos ocultos, duraciones y el estado final.
3. Una acción HTTP falla después de errores reintentables; el operador arregla su credencial, repite desde el paso que falló y completa la ejecución sin repetir efectos de pasos anteriores que ya salieron bien.
PANTALLAS Y ARQUITECTURA DE INFORMACIÓN
Construí estas pantallas como vistas coherentes y responsive. Cada pantalla tiene que definir su acción principal, sus acciones secundarias, el estado visible, el feedback de validación, el estado vacío, el estado de carga o pendiente, la confirmación de éxito y un estado de error recuperable.
1. Lista de flujos: estado activado, URL del disparador, revisión publicada, última ejecución, tasa de éxito reciente, fallas actuales, y acciones de duplicar, desactivar y crear.
2. Editor lineal de flujos: lista ordenada de pasos, ajustes del disparador, configuración de filtros y transformaciones, referencias a secretos, prueba de cada paso, controles para reordenar, validación y acción de publicar.
3. Consola de webhooks y pruebas: endpoint copiable, estado del secreto de firma, payloads de ejemplo capturados, encabezados, vista previa del esquema, evento de prueba y errores por tamaño de payload.
4. Detalle de ejecución: estado y línea de tiempo, cantidad de intentos por paso, entrada y salida con datos ocultos, duración, categoría del error, logs, repetir desde la falla y controles para cancelar.
FUNCIONES PRINCIPALES
1. disparadores por webhook con un endpoint copiable y un payload de ejemplo
2. flujos lineales con pasos de filtro, transformación, pedido HTTP, espera y email
3. referencias a secretos separadas de la configuración del flujo
4. historial de ejecuciones con entrada, salida, duración y reintento de cada paso
5. repetición manual desde un paso que falló y activar o desactivar flujos
COMPORTAMIENTO DETALLADO Y REGLAS DE NEGOCIO
Tratá esto como requisitos del producto que se validan en el servidor, no como sugerencias de interfaz:
1. Las ejecuciones de un flujo activado usan una revisión publicada inmutable; las ediciones quedan como borrador hasta que la validación sale bien y el operador vuelve a publicar de forma explícita.
2. Limitá el tamaño del cuerpo y de los encabezados de los webhooks, verificá las firmas configuradas antes de encolar, rechazá entregas repetidas ya vencidas y deduplicá eventos con una clave del proveedor o una generada.
3. Resolvé las expresiones de campos solo a partir del disparador y de las salidas de pasos anteriores, validá rutas y tipos faltantes, y mantené filtros y transformaciones deterministas.
4. Guardá que un paso terminó antes de avanzar, ocultá los valores de credenciales en todos lados y exigí claves de idempotencia estables para los efectos de HTTP, email y repetición manual que se pueden reintentar.
MODELO DE DATOS Y CICLO DE VIDA
Diseñá un esquema relacional chico centrado en Workflow, Step, SecretReference, Run, StepRun. Antes de implementarlo, documentá:
1. El propósito de cada tabla, su clave primaria, el límite de propiedad o de tenant, timestamps, campos de estado y atributos importantes.
2. Claves foráneas, restricciones de unicidad, check constraints, los índices que necesitan las pantallas nombradas y los límites de transacción para cambios que tocan varios registros.
3. Las transiciones de estado o de ciclo de vida permitidas, quién puede disparar cada una, cuáles son terminales o reversibles y qué historial de auditoría tiene que quedar inmutable.
4. Cómo se archiva, se retiene y se borra, incluido qué pasa con los registros dependientes y los archivos externos.
5. La estrategia de idempotencia para envíos, jobs, importaciones, notificaciones, webhooks o reintentos, donde aplique.
Usá migraciones en lugar de crear el esquema a mano. Guardá los instantes de tiempo de forma consistente y conservá la zona horaria con nombre cada vez que importen horarios o fechas locales. Nunca dependas de un contador, un botón deshabilitado o una validación del lado del cliente para proteger una regla de negocio.
USUARIOS, AUTENTICACIÓN Y PERMISOS
Implementá solo los roles que necesita la audiencia indicada. Dejá explícito el modelo de propiedad y visibilidad antes de programar. Aplicá la autorización en cada consulta y mutación del servidor, incluidas búsquedas, exportaciones, adjuntos, actualizaciones en vivo y URLs adivinadas—no alcanza con ocultar botones. Usá sesiones seguras por defecto, protegé los requests que cambian estado y mostrá estados claros para sesión cerrada, sesión vencida y acceso prohibido. Si hacen falta varios roles, cargá usuarios distintos en los datos de prueba para poder mostrar y testear los permisos.
INTERACCIÓN Y DIRECCIÓN VISUAL
El producto tiene que sentirse rápido, tranquilo, enfocado y confiable, no como una plantilla genérica de panel de administración. Usá una jerarquía visual clara, color medido, tipografía legible, áreas de clic generosas y un lugar fijo para las acciones principales. Arrancá con HTML renderizado en el servidor y mejorá de forma progresiva solo las interacciones que lo necesiten. El flujo principal tiene que entenderse aunque esa mejora falle.
Arrancá con páginas de Astro renderizadas en el servidor y formularios HTML comunes. Usá HTMX para envíos de formularios, navegación parcial y actualizaciones que manda el servidor, y Alpine.js solo para estado local chico del navegador. El flujo principal tiene que entenderse aunque falle cualquiera de esas dos capas.
Diseñá las vistas de celular a propósito, no apilando los paneles de escritorio. Soportá navegación con teclado, foco visible, landmarks semánticos, labels explícitos, títulos de página útiles, la preferencia de movimiento reducido y anuncios para lectores de pantalla en resultados asincrónicos. Nunca uses solo el color para comunicar un estado. Las acciones destructivas necesitan un alcance claro y una confirmación; las acciones seguras que se repiten tienen que ser idempotentes.
Agregá un footer en todas las páginas con el texto «Creado por aurelioagency.com», donde «aurelioagency.com» es un link embebido a https://www.aurelioagency.com que se abre en una pestaña nueva. Tiene que quedar visible; no lo saques.
DIRECCIÓN TÉCNICA
Construí esta versión con el stack AHA: Astro para el ruteo, los layouts y las páginas renderizadas en el servidor; HTMX para las interacciones que se benefician de respuestas con fragmentos HTML; y Alpine.js para estado chico y local de la interfaz. Preferí Cloudflare D1 para la persistencia relacional, R2 para el almacenamiento de objetos, Workers para los endpoints del servidor y las tareas programadas, Durable Objects solo para estado en tiempo real coordinado, y Workflows o Queues para jobs en segundo plano durables—pero solo cuando los requisitos del producto lo pidan.
Mantené las reglas de dominio en módulos del servidor que se puedan testear, no en los route handlers ni en los componentes de UI. Separá la persistencia, los proveedores externos y el trabajo en segundo plano detrás de interfaces chicas, sin armar un framework. Preferí formularios HTML y URLs comunes para la navegación; usá interacción optimista solo cuando un error se pueda resolver con claridad.
El brief del producto identifica hoy Workers, Workflows, D1 como contexto técnico. Cualquier capacidad nativa, solo de navegador, de edge, de almacenamiento, de tiempo real o de procesamiento en segundo plano que haga falta, conservala a través de un adaptador acotado que corresponda al framework elegido. Si el flujo central realmente necesita APIs nativas o de navegador, mantené ese entorno como superficie principal de ejecución en vez de simular capacidades inaccesibles o inventar una superficie web innecesaria.
Integrá con webhooks y APIs HTTP y email y Queues. Para cada integración:
- Listá las variables de entorno necesarias en un .env.example sin secretos reales.
- Agregá un adaptador chico con timeouts, errores normalizados y una versión falsa local determinística o un modo de desarrollo.
- Verificá las firmas entrantes y deduplicá los eventos del proveedor cuando se pueda.
- Mantené las credenciales en el servidor, encriptá en reposo los tokens de larga duración y ocultá secretos y datos sensibles en los logs.
- Definí reintentos, backoff e idempotencia para cualquier efecto que se pueda repetir.
SEGURIDAD Y PRIVACIDAD
Ocultá los secretos en los logs, firmá los hooks entrantes cuando se pueda y hacé que los reintentos sean idempotentes.
Validá, normalizá y limitá el largo de todo input no confiable en el servidor. Escapá el contenido renderizado por defecto, sanitizá cualquier markup que aceptes a propósito, poné rate limit a las acciones públicas o fáciles de abusar y usá almacenamiento de objetos privado con URLs autorizadas de corta duración para archivos sensibles. Juntá solo los datos personales que necesita el flujo indicado. Documentá cómo se retienen y se borran. Sumá protecciones específicas para las partes más riesgosas de esta app, como subidas de archivos, redirecciones, requests salientes, envío de emails, OAuth, webhooks, importación o exportación CSV y conexiones en tiempo real.
ESCENARIOS DE ACEPTACIÓN
Automatizá estos escenarios propios de la app en el nivel que corresponda:
1. Dada una firma de webhook inválida, el pedido se rechaza, no se crea ninguna ejecución y ninguna parte del secreto ni del payload enviado aparece en los logs.
2. Dado un evento que no pasa un filtro, la ejecución termina como filtrada y las acciones siguientes se saltean en vez de marcarse como fallidas.
3. Dado un timeout del destino después de que los pasos anteriores salieron bien, repetir desde el paso que falló reutiliza la salida anterior guardada y no vuelve a mandar un email anterior.
TESTS
Agregá tests unitarios enfocados en transiciones de estado, reglas de autorización, normalización, cálculos de fechas o dinero y otras reglas de dominio riesgosas. Agregá tests de integración para las restricciones de persistencia y para los caminos de éxito, timeout, reintento y rechazo de cada adaptador externo. Agregá al menos un test de navegador para cada recorrido completo de arriba, incluido uno en pantalla chica. Los tests tienen que usar datos aislados y correr con un solo comando documentado.
OPERACIÓN Y RECUPERACIÓN DE ERRORES
Agregá logs estructurados en el servidor con IDs de correlación por request, job o evento, sin secretos ni datos sensibles de más. Hacé que los errores digan qué hacer, tanto en la interfaz como en los logs. El trabajo en segundo plano tiene que mostrar los estados pendiente, completado, fallido y reintentando cuando aplique; nunca te tragues errores en silencio. Incluí una guía segura de migración y rollback de la base, datos de prueba, notas de backup y restauración, qué pasa con los datos externos al limpiar y una ruta básica de salud o diagnóstico acorde al stack.
ENTREGABLES
Entregá la aplicación funcionando, las migraciones, datos de prueba representativos, los tests, el .env.example y un README corto. El README tiene que cubrir requisitos previos, instalación local, variables de entorno, migraciones, comandos de datos de prueba y tests, deploy, configuración de integraciones, backup y restauración, decisiones de seguridad y limitaciones conocidas. Los datos de prueba tienen que cubrir el camino feliz y al menos un estado vacío, fallido, vencido, expirado, archivado o con permisos restringidos que importe para el producto.
DEFINICIÓN DE TERMINADO
La app está terminada cuando alguien nuevo puede seguir el README, crear y migrar la base, levantar la app, entrar con cada rol relevante, completar cada recorrido nombrado con datos reales guardados, recargar sin perder el estado, recuperarse de los errores comunes y usar la interfaz principal en celular y escritorio. Todos los escenarios de aceptación pasan, los límites de permisos están cubiertos por tests, ninguna pantalla principal queda como placeholder y el crédito «Creado por aurelioagency.com» del footer se ve en todas las páginas.
NO-OBJETIVOS
No armes un marketplace público de conectores, un lienzo con ramas, ejecución de código arbitrario ni disparadores por consulta periódica.La app que armes con este prompt lleva en el footer «Creado por aurelioagency.com».
Prompts cortos para resolver la pieza más difícil sin construir todo.
Construí el receptor de webhooks entrantes para una herramienta de automatización de flujos: la puerta que todo evento tiene que pasar antes de que pueda empezar una ejecución.
Verificá el esquema de firma configurado (HMAC sobre el cuerpo crudo es el caso común) con comparación en tiempo constante, sobre los bytes exactos recibidos: parsear y después reverificar es la forma de romper firmas. Aplicá una ventana de vencimiento usando la marca de tiempo del material firmado, para que un pedido capturado y repetido una hora después se rechace. Limitá el tamaño del cuerpo y de los encabezados antes de leer el payload completo.
Deduplicá eventos: preferí el id de evento del proveedor cuando exista; si no, derivá una clave de un hash del contenido firmado más la marca de tiempo. Una clave duplicada responde éxito pero no inicia una segunda ejecución: los proveedores reintentan cuando la respuesta tarda, así que respondé rápido y pasá el trabajo a la cola de ejecuciones de forma asíncrona.
En cualquier rechazo, registrá solo la categoría del motivo: nada de bytes del payload, nada de valores de encabezados, ningún fragmento del secreto. El tráfico rechazado es justamente el que no tenés que archivar.
Terminado cuando: un cuerpo alterado se rechace en tiempo constante, una captura repetida se rechace por vencida, una entrega reintentada inicie exactamente una ejecución, y los logs de rechazo no contengan nada del payload.Construí la repetición desde la falla para un ejecutor de flujos lineales: cuando muere el paso cuatro, arreglá la causa y retomá desde el paso cuatro, con los pasos uno a tres sin volver a ejecutarse.
La base es la persistencia: después de que cada paso termina, registrá de forma duradera su salida y su estado antes de avanzar. Una ejecución es una cadena de puntos de control, no una pasada en memoria. Cuando el operador repite desde el paso fallido, cargá las salidas guardadas de todos los pasos anteriores y pasalas como si la ejecución nunca se hubiera detenido: el email del paso dos que ya salió no debe volver a enviarse, y la llamada HTTP del paso tres no debe repetirse.
El paso repetido necesita idempotencia para el caso turbio en que falló después de causar efectos (un timeout posterior a una escritura exitosa en el destino): cada paso con efectos lleva una clave de idempotencia estable por (ejecución, paso) para que el destino pueda deduplicar.
Registrá el linaje de repeticiones, con cantidad de intentos y marcas de tiempo por paso, y marcá el estado final de la ejecución según el último intento. Acotá los reintentos automáticos; repetir más allá del tope es decisión de una persona.
Terminado cuando: repetir un paso fallido reutilice las salidas anteriores guardadas byte por byte, los efectos anteriores nunca se repitan, y el historial de la ejecución muestre cada intento.Construí la gestión de revisiones para una herramienta de automatización de flujos, de modo que editar nunca modifique lo que se está ejecutando.
Publicar toma una foto del flujo (pasos, orden, configuración, referencias a secretos) en una revisión inmutable. El endpoint del disparador siempre ejecuta la revisión publicada actual. Las ediciones se acumulan en un borrador que no tiene ningún efecto en ejecución hasta que el operador vuelve a publicar; un borrador a medio editar nunca puede ser a lo que dispara un webhook. Publicar valida primero: configuraciones de pasos completas, referencias a secretos que se puedan resolver, expresiones de campos que apunten solo a pasos que existen antes, y si no, se niega con errores precisos.
La regla de concurrencia: una ejecución fija su revisión al empezar y termina con ella, aunque se publique una revisión nueva a mitad de camino. Dos ejecuciones de revisiones distintas pueden correr a la vez; el historial de cada ejecución registra qué revisión usó, así que depurar una falla vieja muestra el flujo tal como era entonces, no como es ahora.
Desactivar un flujo frena las ejecuciones nuevas al instante y deja terminar las que están en curso.
Terminado cuando: publicar en medio de una ejecución no cambie nada para esa ejecución, un borrador con una expresión rota no se pueda publicar, y cada ejecución histórica muestre su propia revisión.Construí el resolvedor de expresiones de campos para una herramienta de flujos: el mecanismo con el que el paso cuatro dice “usá el email del disparador y el id de la respuesta del paso dos”.
Las expresiones son rutas con puntos e índices de arreglo (trigger.body.customer.email, steps.http1.response.items.0.id) que se resuelven solo contra el payload del disparador y las salidas de pasos anteriores; las referencias hacia adelante fallan la validación al publicar. En ejecución, la resolución es estricta y tipada: una ruta faltante produce un error claro que nombra la ruta y el paso que la necesitaba, no un undefined interpolado en silencio dentro de un cuerpo HTTP. Distinguí entre faltante y null legítimo, porque las APIs de origen quieren decir cosas distintas con cada uno.
Mantené la evaluación determinista: sin acceso al reloj, sin azar, sin red; las mismas entradas deben resolverse idénticas al repetir, o la repetición desde la falla produce pedidos distintos de los de la ejecución original.
Los filtros usan el mismo resolvedor con operadores de comparación. Un filtro que da falso termina la ejecución como filtrada, un estado de finalización exitoso en que los pasos siguientes se saltean, nunca como fallida. Una alerta que despierta a alguien porque un filtro hizo su trabajo es un error de diseño.
Terminado cuando: una ruta faltante falle nombrando la ruta exacta, las repeticiones se resuelvan de forma idéntica, y las ejecuciones filtradas figuren como filtradas y no como fallidas.Zapier cuesta US$30–US$69 por mes en sus planes pagos públicos, o sea US$360–US$828 por año. Un reemplazo propio y enfocado te cuesta el tiempo de armarlo más un hosting casi gratis.
El prompt de esta página viene en cuatro versiones: el stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel y Ruby on Rails. El contexto técnico de este producto es Workers, Workflows, D1. Elegí el stack que ya conocés: importa más el alcance que el framework.
Una v1 útil necesita: disparadores por webhook con un endpoint copiable y un payload de ejemplo; flujos lineales con pasos de filtro, transformación, pedido HTTP, espera y email; referencias a secretos separadas de la configuración del flujo; historial de ejecuciones con entrada, salida, duración y reintento de cada paso; repetición manual desde un paso que falló y activar o desactivar flujos. Todo lo demás es agrandar el alcance hasta que lo extrañes de verdad.
No armes un marketplace público de conectores, un lienzo con ramas, ejecución de código arbitrario ni disparadores por consulta periódica.
Sí. Zapier, n8n y Pipedream resuelven el mismo trabajo de fondo: recibir eventos, transformar datos y ejecutar una secuencia corta de acciones confiables. La v1 de esta página cubre lo que casi todos usan de cualquiera de los tres, así que un solo desarrollo enfocado reemplaza al que pagues hoy.
n8n hace casi todo lo que hace Zapier, sin suscripción, y tus datos quedan con vos. La comparación punto por punto está en la página.
Sí. Con una herramienta de código abierto instalada de tu lado, tus archivos quedan en tu máquina o en tu servidor. Nadie puede cerrarte la cuenta ni cambiarte el precio.
¿Sin tiempo para hacerlo?
Si preferís que alguien lo instale, lo conecte a tus herramientas y lo deje andando, en Aurelio hacemos exactamente eso.
Pedir una auditoría de automatización