NuevoAtiende 24
- Excluye status='spam' de Correos recibidos - Botón 'Marcar como spam' en Recibidos - Pestaña Spam con 'No es spam' y 'Borrar', link a Ajustes → Spam
NuevoCRM
Historial abre las conversaciones del contacto; Reactivacion permite anadirlo a una campana existente (crea reactivation_target en_cola, sin duplicar).
NuevoAtiende 24
- sendEmail (Brevo/Resend) admite attachments en base64 - attend-compose-email acepta adjuntos con tope ~9.5MB y los registra - Compositor: adjuntar archivos, lista con tamaño y quitar, tope ~7MB
NuevoAtiende 24
attend-reply-email admite adjuntos; UI de adjuntar en el bloque Responder del modal
CorregidoAtiende 24
attend_settings no tiene columna id: el select fallaba (siempre "sin configurar") y el guardado insertaba duplicados. Se quita id y se guarda con upsert por organization_id.
NuevoAtiende 24
Botón '+ Nuevo' + modal (nombre/email/teléfono) que crea el contacto y lo selecciona
NuevoCRM
Añade contacts.owner_id (migración) y un hook useComerciales + BulkAssignModal reutilizables. Selectores "Responsable" (solo admin) en: ficha de contacto, ficha de oportunidad y detalle de lead (reasignar).
MejoraWeb y marca
NuevoAtiende 24
- Trigger attend_default_inbound_address: cada organización nueva recibe <slug>@phoneia.es con recepción activa - Backfill de empresas existentes sin dirección - Botón 'Generar dirección' en Atiende 24 → Ajustes + ayuda…
NuevoReservas
booking-create solo confirmaba al cliente. Ahora también envia un email de aviso al negocio (reply_to_email o email del admin) y crea una notificación in-app.
NuevoCRM
Nuevo módulo /app/documentos/: fichas (nombre, versión, categoría, inmueble opcional, fecha de alta) con varios adjuntos en Storage privado. Enlaces seguros con caducidad (7 días) por archivo o todos a la vez.
NuevoAtiende 24
- Columna deleted_at (borrado suave) en attend_inbound_emails - Checkboxes + seleccionar todo + botón Borrar en Correos recibidos - 4ª pestaña Borrados con Restaurar y Eliminar definitivamente
NuevoAtiende 24
NuevoCRM
- reactivation-tick: cron cada 5 min que procesa reintentos de todas las campañas activas (programado con cron_invoke_edge) - whatsapp-webhook: si un frío responde → estado 'interesado'; si la IA crea/avanza oportunidad…
NuevoReservas
Vista de mes con navegacion (‹ Hoy ›), reservas por día coloreadas por servicio, resaltado del día actual y +N más cuando hay muchas.
MejoraCRM
NuevoAtiende 24
- Configurar: toggles responder auto / traducir al idioma / agendar / escalar (columnas nuevas en secretaria_agents).
MejoraCRM
MejoraCRM
MejoraCRM
NuevoAtiende 24
Sustituye el desplegable de tipo por pills con el color de cada tipo
MejoraCRM
NuevoPlataforma
- /app/pipeline-leads/ajustes: bienvenida (canal/plantilla/agente/horario) + instrucciones IA de cualificacion propias (attend_settings.lead_ai_instructions).
MejoraReservas
El helper sendEmail prefiere Brevo y usa Resend solo de alternativa; los emails de reserva ya funcionan con Brevo. Se sustituye el aviso desfasado.
MejoraCRM
Cada campana es de un tipo y hereda los defaults de su canal; se quita el selector "canal por defecto" que no encajaba con el planteamiento de dos tipos.
NuevoPlataforma
Org no caducable + usuario de login fijo, sembrada; reset_showcase_demo() borra y recrea la org limpia cada noche (cron 04:15) conservando el login.
CorregidoWeb y marca
Al añadir profiles.home_org_id, el embed organizations(...) quedó ambiguo (dos FKs a organizations) y la consulta del perfil fallaba → topbar sin nombre. Se fija la FK profiles_organization_id_fkey.
NuevoReservas
CorregidoWeb y marca
En instancias demo el topbar mostraba "Visitante demo" genérico; ahora muestra "<empresa> · demo" para identificar de qué demo se trata.
NuevoAtiende 24
- attend-send-whatsapp: texto libre (ventana 24h) o plantilla; crea ticket y registra mensaje - Botón 'WhatsApp' en la ficha del contacto; aviso si no hay número conectado o fuera de ventana 24h
NuevoAtiende 24
Nuevo menú "Mi Secretaria" (solo para comerciales con asiento; admin con selector de comercial): Resumen+KPIs, Mi bandeja (attend_tickets assigned_to), Citas y oportunidades (bookings.staff_id + opportunities.owner_id) y…
CorregidoAtiende 24
attend_tickets.status es open/in_progress/awaiting_customer/resolved/closed/ escalated (no pending/waiting). Corrige etiquetas, colores y el filtro de abiertos en Mi bandeja y el KPI "requieren tu atención".
NuevoCRM
Pagina /app/actividad (bajo CRM): todas las conversaciones de todos los contactos en cronologico, filtrable por comercial y canal (+ solo lo mio). Cada item enlaza a la ficha del contacto. useComerciales expone meId.
NuevoAtiende 24
Inputs Desde/Hasta + limpiar; filtra por created_at
NuevoAtiende 24
- Columna signature_text (texto plano editable); signature_html se genera al guardar - Editor 'Firma del correo' en Ajustes con auto-enlazado de URLs - Firma de Tecomed cargada (se añade a todas las respuestas)
CorregidoWeb y marca
El Topbar dependía de su propia consulta con embed a organizations, que fallaba silenciosamente por la doble FK (organization_id + home_org_id) y dejaba el nombre en '—' y el avatar en '?'.
CorregidoAtiende 24
Quita espacios y antepone +34; valida móvil/fijo español antes de insertar
NuevoPlataforma
- Notificaciones (tabla + RLS + helper notify) y campana en el topbar (contador, marcar leidas, realtime). - Escalado de la secretaria genera notificación al responsable.
NuevoPlataforma
La sección de asientos y la columna "Secretaria IA" en Equipo ahora solo aparecen si modules.multiagente está activo, coherente con el menú Mi Secretaria.
NuevoPlataforma
- /app/rendimiento/: panel admin con cartera y actividad por comercial + sin asignar. - Respuestas rapidas (tabla quick_replies) en Mi bandeja: insertar y "guardar como rápida".
CorregidoReservas
La pagina publica /reserva?org=slug es anonima y no podía resolver la org (RLS solo permitia a authenticated su propia org), mostrando "Negocio no encontrado".
NuevoAtiende 24
- Buscador de contactos (nombre/email/teléfono) con lista seleccionable - Reutiliza ContactConversations: correos recibidos+enviados, llamadas y WhatsApp en timeline - Enlace a la ficha del contacto
MejoraWeb y marca
NuevoAtiende 24
NuevoAtiende 24
- Edge function attend-compose-email: crea ticket email, envía con firma y registra evento - Botón 'Redactar correo' en Correos enviados + 'Enviar correo' desde la ficha de contacto - Modal compositor con buscador de con…
NuevoAtiende 24
- Modal a 4xl en 2 columnas: mensaje+responder / metadatos por tarjetas - Bloque 'Responder' con envío por email al remitente (Enviar / Enviar y resolver) - Nueva edge function attend-reply-email: reutiliza o crea ticket…
NuevoAtiende 24
- ContactConversations acepta refreshKey; se recarga al enviar WhatsApp/correo - Mensajes de WhatsApp en verde (emerald) para diferenciarlos de los correos (azul)
NuevoCRM
Tabla assignment_rules + motor apply_assignment_rules (match por portal/zona/tipo, destino a un comercial o round-robin) + trigger AFTER INSERT en opportunities para leads de portal sin owner.
NuevoPlataforma
seed_secretaria_demo_extras crea 8 leads con portal + lead_stage por todas las etapas (nuevo → ganado + no contactable). Aplicado a la demo actual y a la persistente; futuras demos salen con el pipeline poblado.
NuevoPlataforma
El demo de Secretaria IA es efímero (org por visita, se borra a la hora), así que se siembra en el origen: start_secretaria_demo activa multiagente y llama a seed_secretaria_demo_extras (secretaria personal con capacidad…
NuevoPlataforma
CorregidoPlataforma
/demo (inmobiliaria) y /secretaria-ia/demo firman una sesión anonima nueva antes de su RPC, evitando que start_demo/start_secretaria_demo devuelvan por reentrancia la org de la demo probada antes.
NuevoInmobiliarias
NuevoAtiende 24
MejoraInmobiliarias
NuevoAtiende 24
Botón "Traducir" bajo cada mensaje del cliente en la bandeja, vía nueva edge function translate-text (Claude, JWT de usuario). Apoyo de lectura para el comercial cuando el mensaje llega en otro idioma.
MejoraCRM
Unifica "Defaults" (global) y "Configurar" (por campana) en un único modal con dos pestanas. Se quitan los dos botones antiguos.
NuevoPlataforma
Componente ContactConversations: línea de tiempo con llamadas (resumen, audio, transcripcion), mensajes de WhatsApp y correos, ordenados por fecha.