Overview
The Admin Dashboard provides comprehensive tools for managing users, monitoring WhatsApp sessions, and overseeing all campaign activity across the platform. Only users with theADMIN role can access these features.
User Management
Admins control user access through a three-tier approval system.Viewing Pending Users
Get all users awaiting approval (GUEST role):src/server/api/routers/admin.ts:8
Viewing Approved Users
Get all users with active access (USER or ADMIN roles):src/server/api/routers/admin.ts:29
Approving Users
Convert a GUEST user to a USER with full platform access:src/server/api/routers/admin.ts:52
When a user is approved, their role changes from
GUEST to USER, granting them access to create campaigns and manage WhatsApp sessions.Revoking Access
Downgrade a USER back to GUEST status:src/server/api/routers/admin.ts:69
Deleting Users
Permanently remove a user from the system:src/server/api/routers/admin.ts:101
Adding New Users
Admins can create users directly, bypassing the approval process:src/server/api/routers/admin.ts:132
Users created by admins are automatically set to
USER role, giving them immediate access without approval.Promoting to Admin
Grant admin privileges to an existing user:src/server/api/routers/admin.ts:177
WhatsApp Session Management
Monitor all active WhatsApp connections across users.Viewing Active Sessions
src/server/api/routers/admin.ts:190
- Session ID and name
- Phone number
- User ID
- Connection status
- Associated WhatsApp groups
- Creation and update timestamps
Session Data Model
prisma/schema.prisma:50
Session Management Best Practices
Session Management Best Practices
- Monitor sessions regularly for disconnections
- Each user can have one unique session
- Sessions cascade delete when users are removed
- Track session creation to identify issues
Group Management
View all WhatsApp groups across the system:src/server/api/routers/admin.ts:205
- Group ID and name
- Associated session
- Active campaigns
- Creation timestamp
Campaign Monitoring
Admins can view all active campaigns across all users:src/server/api/routers/admin.ts:221
Campaign Visibility
- Active Campaigns
- Excluded Campaigns
Campaigns with status:
SCHEDULED- Not yet startedIN_PROGRESS- Currently sending messages
Admin API Overview
User Operations
- Get pending users
- Get approved users
- Approve user
- Revoke access
- Delete user
- Add new user
- Make admin
System Monitoring
- View WhatsApp sessions
- View WhatsApp groups
- View active campaigns
- Track system health
Security Protections
Admin Account Protection
Admin Account Protection
- Admin users cannot be deleted
- Admin access cannot be revoked
- Prevents accidental system lockout
- Multiple admins recommended for redundancy
Role-Based Access
Role-Based Access
- All admin routes use
adminProcedure - Automatically validates ADMIN role
- Throws error if non-admin attempts access
- Session-based authentication
Data Validation
Data Validation
- User existence checked before operations
- Email uniqueness enforced
- Password requirements validated (8-100 chars)
- Proper error messages for all failures
User Lifecycle
Approval Decision
Admin either:
- Approves → User role changes to USER
- Rejects → User stays as GUEST or is deleted
Dashboard Metrics
Admins can track key platform metrics:Pending Users
Count of GUEST users awaiting approval
Active Users
Count of USER and ADMIN users
Connected Sessions
WhatsApp sessions with CONNECTED status
Active Campaigns
Campaigns in SCHEDULED or IN_PROGRESS status
Best Practices
User Approval Workflow
User Approval Workflow
- Review new registrations daily
- Verify user email addresses before approval
- Communicate with users about approval status
- Document reasons for rejection
Session Monitoring
Session Monitoring
- Check for disconnected sessions regularly
- Notify users of connection issues
- Monitor for duplicate sessions
- Track session creation patterns
Campaign Oversight
Campaign Oversight
- Review active campaigns for policy compliance
- Monitor message delivery success rates
- Identify and resolve failed campaigns
- Track overall system usage
Admin Account Management
Admin Account Management
- Maintain at least 2 admin accounts
- Use strong passwords for admin accounts
- Regularly audit admin actions
- Document admin procedures
Error Handling
The admin API provides clear error messages:Next Steps
Authentication
Learn about the authentication system
Notifications
Configure admin notifications