Conectar tu Google Calendar con el CRM de la inmobiliaria es el paso que separa al equipo que pisa citas todos los lunes del equipo que mueve trescientas visitas mensuales sin un solo conflicto. La arquitectura correcta usa OAuth 2.0 con scope calendar.events, sincronización con webhooks de Google Push Notifications y un patrón outbox para garantizar que ningún evento se pierda en un timeout. Te muestro cómo se hace bien y dónde tropieza casi todo el mundo.
¿Qué problema resuelve realmente la integración?
Una inmobiliaria con doce asesores y cien visitas semanales gasta entre seis y diez horas por asesor reconciliando agendas a mano. El cliente envía WhatsApp pidiendo cambio, el asesor cambia Google Calendar pero no el CRM, marketing manda recordatorio errado y la cita se pierde. Multiplicado por doce asesores: setenta y dos horas semanales quemadas en pegar piezas.
La integración bien hecha colapsa ese gasto a quince minutos diarios totales. El CRM se vuelve la fuente única de verdad y Google Calendar refleja en vivo.
La arquitectura mínima que funciona
Estos son los seis bloques sin los cuales la integración se cae después del mes dos.
| Bloque | Función | Tecnología |
|---|---|---|
| Auth OAuth 2.0 | Token por asesor con refresh automático | google-auth library |
| Cliente API | Crear y leer eventos | googleapis Calendar v3 |
| Webhook receiver | Recibir push de Google | endpoint HTTPS con verificación |
| Cola outbox | Eventos pendientes con idempotency key | PostgreSQL más worker |
| Mapeo evento-deal | Tabla relación bidireccional | tabla calendar_event_mappings |
| Audit log | Trazabilidad cada cambio | append only con timestamp |
La trampa de la sincronización bidireccional
El error que rompe más integraciones inmobiliarias: el desarrollador hace que ambos sistemas se actualicen mutuamente sin protección contra loops. Cliente cambia la cita en Google, Google notifica al CRM, CRM actualiza, CRM dispara update a Google, Google notifica de vuelta. Cinco minutos después tienes diez versiones del mismo evento y nadie sabe cuál es la real.
La solución es etiquetar cada evento con un campo extendedProperties.private.source y rechazar updates donde la fuente sea el propio CRM. Suena obvio pero es el bug más caro que vemos en producción inmobiliaria LATAM.
Caso real: desarrolladora con tres torres frente al mar
Trabajamos con una desarrolladora en Ensenada Baja California con tres torres (una operando, una al 50% vendida, una premium pendiente). El bróker maestro cerraba sin pipeline visible y las citas con compradores de San Diego se pisaban cada semana porque cada asesor manejaba su Google personal sin sincronizar.
- Mercado objetivo: compradores americanos de San Diego a 50 minutos en auto
- Problema: cero visibilidad cruzada entre asesores y bróker maestro
- Solución: CRM propio en Lovable más Supabase con OAuth Google por asesor
- Resultado: cero citas pisadas en doce semanas de operación post entrega
- Inversión única: 3,150 USD (descuento 30% sobre 4,500 USD)
Cuando los datos se unifican, los problemas se anuncian solos. La gerencia comercial finalmente vio en una pantalla qué torre tenía qué pipeline real y qué asesor era el cuello de botella.
Los siete gotchas que rompen la integración
Si vas a implementar tú mismo, blinda contra estas siete fallas conocidas.
- Tokens OAuth sin refresh: caducan a la hora y rompen sincronización silenciosamente
- Zona horaria mezclada: nunca confíes en el zona local del cliente, persiste UTC siempre
- Webhooks sin verificación HMAC: cualquiera puede inyectar eventos falsos
- Sin idempotency key: un retry de red duplica el evento de una visita importante
- Borrar en cascada sin confirmación: un asesor sale de la empresa y se llevan citas del CRM
- Falta de paginación al sincronizar histórico: Google API limita a 250 eventos por página
- No respetar 429 rate limit: Google bloquea tu app por 24 horas en el primer error
¿Construir o comprar?
Para inmobiliarias con menos de cinco asesores y menos de cuarenta citas semanales, un SaaS tipo Wise Agent, Follow Up Boss o LionDesk cubre con integración nativa Google. Costo: 30 a 80 USD por usuario al mes.
Para inmobiliarias con más de diez asesores, varios proyectos en paralelo y pipeline diferenciado por torre, el cálculo a tres años favorece sistema propio. Inversión única 4,500 a 15,000 USD vs. 10,000 a 30,000 USD anuales en licencias SaaS.
Sin retainers, sin licencias atadas. Tu código, tu data, para siempre.
El roadmap de implementación a medida
Si decides construir en lugar de comprar, este es el flujo que aplicamos en MAGIA Core en doce semanas.
- Semana 1 a 2: mapeo de roles, permisos por torre y flujo actual de visitas
- Semana 3 a 4: arquitectura, modelo de datos, prototipo OAuth Google
- Semana 5 a 8: construcción CRM, pipeline visual, integración Calendar bidireccional
- Semana 9 a 10: despliegue paralelo sin downtime, capacitación asesor por asesor
- Semana 11 a 12: transferencia formal, baseline KPIs, tu equipo opera el sistema
¿Cuándo es el momento correcto para hacerlo?
La señal operativa es simple: si tu gerente comercial tarda más de quince minutos cada mañana en saber qué se vendió ayer y qué se va a visitar hoy, ya estás atrasado. Cada semana sin visibilidad es una semana donde dos asesores piensan que tienen la misma cita confirmada.
Próximos pasos
Si manejas más de tres asesores y citas que se pierden con regularidad, agenda una llamada estratégica con Catalizadora. Te entregamos un mapa operativo sin pitch deck y, si avanzamos, en doce semanas tienes MAGIA Core con CRM propio integrado con Google Calendar, WhatsApp embebido y dashboard por rol. Para asesor independiente con pipeline propio, MAGIA Solo entrega en quince días por 4,500 USD una sola vez.
Llamada de 30 minutos. Sin pitch deck. Conversación real sobre tu operación inmobiliaria.