Wireframes only — layout & content, not final polish. 3 surfaces: (1) /admin/pools/reports, (2) inbox thread-header cooldown banner, (3) /audit-log rebuild.
| Aged FE List preset #2 | 1,240 members · 0 callable · 1,180 cooling | Refresh from source → |
| TX Mortgage Q2 manual | 312 members · 0 callable · 0 cooling · 312 terminal | View pool → |
| Pool | Source | Camps | Members | Callable now | Cooling | Dials 30d | Texts 30d | Agents reached 30d |
|---|---|---|---|---|---|---|---|---|
| Q4 Final Expense | preset #5 | 2 | 3,201 | 1,840 | 920 | 12,431 | 8,107 | 2,604 |
| Blast responders — May FE | responders | 1 | 689 | 203 | 410 | 2,118 | 3,902 | 601 |
| Aged FE List | preset #2 | 1 | 1,240 | 0 | 1,180 | 9,540 | 0 | 3,001 |
| TX Mortgage Q2 | manual | 1 | 312 | 0 | 0 | 980 | 0 | 120 |
Per-pool drill = a new Reporting tab on /admin/pools/[id] (next to Overview / Members / Settings): that pool's activity series + cooldown dist + refresh history table.
Shows ONLY when this agent's PoolMember has an active SMS cooldown (next_textable_at > now). Voice cooldown shown as secondary line if also active.
Replaces the current dumb 100-row table. Server-side filters via searchParams, cursor pagination, expandable rows with before/after JSON. SUPERADMIN/ADMIN only.
| Time | User | Action | Entity | IP | |
|---|---|---|---|---|---|
| ▸ | May 11, 2:14 PM | R. Leads | pool_status_change | LeadPool #5 | 10.0.0.4 |
|
before {
"status": "ACTIVE",
"refreshMode": "AUTO_NIGHTLY"
}after {
"status": "PAUSED",
"refreshMode": "AUTO_NIGHTLY"
} | |||||
| ▸ | May 9, 11:02 AM | R. Leads | pool_member_bulk_add | LeadPool #5 | 10.0.0.4 |
| ▸ | May 8, 4:40 PM | System | pool_create | LeadPool #5 | — |
Deep-links: /admin/pools “View audit” → ?entityType=LeadPool · /admin/pools/[id] → ?entityType=LeadPool&entityId=X (also surfaces entityType=PoolMember entries for that pool's members).
— end —