LPDI

Inventario de Correos Electrónicos

Ecosistema LPDI — 2026-06-01

23 correos · 19 con preview visual · Fuente: metadata-v4.json (SSOT)

Índice completo

IDNombreCategoríaTyCImg
EMAIL-001Startup WelcomeRegistro Startup
EMAIL-002Startup Followup ScoreRegistro StartupNO
EMAIL-003Startup Reminder (día 3)Lifecycle (Reminders + Purga)NO
EMAIL-004Startup Reminder URGENTE (día 6)Lifecycle (Reminders + Purga)NO
EMAIL-005Startup Purged (expiración)Lifecycle (Reminders + Purga)NO
EMAIL-006Contact Welcome (usuario nuevo)Contacto ICG
EMAIL-007Contact Welcome (usuario existente)Contacto ICGNO
EMAIL-008CEO Welcome (usuario nuevo)CEO / StartupNO
EMAIL-009CEO Welcome (usuario existente)CEO / StartupNO
EMAIL-010Team Invitation (usuario nuevo + TyC)Equipo — Invitación
EMAIL-011Team Invitation (usuario existente)Equipo — InvitaciónNO
EMAIL-012Team Welcome CON ediciónEquipo — WelcomeNO
EMAIL-013Team Welcome SIN ediciónEquipo — WelcomeNO
EMAIL-014Rechazo de invitación (confirmación al miembro)Equipo — NotificacionesNO
EMAIL-015Notificación al CEO: miembro confirmóEquipo — NotificacionesNO
EMAIL-016Notificación al CEO: miembro rechazóEquipo — NotificacionesNO
EMAIL-017Cuenta de usuario eliminadaEliminación / RestauraciónNO
EMAIL-018Entidad eliminada (notificación a asociados)Lifecycle (Reminders + Purga)NO
EMAIL-019ICG Purged (expiración automática)Eliminación / RestauraciónNO
AUTH-001Confirmación de correo (Supabase)Supabase AuthNO
AUTH-002Recuperación de contraseña (Supabase)Supabase AuthNO
AUTH-003Invitación / Magic Link (Supabase)Supabase AuthNO
AUTH-004Cambio de correo electrónico (Supabase)Supabase AuthNO

Registro Startup (2)

EMAIL-001Startup Welcome
1. IDEMAIL-001
2. Nombre técnicosendStartupWelcomeEmail
3. TriggerRegistro de startup en /registro-startup (formulario completado)
4. DestinatarioEmail del CEO que registra la startup
5. CTAConfirmar mi cuenta y ver mi registro → /auth/confirm (magic link Supabase)
6. CondicionesSe envía siempre al completar el registro. La startup queda en estado "pendiente" hasta que el CEO confirme. Si no confirma en 7 días → se activan EMAIL-003, EMAIL-004 y eventualmente EMAIL-005.
7. TyC / TratamientoSÍ — el formulario de registro (/registro-startup) tiene checkbox obligatorio de TyC y Política de Tratamiento de Datos ANTES de enviar. El consent se graba en consent_log con flow="FS". El CTA del correo (confirmar cuenta) NO vuelve a pedir TyC porque ya se aceptaron en el formulario.

PREVIEW DEL CORREO

Preview EMAIL-001
EMAIL-002Startup Followup Score
1. IDEMAIL-002
2. Nombre técnicosendStartupFollowupEmail
3. TriggerCron automático /api/cron/startup-followup (~2 días después del registro, si score < 100)
4. DestinatarioEmail del CEO de la startup
5. CTAAumentar mi score → /dashboard (perfil de la startup)
6. CondicionesSolo se envía si: (1) la startup está confirmada (email_confirmed=true), (2) el score es menor a 100, (3) han pasado ~2 días desde el registro. No se envía si la startup ya tiene score 100 o si fue eliminada.
7. TyC / TratamientoNO — el CTA lleva al dashboard. El usuario ya aceptó TyC durante el registro (EMAIL-001). No se requiere nueva aceptación.

PREVIEW DEL CORREO

Preview EMAIL-002

Lifecycle (Reminders + Purga) (4)

EMAIL-003Startup Reminder (día 3)
1. IDEMAIL-003
2. Nombre técnicosendStartupReminderEmail (isUrgent=false)
3. TriggerCron /api/cron/startup-welcome-reminders — día 3 sin confirmar email
4. DestinatarioEmail del CEO de la startup
5. CTAConfirmar mi cuenta → /auth/confirm (magic link)
6. CondicionesSe envía si: (1) la startup lleva 3 días sin confirmar email, (2) NO ha sido eliminada. Muestra días restantes (4 días). Si el CEO confirma antes del día 6, no se envía EMAIL-004.
7. TyC / TratamientoNO — el CTA es confirmar la cuenta (magic link). TyC ya fueron aceptados en el registro (EMAIL-001). No se requiere nueva aceptación.

PREVIEW DEL CORREO

Preview EMAIL-003
EMAIL-004Startup Reminder URGENTE (día 6)
1. IDEMAIL-004
2. Nombre técnicosendStartupReminderEmail (isUrgent=true)
3. TriggerCron /api/cron/startup-welcome-reminders — día 6 sin confirmar email
4. DestinatarioEmail del CEO de la startup
5. CTAConfirmar mi cuenta → /auth/confirm (magic link)
6. CondicionesSe envía si: (1) la startup lleva 6 días sin confirmar, (2) NO confirmó tras EMAIL-003. Incluye banner urgente amarillo "tu cuenta expira en menos de 24 horas". Si no confirma → día 8 se purga (EMAIL-005).
7. TyC / TratamientoNO — mismo caso que EMAIL-003. TyC ya aceptados en registro.

PREVIEW DEL CORREO

Preview EMAIL-004
EMAIL-005Startup Purged (expiración)
1. IDEMAIL-005
2. Nombre técnicosendStartupPurgedEmail
3. TriggerCron /api/cron/startup-welcome-reminders — día 8+ sin confirmar
4. DestinatarioEmail del CEO de la startup
5. CTARegistrarme de nuevo → /registro-startup
6. CondicionesSe envía si: (1) pasaron 7+ días sin confirmar, (2) NO hay miembros del equipo con permiso de edición que ya hayan confirmado (regla LAP-336: "si al menos un editor confirmó, la startup NO se purga"). La startup se marca como eliminada con delete_scheduled_for = 30 días.
7. TyC / TratamientoNO — el CTA es re-registrarse. Si se registra de nuevo, se pedirán TyC en el nuevo formulario de registro.

PREVIEW DEL CORREO

Preview EMAIL-005
EMAIL-018Entidad eliminada (notificación a asociados)
1. IDEMAIL-018
2. Nombre técnicosendEntityDeletedEmail
3. TriggerUsuario elimina startup o ICG desde /api/entities/delete
4. DestinatarioTODOS los miembros asociados a la entidad (CEO, equipo, contacto)
5. CTARestaurar → /dashboard (sección papelera)
6. CondicionesSe envía a todos los emails asociados a la entidad eliminada. Incluye quién dio la orden de eliminar (deletedBy, campo LAP-336). Informa que los datos se eliminan permanentemente en 30 días. El botón "Restaurar" lleva a la papelera del dashboard.
7. TyC / TratamientoNO — es un correo informativo. La restauración desde la papelera no requiere nueva aceptación de TyC.

PREVIEW DEL CORREO

Preview EMAIL-018

Contacto ICG (2)

EMAIL-006Contact Welcome (usuario nuevo)
1. IDEMAIL-006
2. Nombre técnicosendContactWelcomeEmail (userExists=false)
3. TriggerICG registra contacto de compañía en /registro-icg o /dashboard/icg/nuevo — el contacto NO tiene cuenta LPDI
4. DestinatarioEmail del contacto designado por el ICG
5. CTAEstablecer nueva contraseña → /auth/reset (recovery link Supabase)
6. CondicionesSe envía cuando: (1) el ICG designa un contacto durante registro, (2) el email del contacto NO existe como usuario en Supabase Auth. Se crea cuenta automática con contraseña temporal visible en el correo. Variante: si isNewIcg=false, dice "ha actualizado su perfil" en vez de "se ha registrado".
7. TyC / TratamientoSÍ — aunque el correo no incluye checkboxes, el flujo destino (/auth/reset-password) detecta 0 registros en consent_log y muestra checkboxes obligatorios de TyC y Tratamiento de Datos. El contacto NO puede operar sin aceptar. Backup: guard en /dashboard redirige a /aceptar-terminos si no hay consent.

PREVIEW DEL CORREO

Preview EMAIL-006
EMAIL-007Contact Welcome (usuario existente)
1. IDEMAIL-007
2. Nombre técnicosendContactWelcomeEmail (userExists=true)
3. TriggerICG registra contacto de compañía — el contacto YA tiene cuenta LPDI
4. DestinatarioEmail del contacto designado por el ICG
5. CTAVer mi registro → /dashboard
6. CondicionesSe envía cuando: (1) el ICG designa un contacto, (2) el email del contacto ya existe como usuario en Supabase Auth. NO se muestra contraseña temporal (ya tiene cuenta). El botón lleva directo al dashboard.
7. TyC / TratamientoNO — el usuario ya tiene cuenta y ya aceptó TyC previamente. Guard en /dashboard verifica consent_log como red de seguridad.

PREVIEW DEL CORREO

Preview EMAIL-007

CEO / Startup (2)

EMAIL-008CEO Welcome (usuario nuevo)
1. IDEMAIL-008
2. Nombre técnicosendCeoWelcomeEmail (userExists=false)
3. TriggerRegistro de startup → el email del CEO NO existe como usuario en Supabase Auth
4. DestinatarioEmail del CEO designado durante registro de startup
5. CTAConfirmar mi cuenta y ver mi registro → /auth/confirm (recovery link)
6. CondicionesSe envía cuando el registrante de la startup designa un CEO cuyo email no tiene cuenta en LPDI. Incluye contraseña temporal visible. Solo ocurre cuando el CEO es persona distinta al registrante.
7. TyC / TratamientoNO — el correo NO incluye aceptación de TyC. ⚠️ HALLAZGO: Si el CEO es persona distinta al registrante, recibe credenciales sin aceptar TyC explícitamente. Los TyC los aceptó el registrante, no el CEO. El consent del CEO se graba como parte del flow del registrante.

PREVIEW DEL CORREO

Preview EMAIL-008
EMAIL-009CEO Welcome (usuario existente)
1. IDEMAIL-009
2. Nombre técnicosendCeoWelcomeEmail (userExists=true)
3. TriggerRegistro de startup → el email del CEO YA existe como usuario
4. DestinatarioEmail del CEO
5. CTAVer mi registro → /dashboard
6. CondicionesSe envía cuando el CEO designado ya tiene cuenta LPDI. No se muestra contraseña. Botón directo al dashboard.
7. TyC / TratamientoNO — el CEO ya tiene cuenta y aceptó TyC previamente.

PREVIEW DEL CORREO

Preview EMAIL-009

Equipo — Invitación (2)

EMAIL-010Team Invitation (usuario nuevo + TyC)
1. IDEMAIL-010
2. Nombre técnicosendTeamInvitationEmail (userExists=false, requiresTyC=true)
3. TriggerUn miembro con privilegio de edición agrega miembro en Panel 6 → el email NO existe como usuario + NO tiene consent previo
4. DestinatarioEmail del miembro invitado (ingresado por quien tiene privilegio de edición)
5. CTAConfirmar mi vinculación (verde) / No hago parte de la compañía (rojo)
6. CondicionesSe envía cuando: (1) un miembro con privilegio de edición agrega miembro desde Panel 6, (2) el email no tiene cuenta LPDI, (3) no tiene entradas en consent_log. Muestra tabla con datos registrados (nombre, email, cargo, permiso edición). Incluye bloque TyC si requiresTyC=true.
7. TyC / TratamientoSÍ — el flujo de confirmación incluye checkboxes obligatorios de TyC y Tratamiento de Datos que el usuario debe marcar explícitamente antes de confirmar su vinculación. El consent se graba en consent_log con flow="team_invitation".

PREVIEW DEL CORREO

Preview EMAIL-010
EMAIL-011Team Invitation (usuario existente)
1. IDEMAIL-011
2. Nombre técnicosendTeamInvitationEmail (userExists=true)
3. TriggerUn miembro con privilegio de edición agrega miembro en Panel 6 → el email YA existe como usuario
4. DestinatarioEmail del miembro invitado al equipo
5. CTAConfirmar mi vinculación (verde) / No hago parte de la compañía (rojo)
6. CondicionesSe envía cuando: (1) un miembro con privilegio de edición agrega miembro, (2) el email ya tiene cuenta LPDI. NO muestra bloque TyC porque requiresTyC se calcula como false (ya tiene consent previo en consent_log). Muestra datos registrados.
7. TyC / TratamientoNO — el usuario ya aceptó TyC previamente (tiene entradas en consent_log). El sistema consulta consent_log antes de enviar y omite el bloque de TyC si ya existe consent.

PREVIEW DEL CORREO

Preview EMAIL-011

Equipo — Welcome (2)

EMAIL-012Team Welcome CON edición
1. IDEMAIL-012
2. Nombre técnicosendTeamWelcomeWithEditEmail
3. TriggerMiembro hace clic en "Confirmar mi vinculación" + tiene canEdit=true
4. DestinatarioEmail del miembro que confirmó su vinculación
5. CTAEstablecer nueva contraseña → /auth/reset (recovery link)
6. CondicionesSe envía solo si: (1) el miembro confirmó vía EMAIL-010/011, (2) el CEO le otorgó permiso de edición (canEdit=true). Incluye credenciales de acceso y nota "tu CEO te otorgó permisos para editar".
7. TyC / TratamientoNO — TyC ya fueron aceptados en EMAIL-010 (si era usuario nuevo) o en su registro original (si era existente). El consent ya quedó grabado.

PREVIEW DEL CORREO

Preview EMAIL-012
EMAIL-013Team Welcome SIN edición
1. IDEMAIL-013
2. Nombre técnicosendTeamWelcomeNoEditEmail
3. TriggerMiembro confirma vinculación + tiene canEdit=false
4. DestinatarioEmail del miembro que confirmó su vinculación
5. CTAEstablecer nueva contraseña → /auth/reset (recovery link)
6. CondicionesIdéntico a EMAIL-012 pero para miembros sin permiso de edición (canEdit=false). La nota dice "solo tu CEO o a quien éste haya autorizado puede editar".
7. TyC / TratamientoNO — mismo caso que EMAIL-012. TyC ya aceptados previamente.

PREVIEW DEL CORREO

Preview EMAIL-013

Equipo — Notificaciones (3)

EMAIL-014Rechazo de invitación (confirmación al miembro)
1. IDEMAIL-014
2. Nombre técnicosendTeamRejectionConfirmationEmail
3. TriggerMiembro hace clic en "No hago parte de la compañía" desde EMAIL-010/011
4. DestinatarioEmail del miembro que rechazó la invitación
5. CTAConfirmar mi vinculación (si fue error) → enlace de confirmación original
6. CondicionesSe envía inmediatamente tras el rechazo. Incluye botón de "segunda oportunidad" para confirmar si fue error, pero con confirmAgainUrl=null el botón no aparece. El enlace hereda la expiración de 7 días del email original.
7. TyC / TratamientoNO — es un correo informativo de confirmación de rechazo. No requiere aceptación de nada.

PREVIEW DEL CORREO

Preview EMAIL-014
EMAIL-015Notificación al CEO: miembro confirmó
1. IDEMAIL-015
2. Nombre técnicosendCeoMemberConfirmationEmail
3. TriggerMiembro acepta invitación (hace clic en "Confirmar mi vinculación")
4. DestinatarioEmail del CEO que envió la invitación
5. CTAIr al dashboard → /dashboard
6. CondicionesSe envía siempre que un miembro confirma. Informa al CEO: quién confirmó, su email, y los permisos asignados (con/sin edición). El CEO puede ver y modificar el equipo desde Panel 6.
7. TyC / TratamientoNO — es un correo informativo al CEO. No requiere acción de aceptación.

PREVIEW DEL CORREO

Preview EMAIL-015
EMAIL-016Notificación al CEO: miembro rechazó
1. IDEMAIL-016
2. Nombre técnicosendCeoMemberRejectionEmail
3. TriggerMiembro rechaza invitación (hace clic en "No hago parte de la compañía")
4. DestinatarioEmail del CEO que envió la invitación
5. CTAIr al dashboard → /dashboard
6. CondicionesSe envía siempre que un miembro rechaza. Informa al CEO y sugiere comunicarse con la persona si fue un error. El CEO puede volver a invitar desde Panel 6.
7. TyC / TratamientoNO — es un correo informativo al CEO.

PREVIEW DEL CORREO

Preview EMAIL-016

Eliminación / Restauración (2)

EMAIL-017Cuenta de usuario eliminada
1. IDEMAIL-017
2. Nombre técnicosendAccountDeletedEmail
3. TriggerUsuario elimina su cuenta desde /api/account/delete
4. DestinatarioEmail del usuario que eliminó su cuenta
5. CTARegistrarme de nuevo → eco.lpdi.co
6. CondicionesSe envía a TODOS los usuarios asociados a la cuenta cuando se ejecuta la eliminación. La eliminación es voluntaria (el usuario la inicia). Los datos se marcan para eliminación.
7. TyC / TratamientoNO — es un correo informativo de confirmación de eliminación. Si se registra de nuevo, se pedirán TyC en el nuevo registro.

PREVIEW DEL CORREO

Preview EMAIL-017
EMAIL-019ICG Purged (expiración automática)
1. IDEMAIL-019
2. Nombre técnicosendIcgPurgedEmail
3. TriggerCron /api/cron/purge-entities → RPC purge_expired_entities elimina ICGs no confirmados
4. DestinatarioEmail del contacto y usuarios asociados al ICG
5. CTARegistrarme de nuevo → eco.lpdi.co
6. CondicionesSe envía cuando el cron de purga elimina un ICG que no fue confirmado en el plazo establecido. Se notifica a todos los emails asociados al ICG (contacto principal + otros usuarios vinculados). La purga se ejecuta vía RPC de Supabase.
7. TyC / TratamientoNO — si se re-registra, se pedirán TyC en el nuevo formulario de registro ICG.

PREVIEW DEL CORREO

Preview EMAIL-019

Supabase Auth (4)

AUTH-001Confirmación de correo (Supabase)
1. IDAUTH-001
2. Nombre técnicoSupabase Auth — Confirm signup template
3. TriggerSupabase Auth dispara tras signup o signInWithOtp
4. DestinatarioEmail del usuario nuevo
5. CTAConfirmar correo → magic link generado por Supabase
6. CondicionesTemplate personalizado en Supabase Dashboard → Auth → Email Templates → Confirm signup. Se envía automáticamente por Supabase cuando se crea un usuario con email/password. El diseño exacto depende de la configuración del template en el dashboard de Supabase.
7. TyC / TratamientoNO — es un correo de verificación de identidad de Supabase. Los TyC se aceptan en el formulario de la aplicación ANTES de que Supabase envíe este correo.
AUTH-002Recuperación de contraseña (Supabase)
1. IDAUTH-002
2. Nombre técnicoSupabase Auth — Reset password template
3. TriggerUsuario solicita reset de contraseña vía /auth/reset
4. DestinatarioEmail del usuario
5. CTARestablecer contraseña → magic link Supabase
6. CondicionesTemplate personalizado en Supabase Dashboard → Auth → Email Templates → Reset password. Se activa cuando se llama a supabase.auth.resetPasswordForEmail(). El link expira según la configuración de Supabase (por defecto 24h).
7. TyC / TratamientoNO — es una acción de seguridad/recuperación. No requiere aceptación de TyC.
AUTH-003Invitación / Magic Link (Supabase)
1. IDAUTH-003
2. Nombre técnicoSupabase Auth — Magic link template
3. TriggerAdmin invita usuario vía supabase.auth.admin.inviteUserByEmail()
4. DestinatarioEmail del usuario invitado
5. CTAAcceder → magic link Supabase
6. CondicionesTemplate personalizado. Se usa cuando un admin invita directamente a un usuario. Actualmente NO se usa en el flujo principal del sistema (las invitaciones van por EMAIL-010/011). Podría usarse para invitaciones administrativas manuales desde Supabase Dashboard.
7. TyC / TratamientoNO — es un magic link de acceso. TyC deberían validarse en la aplicación al llegar, pero actualmente este template no se usa en flujo normal.
AUTH-004Cambio de correo electrónico (Supabase)
1. IDAUTH-004
2. Nombre técnicoSupabase Auth — Change email template
3. TriggerUsuario cambia su email desde configuración de cuenta
4. DestinatarioEmail nuevo del usuario
5. CTAConfirmar nuevo correo → magic link Supabase
6. CondicionesTemplate personalizado. Se activa cuando el usuario cambia su email vía supabase.auth.updateUser({email: nuevo}). Se envía al nuevo email para verificación. El email anterior sigue activo hasta que se confirme el nuevo.
7. TyC / TratamientoNO — es verificación de identidad para cambio de email. No requiere nueva aceptación de TyC.
LPDI
Ecosistema LPDI · eco.lpdi.co
Generado desde metadata-v4.json (fuente única de verdad)