Tu pipeline de ventas, como un kanban
Lead, llamada, presupuesto, firmado: arrastrás las tarjetas de una columna a la siguiente, y cada registro conserva los mails, las notas y las tareas.
Ventas
Contactos, negocios, seguimientos. Dejá atrás el imperio de marketing.
HubSpot CRM cuesta US$20–150 por persona / mes, o sea US$240–1.800 al año. Tenés dos caminos:
Opción 1 · Instalar
Twenty es un CRM open source que reemplaza a Salesforce o HubSpot y que armás a tu manera. Además de Personas, Empresas y Oportunidades, creás tus propios objetos (caso, misión, obra, postulación) con sus campos, relaciones, vistas de tabla o kanban y dashboards. Tus mails y calendarios de Gmail o Outlook se sincronizan con los registros, los workflows automatizan los seguimientos y una API lo conecta con tu sitio, Stripe o tus automatizaciones. Con licencia AGPL, se instala en tu propia máquina con Docker Compose, gratis y con usuarios ilimitados. Si preferís no hostear nada, su nube cuesta unos €8 por usuario al mes. Para tener en cuenta: el SSO y los permisos a nivel de fila requieren una licencia paga.
| Criterio | Twenty | Salesforce |
|---|---|---|
| Precio | US$0, solo pagás tu servidor | €25 por usuario/mes en Starter Suite, €100 en Pro Suite |
| Usuarios | Ilimitados, sin asientos que pagar | Se cobra cada asiento |
| Objetos personalizados | Todos los que quieras, con clics o como código | Depende de la edición, en cantidad limitada |
| Dónde viven tus datos | En tu servidor, en PostgreSQL | En Salesforce |
| Mail y calendario | Gmail, Google Calendar y Outlook sincronizados | Sí, según la edición |
| Automatizaciones y API | Workflows, webhooks, API GraphQL y REST | Flow y API, según la edición |
| IA | Agentes de IA sobre tus datos, con tu propia API key | Agentforce, como complemento |
Necesitás un servidor (un VPS de €5 con 2 GB de RAM alcanza) y Docker. El prompt se encarga de todo, desde el script de instalación oficial hasta el HTTPS, y te deja un CRM listo para moldear.
Te pregunta dónde hostear, instala Twenty con Docker usando el script oficial, le pone HTTPS adelante y después te hace crear tu primer objeto personalizado:
Quiero instalar Twenty (CRM open source, repositorio de GitHub twentyhq/twenty, sitio twenty.com) en lugar de Salesforce, en mi propio servidor. Primero preguntame dónde quiero hostearlo (un VPS Linux que ya tengo, o mi máquina para probar) y qué nombre de dominio quiero usar. Después guiame paso a paso siguiendo la documentación oficial docs.twenty.com/developers/self-host/capabilities/docker-compose: instalá Docker si hace falta, ejecutá el script de instalación de una línea que prepara el archivo .env y el docker-compose.yml (generá la clave de cifrado y la contraseña de PostgreSQL, completá la URL pública del servidor con mi dominio), levantá los contenedores y poné un reverse proxy con HTTPS delante del puerto 3000. Después hacé que cree mi espacio de trabajo y luego un objeto a medida para mi actividad (preguntame qué vendo y a quién) con un campo Etapa y una vista kanban. Terminá con la conexión de mi casilla de mail y mi calendario, y explicame cómo actualizar Twenty sin perder mis datos: primero un backup del volumen de PostgreSQL, y después el cambio de versión.
Revisá el repositorio de GitHub y fijate si es seguro instalarlo con mi máquina y mi infraestructura. Hacime todas las preguntas que puedas, usando widgets, para aclarar mi pedido y ser lo más preciso posible.Configuración, después Modelo de datos, después nuevo objeto: Caso, Misión, Obra, lo que de verdad seguís. Sumá un campo de selección Etapa y ya tenés tu kanban.
Configuración, después Cuentas: Gmail o Microsoft. Las conversaciones aparecen solas en los registros, sin copiar y pegar nada.
Lead, llamada, presupuesto, firmado: arrastrás las tarjetas de una columna a la siguiente, y cada registro conserva los mails, las notas y las tareas.
¿Vendés capacitaciones? Creá un objeto Caso con sus etapas y su checklist. ¿Obras? Un objeto Obra. Eso es lo que hago yo para mis alumnos y mis clientes.
API GraphQL y REST, webhooks, workflows: termina una llamada, entra un pago de Stripe, llega un DM de Instagram, y el registro se actualiza solo.
Hecho con: TypeScript 82.9% · MDX 14.6% · JavaScript 2.1%
Datos públicos del repositorio en GitHub, tomados el 8 de octubre de 2026.
Opción 2 · Construir
Este desarrollo apunta a un equipo chico de ventas B2B con un único pipeline de negocios, sin vueltas. El objetivo: tener contactos, contexto de la empresa, etapa del negocio y próxima acción en un solo lugar confiable. Si necesitás más que eso, seguí pagando: la gracia de armarlo vos es tener una herramienta hecha a la medida de tu forma de trabajar, no reconstruir el roadmap de una empresa con millones de inversión.
Mismo desarrollo, otro logo: esta v1 también reemplaza a Attio, Folk y Copper, porque todos 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 | contactos, negocios, tablero de pipeline, notas, línea de tiempo de actividad, tareas, detección de duplicados, reportes del pipeline |
|---|---|
| Lo que queda afuera | automatización de marketing, objetos personalizados, marketplace de apps, enriquecimiento de datos |
Contact, Company, Deal, Activity, Task, PipelineStage
reenvío de mails o captura por BCC
Astro, HTMX, D1
Llevá un registro de auditoría de los cambios de responsable y de etapa, y limitá las exportaciones a los administradores.
No armes automatización de marketing, atención al cliente, grabación de llamadas, enriquecimiento de datos ni objetos personalizados.
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 “TinyCRM”, una alternativa deliberadamente enfocada a HubSpot CRM. Construí un corte vertical completo y usable, no una landing, 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 chico de ventas B2B con un único pipeline de negocios, sencillo.
Resultado principal: tener contactos, contexto de la empresa, etapa del negocio y próxima acción en un solo lugar confiable.
Principio del producto: optimizá exactamente el flujo de abajo en lugar de copiar toda la amplitud de HubSpot CRM. Quien lo usa por primera vez tiene que entender qué hacer con solo mirar la 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 administrador importa contactos y empresas desde un CSV, revisa las coincidencias de duplicados normalizadas y los errores por fila, confirma los registros válidos y fusiona un duplicado a propósito.
2. Un vendedor crea un negocio desde la ficha de una empresa, le asigna responsable y etapa, registra una llamada, agrega una tarea de seguimiento y mueve el negocio por el pipeline.
3. Un gerente revisa las tareas atrasadas y las métricas del pipeline, abre el historial del negocio que está detrás, filtra por responsable y etapa, y exporta un CSV autorizado.
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. Panel del CRM: valor del pipeline, conversión por etapa, tasa de cierre, tareas atrasadas, actividad reciente, filtro por responsable, estado de la importación y acciones rápidas de creación.
2. Contactos y empresas: directorio con búsqueda, indicadores de duplicados, responsable, negocios abiertos, última actividad, mapeo de columnas del CSV, vista previa de fusión y controles de archivado.
3. Pipeline de negocios: etapas ordenadas y configurables, tarjetas de negocio con valor, responsable, empresa y fecha de la tarea, feedback al arrastrar, filtros y totales por etapa.
4. Detalle del negocio: contexto del contacto y la empresa, etapa y valor, responsable, compositor de actividad, línea de tiempo inmutable, tareas abiertas y completadas, estado de la captura de mails y acción de archivar.
FUNCIONES PRINCIPALES
1. contactos y empresas con detección de duplicados
2. pipeline de negocios con etapas configurables y arrastrar para mover
3. línea de tiempo de actividad con notas, resúmenes de mails, llamadas y cambios de etapa
4. tareas con responsable, fecha de vencimiento y vista de atrasadas
5. valor del pipeline, conversión por etapa, tasa de cierre y exportación a CSV
COMPORTAMIENTO DETALLADO Y REGLAS DE NEGOCIO
Tratá esto como requisitos del producto que se validan en el servidor, no como sugerencias de interfaz:
1. Normalizá los mails y los dominios de las empresas para sugerir duplicados, pero exigí una fusión explícita y revisada que conserve las actividades, las tareas y las relaciones con los negocios.
2. Aplicá los cambios de etapa a través de un único servicio transaccional que registre la etapa anterior, la nueva, quién lo hizo y cuándo, y que actualice las métricas del pipeline recién después del commit.
3. Mantené el historial de actividad de solo agregar, salvo correcciones explícitas que conserven el valor original, quién editó, el motivo y la fecha de la corrección.
4. Hacé cumplir la propiedad de los registros y los permisos por rol en cada consulta y cada modificación; permití exportar el CRM completo solo a administradores y dejá cada exportación asentada en el registro de auditoría.
MODELO DE DATOS Y CICLO DE VIDA
Diseñá un esquema relacional chico centrado en Contact, Company, Deal, Activity, Task, PipelineStage. 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 a Astro, HTMX, D1 como contexto técnico. Conservá cualquier capacidad nativa, solo de navegador, de edge, de almacenamiento, en tiempo real o de procesamiento en segundo plano que haga falta, a través de un adaptador acotado y apropiado para el framework elegido. Si el flujo central realmente necesita APIs nativas o del navegador, dejá ese entorno como la superficie principal de ejecución en vez de simular capacidades inaccesibles o inventar una superficie web innecesaria.
Integrá con el reenvío de mails o la captura por BCC. 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
Llevá un registro de auditoría de los cambios de responsable y de etapa, y limitá las exportaciones a los administradores.
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. Dado un contacto importado cuyo mail normalizado ya existe, la importación marca la coincidencia y no crea ni fusiona en silencio un segundo contacto.
2. Dado un negocio arrastrado a otra etapa, su detalle, su posición en el tablero, el historial de etapas y el valor total del pipeline se actualizan de forma atómica.
3. Dado el mismo mail reenviado que llega dos veces, la captura por BCC crea una sola actividad en el contacto que coincide, o lo deja disponible para asignarlo a mano cuando es ambiguo.
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 automatización de marketing, atención al cliente, grabación de llamadas, enriquecimiento de datos ni objetos personalizados.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í la detección de duplicados y la fusión para los contactos y las empresas de un CRM.
La detección trabaja sobre claves normalizadas: mails en minúsculas y sin espacios para los contactos, dominios registrables para las empresas (sacá www y subdominios: sales@acme.com y el sitio web de ACME.com son la misma empresa). Mostrá las coincidencias como sugerencias al crear, durante la importación de CSV y en una cola de revisión. Nunca fusiones automáticamente, porque john@acme.com y john.smith@acme.com pueden ser dos personas, y una fusión equivocada destruye datos de una forma que los usuarios no ven hasta mucho después.
La fusión en sí es la parte delicada: mostrá una vista previa del registro combinado con una elección campo por campo donde los valores se contradicen, y después pasá todo lo que tenía el registro perdedor al sobreviviente: actividades, tareas, notas y relaciones con negocios, sin dejar nada huérfano ni duplicado. Registrá la fusión en la auditoría con quién y cuándo, y guardá lo suficiente del registro descartado como para permitir deshacerla durante un período de gracia.
Listo cuando: una importación que coincide con un mail normalizado existente lo marca en vez de crear o fusionar en silencio, una fusión completada no deja ninguna actividad ni negocio huérfano, y la auditoría muestra quién fusionó qué.Construí la captura de mails por BCC para un CRM: los vendedores ponen en BCC una dirección mágica (o le reenvían mails), y el mail aparece como una actividad en el contacto correcto.
Parseá el mensaje entrante y extraé a la contraparte: en un mail saliente con BCC es el destinatario del To; en un mail reenviado tenés que sacar al remitente original del cuerpo reenviado, porque el remitente del sobre es tu propio usuario. Buscá a la contraparte entre los contactos por mail normalizado.
Deduplicá a fondo: el mismo mensaje llega dos veces por reintentos del proveedor, o porque dos compañeros estaban en el hilo y ambos lo pusieron en BCC. Usá como clave el header Message-ID, y si el proveedor lo saca, un hash del contenido: un mail se convierte en una actividad, siempre.
Cuando la coincidencia es ambigua (dirección desconocida, o un mail dirigido a varios contactos conocidos), no adivines: dejá el mensaje en una cola de asignación manual donde una persona lo asigna, creando el contacto si hace falta. Guardá un resumen limpio en la línea de tiempo, no el HTML crudo.
Listo cuando: un mail entregado dos veces genera una sola actividad, los remitentes desconocidos caen en la cola en vez de en una línea de tiempo equivocada, y funciona tanto la deduplicación por Message-ID como la del hash.Construí el servicio de cambio de etapa de los negocios para el pipeline de un CRM: el único cuello de botella por el que pasa todo cambio de etapa, ya sea un arrastre en el tablero, un desplegable en la página de detalle o una acción masiva.
El servicio hace tres cosas en una sola transacción: actualiza la etapa del negocio, agrega un registro de historial (negocio, etapa anterior, etapa nueva, quién, cuándo) y suma a los totales desnormalizados por etapa. Nadie actualiza una etapa directamente; el manejador del arrastre y el formulario de edición llaman al mismo servicio, así el historial nunca tiene huecos que conviertan los reportes de conversión en ficción.
Las métricas del pipeline (tasas de conversión entre etapas, tasa de cierre, valor por etapa) se calculan solo con el historial confirmado. Un arrastre que falla en el servidor tiene que revertirse a la vista (la tarjeta vuelve a su lugar con un error), y la UI optimista tiene que reconciliarse con el resultado real. Protegé los movimientos simultáneos del mismo negocio con un chequeo de versión, de modo que dos usuarios arrastrando al mismo tiempo generen un historial coherente y no uno mezclado y corrupto.
La conversión entre etapas se calcula leyendo el historial: de los negocios que alguna vez entraron a la etapa 2, qué fracción llegó a la etapa 3.
Listo cuando: cada cambio de etapa en la base tiene su fila de historial, un arrastre fallido se revierte de forma limpia, y los reportes de conversión coinciden exactamente con el historial.Construí la línea de tiempo de actividad de un CRM: notas, llamadas, reuniones, resúmenes de mails y cambios de etapa en un registro, ordenados y confiables.
La propiedad central es que solo se agrega, con correcciones auditables. Los usuarios van a pedir ediciones (un error de tipeo en la nota de una llamada, una duración equivocada), así que soportá correcciones que preserven el original: una corrección guarda el valor nuevo junto al original, quién lo editó, el motivo y la fecha de la corrección. La línea de tiempo muestra la versión corregida por defecto, con una marca de "editado" que se expande para mostrar qué cambió y quién lo cambió. Borrar es una lápida: oculta la entrada de la vista por defecto pero los administradores pueden recuperarla; los borrados definitivos no existen, porque una línea de tiempo que se puede limpiar no sirve en una disputa por un negocio.
Las entradas generadas por el sistema (cambios de etapa, traspasos de responsable, fusiones, exportaciones) no se pueden corregir en absoluto: son hechos registrados por la máquina.
Ordená por la hora del evento, pero mostrá la hora de carga cuando difieran, porque una llamada registrada a la mañana siguiente ocurrió ayer.
Listo cuando: una nota corregida muestra el texto actual con el original a un clic de distancia, las entradas con lápida siguen disponibles para los administradores, y las entradas del sistema rechazan cualquier edición.HubSpot CRM sale entre US$20 y US$150 por persona al mes en los planes pagos públicos, o sea entre US$240 y US$1800 al año por cada integrante del equipo. Un reemplazo propio y enfocado te cuesta el tiempo de armarlo más un hosting que ronda el cero.
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 Astro, HTMX, D1. Elegí el stack que ya conocés: el alcance importa más que el framework.
Una v1 útil necesita: contactos y empresas con detección de duplicados; pipeline de negocios con etapas configurables y arrastrar para mover; línea de tiempo de actividad con notas, resúmenes de mails, llamadas y cambios de etapa; tareas con responsable, fecha de vencimiento y vista de atrasadas; valor del pipeline, conversión por etapa, tasa de cierre y exportación a CSV. Todo lo demás es agrandar el alcance hasta que lo extrañes de verdad.
No armes automatización de marketing, atención al cliente, grabación de llamadas, enriquecimiento de datos ni objetos personalizados.
Sí. HubSpot CRM, Attio, Folk y Copper resuelven el mismo trabajo de fondo: tener contactos, contexto de la empresa, etapa del negocio y próxima acción en un solo lugar confiable. La v1 de esta página cubre lo que la mayoría usa de cualquiera de ellos, así que un solo desarrollo enfocado reemplaza al que estés pagando hoy.
Sí. Twenty es open source: el código es público e instalarlo no cuesta nada. A lo sumo pagás el hosting si lo ponés en un servidor, que suele ser unos pocos euros al mes. HubSpot, en cambio, cuesta €20 al mes.
No. El nivel es intermedio y la instalación lleva unos 30 minutos con el prompt de la página: Claude hace el trabajo y vos le respondés las preguntas.
Twenty hace casi todo lo que hace HubSpot, sin suscripción, y tus datos se quedan con vos. La comparación punto por punto está en la página.
Sí. Con una herramienta open source 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