Approval and Quota System
Manage user content requests with configurable quotas and administrative approval workflows. Set limits by user, require approval for specific content, and maintain control over library growth.
Quick Setup
- Navigate to Plex → Users and select a user
- Click Edit Quotas to configure limits
- Set quota type (daily, weekly rolling, or monthly) and limits
- Optionally enable Requires Approval for manual review
- Configure approval settings in Approvals → Approval Settings (expiration, notifications)
- Monitor and manage requests in the Approvals section
Key Features
- User Quotas: Set daily, weekly rolling, or monthly limits per user for movies and shows
- Approval Workflows: Require admin approval for quota-exceeded or rule-based content
- Automatic Expiration: Configure requests to auto-expire or auto-approve after set timeframes
- Bulk Operations: Approve, reject, or delete multiple requests simultaneously
- Smart Auto-Approval: Automatically approve requests when content already exists in library
- Real-time Notifications: Discord and Apprise notifications for new approval requests
How It Works
- User adds content to their Plex watchlist
- System checks quota status and routing rules
- Approval created if limits exceeded or rules require it
- Admin reviews and approves/rejects requests
- Content routes to Sonarr/Radarr after approval
Quota Types
| Type | Description |
|---|---|
| Daily | Reset at midnight in your timezone |
| Weekly Rolling | 7-day rolling window that shifts each day |
| Monthly | Calendar month-based with configurable reset day |
Configuration
New User Defaults
Configure default quota and approval settings for newly discovered Plex users via Utilities > New User Defaults. This eliminates manual setup for each new user and ensures consistent policy enforcement. See the New User Defaults guide for complete details.
Individual User Management
Navigate to Plex → Users to manage individual user quotas:
User Settings
| Setting | Description |
|---|---|
| Quota Type | Daily, Weekly Rolling, or Monthly |
| Quota Limit | Number of allowed requests per period |
| Separate Limits | Different quotas for movies vs shows |
| Bypass Approval | Allow trusted users unlimited requests |
| Requires Approval | Force all requests from this user to require approval |
Approval Settings
Configure approval behavior in Approvals → Approval Settings:
| Setting | Description |
|---|---|
| Expiration Hours | How long before requests auto-expire (default: 72 hours) |
| Expiration Action | Auto-expire or auto-approve expired requests |
| Auto-Approve on Quota Reset | Approve pending requests when user's quota resets (disabled by default) |
| Cleanup Days | How long to keep expired requests in database |
| Notifications | Configure Discord and Apprise notifications for new requests |
When enabled, pending requests triggered by quota limits are automatically re-evaluated during maintenance runs. If the user's quota has reset and they have quota available, requests are auto-approved in FIFO order (oldest first). This eliminates manual approval of quota-exceeded requests after quotas reset.
Approval Management
The approval interface provides:
- Request Table: View all pending, approved, rejected, and expired requests
- Advanced Filtering: Filter by user, status, content type, trigger reason
- Real-time Updates: Live updates as requests are processed
- Bulk Actions: Process multiple requests efficiently
Approval Actions
Individual Actions:
- Approve & Execute: Routes content immediately
- Reject: Denies the request
- Delete: Removes from database
Routing Overrides (web UI only):
- Modify quality profile and root folder
- Adjust search settings, tags, and monitoring options
- Change series type, season monitoring (Sonarr)
- Set minimum availability (Radarr)
- Configure multi-instance syncing for default instances
Bulk Operations:
- Select multiple requests
- Apply action to all selected
- Add notes for record keeping
Content Router Integration
Configure approval requirements in routing rules:
IF season > 3
THEN require approval with reason "Long-running series requires approval"
The router stores complete routing decisions (instance, quality profile, tags) and executes them exactly as planned after approval.
Trigger Points
| Trigger | Description |
|---|---|
| Quota Exceeded | User reaches their daily/weekly/monthly limit |
| Router Rules | Content matches rules configured for approval |
| Manual Flags | User account set to require approval for all requests |
| Content Criteria | Specific attributes trigger approval |
Discord Bot Integration
Manage approvals directly from Discord:
- Direct Message Notifications: Primary admin receives DMs with "Review Approvals" button
- Interactive
/approvalsCommand: Browse pending requests with navigation buttons
- Full Management Interface: Approve, reject, view details, or delete requests
- History Browser: Filter and review past approvals by status
- Batch Notifications: Multiple requests grouped to reduce notification spam
- Mobile Friendly: Complete approval workflow from Discord mobile app
Best Practices
- Start with generous quotas and adjust based on usage
- Use router rules for premium or high-cost content
- Configure expiration to auto-handle old requests
- Enable notifications for timely processing
- Review usage statistics monthly
Troubleshooting
| Problem | Solution |
|---|---|
| Quotas not resetting | Check timezone configuration and cleanup settings |
| Approvals not routing | Verify target instances are still available |
| Missing notifications | Confirm Discord/Apprise configuration |
API Reference
See Approval API and Quota API for programmatic access.