Registro de auditoría de la organización
El registro de actividad es el feed canónico de "quién cambió qué" para tu organización. Cada escritura material a una entidad rastreada — miembro, asistencia, donación, grupo, ministerio, unidad organizativa, escuela o inscripción — escribe una fila aquí, automáticamente, vía un trigger de base de datos que no puede ser evitado por el código de la aplicación.
Ábrelo desde la barra lateral bajo Registro de actividad, o visita /activity-log directamente.

Leer una entrada
Cada fila te dice cuatro cosas en lenguaje claro:
Sarah Patel actualizó members — Cambiado: email, phone — hace 2 horas
| Pieza | De dónde viene |
|---|---|
| Nombre del actor | actor_id → resuelto al nombre completo del usuario; recae en el correo si el perfil ya no existe |
| Verbo | La columna de acción (created, updated, deleted, restored, merge_members, …) |
| Enlace de entidad | Si el tipo de entidad tiene una ruta de detalle (members, groups, ministries, schools), la fila enlaza directamente a ella |
| Columnas cambiadas | Para acciones updated, la lista de columnas que cambiaron — no los valores anteriores/posteriores |
| Marca de tiempo | Relativa ("hace 2 horas"); pasa el cursor para ver la fecha absoluta en la zona horaria de tu organización |
Las escrituras del sistema — acciones de workflow, trabajos programados, edge functions ejecutándose sin un usuario autenticado — muestran System como actor en lugar de una persona.
Filtrar
El encabezado tiene tres filtros que se combinan con AND:
- Tipo de entidad — limita a solo miembros, donaciones, asistencias, etc. Usa esto cuando investigas una tabla específica.
- Acción — created, updated, deleted, restored. Por defecto, todas.
- Correo del actor — coincidencia parcial de texto libre. Escribe
@tuiglesia.orgpara ver solo las escrituras del personal; escribe una dirección parcial para encontrar a una persona.
Los filtros se manejan por URL, así que puedes guardar como favorito o compartir una vista filtrada (/activity-log?entity=donations&action=deleted y demás).
TIP
El registro de actividad es de desplazamiento infinito — las entradas antiguas se cargan al desplazarte más allá del final. Aplica los filtros primero si vas tras un evento específico; el caudal sin filtrar puede ser de 10.000+ filas al mes para una organización ocupada.
Investigaciones comunes
"Un monto de donación cambió y no sé por qué"
- Abre
/activity-log - Establece el filtro de entidad a donations
- Establece el filtro de acción a updated
- Opcionalmente filtra por correo del actor si sospechas de una persona específica
- Busca la donación; haz clic para verificar contra el registro actual
La pista de columnas cambiadas te dirá si se tocó amount, fund o solo las notas.
"¿Quién eliminó a este miembro?"
- Filtra entidad a members, acción a deleted
- Desplázate hasta la fecha en cuestión
- La columna de actor te dice exactamente quién lo hizo y cuándo
Los miembros eliminados son borrados lógicamente — siguen en la base de datos con deleted_at establecido. La fila de auditoría preserva al actor; la fila del miembro preserva los datos. Puedes restaurar desde la papelera de reciclaje dentro de 30 días.
"¿El workflow realmente se ejecutó anoche?"
Las acciones de workflow escriben entradas con actor_email = system y metadatos que describen la ejecución del workflow. Filtra el correo del actor a system para ver solo la actividad automatizada.
Cómo se ven los datos por debajo
La tabla org_audit_log:
id uuid primary key
organization_id uuid -- scoped by current_org_id() RLS
actor_id uuid -- null for system writes
actor_email text -- denormalized for the case the profile is gone
action text -- 'created' | 'updated' | 'deleted' | 'restored' | …
entity_type text -- table name
entity_id uuid -- row id in that table
metadata jsonb -- { changed: [...], reason: '...', … }
created_at timestamptzEl arreglo metadata.changed lista los nombres de las columnas. El campo metadata.reason, cuando está presente, es una justificación de texto libre proporcionada por la acción que escribió la fila — por ejemplo, el motivo de ejecución del workflow o una explicación manual de "marcado como perdido".
Diferencias frente a la pestaña de auditoría de Datos y Registros
La misma tabla org_audit_log alimenta la pestaña de auditoría en Datos y Registros. Las diferencias son:
/activity-log | Datos y Registros → Auditoría | |
|---|---|---|
| Permiso | users.manage | config.manage |
| Filas mostradas | Desplazamiento infinito, todas las filas | Últimas 50, sin paginación |
| Filtros | Entidad, acción, correo del actor | Ninguno |
| Úsalo para | Investigaciones, auditorías | Un vistazo rápido a "¿qué pasó recientemente?" durante una sesión de configuración |
La mayoría de los administradores usan /activity-log día a día. La pestaña de Datos y Registros existe para que un rol solo-de-configuración (sin users.manage) pueda ver la actividad reciente sin otorgarle el permiso mayor.
Véase también
- Registro de actividad del miembro para las cronologías por miembro
- Exportar registros para las exportaciones CSV
