Docs / Awareness

Hay tres modos para cargar tu directorio de empleados. Elegí según el tamaño de la organización y qué integraciones ya tenés.

Modo 1 — Manual

Ideal para probar con 5-10 empleados o cargar excepciones puntuales.

En Awareness → Empleados → Nuevo, ingresás:

  • Email (obligatorio).
  • Nombre completo.
  • Departamento.
  • Rol / cargo.
  • Email del manager (opcional — permite reportes por línea jerárquica).

Modo 2 — CSV import

Ideal para 20-500 empleados sin sync automatizado.

En Awareness → Empleados → Import CSV, subís un CSV con headers:

email,full_name,department,role,manager_email
[email protected],Alice López,Finance,Analyst,[email protected]
[email protected],Bob García,Ops,Manager,

Reglas:

  • La primera fila DEBE ser headers.
  • email es el único campo obligatorio.
  • Emails duplicados se ignoran (mantiene el primer row).
  • Empleados que aparecen en el CSV pero no en la base actual → INSERT.
  • Empleados que estaban activos y no aparecen en el CSV → soft-delete (active=false).
  • El flag opted_out nunca se pisa — si alguien opt-outed, sigue opt-outed aunque re-suba el CSV.

Modo 3 — Sync M365 o Google Workspace

Ideal para 100+ empleados con directorio existente.

Microsoft 365

Requiere:

  • Registrar una App en tu Entra ID (Azure AD) con permisos aplicación:
    • User.Read.All
    • Directory.Read.All
    • AuditLog.Read.All (opcional, para sign-in history + risky users)
  • Un client secret válido.

En Integraciones → Microsoft 365 → Configurar, pegás:

  • Azure Tenant ID (GUID)
  • Client ID
  • Client Secret

La plataforma valida las credenciales antes de guardar. Si validan, corre el primer sync manualmente desde el mismo panel — trae los empleados activos con manager, licencias, métodos MFA y señales de riesgo de Identity Protection (si el tenant tiene Entra P2).

De ahí en adelante, un tick horario mantiene la base sincronizada.

Google Workspace

Requiere:

  • Un service account con delegated authority (domain-wide delegation).
  • Un admin user del dominio para el impersonate.
  • Scopes: admin.directory.user.readonly + admin.directory.orgunit.readonly.

En Integraciones → Google Workspace → Configurar, subís el JSON del service account y elegís el email del admin a impersonar.

Sync engine — decisiones importantes

  • Cross-source takeover: si un empleado existe como CSV y luego aparece en M365, la plataforma detecta el match por email y hace UPDATE en vez de INSERT (evita violar el unique constraint).
  • Soft-delete progresivo: cuando un empleado desaparece del directorio remoto, se marca active=false pero no se borra. Preserva la historia de campañas y clicks para el analytics.
  • opted_out es sticky: nunca se toca por sync. Se limpia solo por acción manual del admin en el UI.

Opt-out del empleado

Los empleados pueden opt-outearse a sí mismos desde el footer de cualquier landing educativa: click en “No quiero recibir más simulaciones” → link firmado válido 7 días → confirmación. Al confirmar, opted_out=true + active=false en la fila del empleado.