[
  {
    "id": "EMAIL-001",
    "name": "Startup Welcome",
    "fn": "sendStartupWelcomeEmail",
    "trigger": "Registro de startup en /registro",
    "dest": "Email del CEO que registra",
    "cta": "Confirmar mi cuenta y ver mi registro → /auth/confirm"
  },
  {
    "id": "EMAIL-002",
    "name": "Startup Followup Score",
    "fn": "sendStartupFollowupEmail",
    "trigger": "Cron automático ~2 días después del registro",
    "dest": "Email del CEO",
    "cta": "Aumentar mi score → /dashboard"
  },
  {
    "id": "EMAIL-003",
    "name": "Startup Reminder (día 3)",
    "fn": "sendStartupReminderEmail",
    "trigger": "Cron automático día 3 sin confirmar",
    "dest": "Email del CEO",
    "cta": "Confirmar mi cuenta → /auth/confirm"
  },
  {
    "id": "EMAIL-004",
    "name": "Startup Reminder URGENTE (día 6)",
    "fn": "sendStartupReminderEmail (urgent)",
    "trigger": "Cron automático día 6 sin confirmar",
    "dest": "Email del CEO",
    "cta": "Confirmar mi cuenta → /auth/confirm"
  },
  {
    "id": "EMAIL-005",
    "name": "Startup Purged (expiración)",
    "fn": "sendStartupPurgedEmail",
    "trigger": "Cron automático día 8+ sin confirmar",
    "dest": "Email del CEO",
    "cta": "Registrarme de nuevo → /registro"
  },
  {
    "id": "EMAIL-006",
    "name": "Contact Welcome (usuario nuevo)",
    "fn": "sendContactWelcomeEmail (userExists=false)",
    "trigger": "ICG registra contacto de compañía (usuario no existe)",
    "dest": "Email del contacto designado",
    "cta": "Establecer nueva contraseña → /auth/reset"
  },
  {
    "id": "EMAIL-007",
    "name": "Contact Welcome (usuario existente)",
    "fn": "sendContactWelcomeEmail (userExists=true)",
    "trigger": "ICG registra contacto de compañía (usuario ya existe)",
    "dest": "Email del contacto designado",
    "cta": "Ver mi registro → /dashboard"
  },
  {
    "id": "EMAIL-008",
    "name": "CEO Welcome (usuario nuevo)",
    "fn": "sendCeoWelcomeEmail (userExists=false)",
    "trigger": "Startup registrada → CEO designado (sin cuenta)",
    "dest": "Email del CEO designado",
    "cta": "Confirmar mi cuenta y ver mi registro → /auth/confirm"
  },
  {
    "id": "EMAIL-009",
    "name": "CEO Welcome (usuario existente)",
    "fn": "sendCeoWelcomeEmail (userExists=true)",
    "trigger": "Startup registrada → CEO designado (ya tiene cuenta)",
    "dest": "Email del CEO",
    "cta": "Ver mi registro → /dashboard"
  },
  {
    "id": "EMAIL-010",
    "name": "Team Invitation (usuario nuevo + TyC)",
    "fn": "sendTeamInvitationEmail (new+TyC)",
    "trigger": "CEO agrega miembro en Panel 6 (usuario no existe)",
    "dest": "Email del miembro invitado",
    "cta": "Confirmar mi vinculación (verde) / No hago parte (rojo)"
  },
  {
    "id": "EMAIL-011",
    "name": "Team Invitation (usuario existente)",
    "fn": "sendTeamInvitationEmail (existing)",
    "trigger": "CEO agrega miembro en Panel 6 (usuario ya existe)",
    "dest": "Email del miembro invitado",
    "cta": "Confirmar mi vinculación (verde) / No hago parte (rojo)"
  },
  {
    "id": "EMAIL-012",
    "name": "Team Welcome CON edición",
    "fn": "sendTeamWelcomeWithEditEmail",
    "trigger": "Miembro confirma invitación (tiene permiso edición)",
    "dest": "Email del miembro confirmado",
    "cta": "Establecer nueva contraseña → /auth/reset"
  },
  {
    "id": "EMAIL-013",
    "name": "Team Welcome SIN edición",
    "fn": "sendTeamWelcomeNoEditEmail",
    "trigger": "Miembro confirma invitación (sin permiso edición)",
    "dest": "Email del miembro confirmado",
    "cta": "Establecer nueva contraseña → /auth/reset"
  },
  {
    "id": "EMAIL-014",
    "name": "Rechazo de invitación (confirmación al miembro)",
    "fn": "sendTeamRejectionConfirmationEmail",
    "trigger": "Miembro hace clic en \"No hago parte de la compañía\"",
    "dest": "Email del miembro que rechazó",
    "cta": "Confirmar mi vinculación (si fue error) → /auth/confirm-team"
  },
  {
    "id": "EMAIL-015",
    "name": "Notificación al CEO: miembro confirmó",
    "fn": "sendCeoMemberConfirmationEmail",
    "trigger": "Miembro acepta invitación al equipo",
    "dest": "Email del CEO",
    "cta": "Ir al dashboard → /dashboard"
  },
  {
    "id": "EMAIL-016",
    "name": "Notificación al CEO: miembro rechazó",
    "fn": "sendCeoMemberRejectionEmail",
    "trigger": "Miembro rechaza invitación al equipo",
    "dest": "Email del CEO",
    "cta": "Ir al dashboard → /dashboard"
  },
  {
    "id": "EMAIL-017",
    "name": "Cuenta de usuario eliminada",
    "fn": "sendAccountDeletedEmail",
    "trigger": "Usuario elimina su propia cuenta",
    "dest": "Email del usuario que eliminó su cuenta",
    "cta": "Registrarme de nuevo → eco.lpdi.co"
  },
  {
    "id": "EMAIL-018",
    "name": "Entidad eliminada (notificación)",
    "fn": "sendEntityDeletedEmail",
    "trigger": "Usuario elimina startup/ICG voluntariamente",
    "dest": "Todos los miembros asociados a la entidad",
    "cta": "Restaurar → /dashboard (papelera)"
  },
  {
    "id": "EMAIL-019",
    "name": "ICG Purged (expiración)",
    "fn": "sendIcgPurgedEmail",
    "trigger": "Cron automático: ICG no confirmado en plazo",
    "dest": "Email del contacto y usuarios asociados al ICG",
    "cta": "Registrarme de nuevo → eco.lpdi.co"
  },
  {
    "id": "AUTH-001",
    "name": "Confirmación de correo (Supabase)",
    "fn": "Supabase Auth Template",
    "trigger": "Registro o cambio de email vía Supabase Auth",
    "dest": "Email del usuario",
    "cta": "Confirmar correo → magic link Supabase"
  },
  {
    "id": "AUTH-002",
    "name": "Recuperación de contraseña (Supabase)",
    "fn": "Supabase Auth Template",
    "trigger": "Usuario solicita reset de contraseña",
    "dest": "Email del usuario",
    "cta": "Restablecer contraseña → magic link Supabase"
  },
  {
    "id": "AUTH-003",
    "name": "Invitación / Magic Link (Supabase)",
    "fn": "Supabase Auth Template",
    "trigger": "Invitación vía Supabase o magic link",
    "dest": "Email del usuario invitado",
    "cta": "Acceder → magic link Supabase"
  },
  {
    "id": "AUTH-004",
    "name": "Cambio de correo electrónico (Supabase)",
    "fn": "Supabase Auth Template",
    "trigger": "Usuario cambia su email desde configuración",
    "dest": "Email nuevo del usuario",
    "cta": "Confirmar nuevo correo → magic link Supabase"
  }
]