System Settings
This comprehensive guide covers all system settings and configuration options available in HelpDesk Pro for administrators.
Overview
System settings control the core functionality and behavior of your HelpDesk Pro installation. These settings affect all users and determine how the system operates.
Accessing System Settings
Navigation
- Log in as Administrator
- Go to Settings → General
- Access different setting categories:
- General Settings
- Email Configuration
- Chat Settings
- AI Configuration
- Security Settings
- Integration Settings
General Settings
Application Configuration
Basic Information
Application Name: HelpDesk Pro
Application URL: https://yourdomain.com
Default Language: English
Default Timezone: UTC
Default Currency: USD
Date Format: Y-m-d
Time Format: H:i:s
Company Information
Company Name: Your Company Name
Company Address: 123 Main Street, City, State, ZIP
Company Phone: +1-555-0123
Company Email: support@yourdomain.com
Company Website: https://yourdomain.com
Tax ID: 12-3456789
Logo and Branding
Upload Company Logo:
- Logo - Main company logo (PNG/JPG, max 2MB)
- White Logo - White version for dark themes
- Favicon - Browser tab icon (PNG/ICO, max 512KB)
Logo Settings:
- Logo Width - Maximum width in pixels
- Logo Height - Maximum height in pixels
- Logo Position - Left, center, or right alignment
Custom CSS
/* Custom CSS for branding */
:root {
--primary-color: #667eea;
--secondary-color: #764ba2;
--accent-color: #f093fb;
}
.header {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
}
.btn-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
}
User Management Settings
Default User Settings
Default Role: Customer
Default Department: General Support
Default Language: English
Default Timezone: UTC
Require Email Verification: Yes
Allow User Registration: Yes
Password Policies
Minimum Password Length: 8 characters
Require Uppercase: Yes
Require Lowercase: Yes
Require Numbers: Yes
Require Special Characters: Yes
Password Expiration: 90 days
Password History: 5 previous passwords
Session Management
Session Lifetime: 120 minutes
Remember Me Duration: 30 days
Maximum Login Attempts: 5
Lockout Duration: 15 minutes
Require 2FA: No (optional)
Email Configuration
SMTP Settings
Basic SMTP Configuration
Mail Driver: SMTP
Mail Host: smtp.gmail.com
Mail Port: 587
Mail Username: support@yourdomain.com
Mail Password: your-app-password
Mail Encryption: TLS
Mail From Address: noreply@yourdomain.com
Mail From Name: Your Company Support
Advanced SMTP Settings
Mail Timeout: 30 seconds
Mail Retry Attempts: 3
Mail Queue: Yes
Mail Queue Connection: database
Mail Queue Timeout: 60 seconds
Email Testing
Test SMTP Connection:
- Click "Test SMTP" button
- System sends test email
- Verify delivery in inbox
Test Email Templates:
- Send test notifications
- Verify formatting and content
- Check spam folder
Email Templates
Notification Templates
New Ticket Notification:
html<h2>New Ticket Created</h2> <p>Hello {{agent_name}},</p> <p>A new ticket has been created:</p> <ul> <li><strong>Ticket ID:</strong> {{ticket_id}}</li> <li><strong>Subject:</strong> {{ticket_subject}}</li> <li><strong>Customer:</strong> {{customer_name}}</li> <li><strong>Priority:</strong> {{ticket_priority}}</li> </ul> <p><a href="{{ticket_url}}">View Ticket</a></p>
Ticket Status Update:
html<h2>Ticket Status Updated</h2> <p>Hello {{customer_name}},</p> <p>Your ticket {{ticket_id}} status has been updated to {{new_status}}.</p> <p><a href="{{ticket_url}}">View Ticket</a></p>
Password Reset:
html<h2>Password Reset Request</h2> <p>Hello {{user_name}},</p> <p>Click the link below to reset your password:</p> <p><a href="{{reset_url}}">Reset Password</a></p> <p>This link will expire in 60 minutes.</p>
Template Variables
// Available template variables
$templateVariables = [
'user_name' => 'User\'s full name',
'user_email' => 'User\'s email address',
'ticket_id' => 'Ticket unique identifier',
'ticket_subject' => 'Ticket subject line',
'ticket_status' => 'Current ticket status',
'ticket_priority' => 'Ticket priority level',
'customer_name' => 'Customer name',
'agent_name' => 'Agent name',
'company_name' => 'Company name',
'ticket_url' => 'Direct link to ticket',
'reset_url' => 'Password reset link',
'login_url' => 'Login page URL'
];
Chat Settings
Basic Chat Configuration
Chat System Settings
Enable Chat: Yes
Welcome Message: "Hello! How can we help you today?"
Offline Message: "We're currently offline. Please leave a message."
Business Hours: 9:00 AM - 6:00 PM (Monday-Friday)
Auto-close Inactive Chats: 30 minutes
Max Chat Duration: 2 hours
Chat Widget Settings
Widget Position: Bottom Right
Widget Color: #667eea
Widget Size: Medium
Show Agent Avatar: Yes
Show Typing Indicator: Yes
Enable Sound Notifications: Yes
Auto-open Widget: No
Chat Behavior Settings
Max Message Length: 1000 characters
Allow File Attachments: Yes
Max File Size: 10MB
Allowed File Types: jpg,jpeg,png,gif,pdf,doc,docx,txt,zip
Enable Emoji: Yes
Enable Chat History: Yes
Chat History Retention: 90 days
Pusher Configuration
Pusher Settings
App ID: your-pusher-app-id
App Key: your-pusher-app-key
App Secret: your-pusher-app-secret
App Cluster: us2
Encrypted: Yes
WebSocket Settings
WebSocket Host: yourdomain.com
WebSocket Port: 6001
WebSocket Protocol: wss
Enable SSL: Yes
SSL Certificate: /path/to/certificate
AI Configuration
OpenAI Integration
API Configuration
OpenAI API Key: sk-your-api-key-here
OpenAI Organization: org-your-org-id
Default Model: gpt-4
Max Tokens: 1000
Temperature: 0.7
Timeout: 30 seconds
AI Features
Smart Ticket Classification: Yes
Response Suggestions: Yes
Sentiment Analysis: Yes
Predictive Analytics: Yes
Auto-routing: Yes
AI Thresholds
Classification Confidence: 80%
Suggestion Confidence: 70%
Sentiment Threshold: 60%
Auto-routing Confidence: 85%
AI Model Settings
Classification Models
// AI classification configuration
$classificationModels = [
'technical_issues' => [
'keywords' => ['error', 'bug', 'issue', 'problem', 'not working'],
'confidence_threshold' => 0.8,
'target_department' => 'Technical Support'
],
'billing_questions' => [
'keywords' => ['payment', 'invoice', 'refund', 'charge', 'billing'],
'confidence_threshold' => 0.7,
'target_department' => 'Billing'
],
'general_inquiries' => [
'keywords' => ['question', 'help', 'information', 'how to'],
'confidence_threshold' => 0.6,
'target_department' => 'General Support'
]
];
Response Templates
// AI response templates
$responseTemplates = [
'greeting' => 'Hello {{customer_name}}, thank you for contacting us.',
'closing' => 'Is there anything else I can help you with?',
'escalation' => 'I\'m escalating this to our senior support team.',
'resolution' => 'I believe this resolves your issue. Please let me know if you need further assistance.'
];
Security Settings
Authentication Security
Login Security
Require Strong Passwords: Yes
Enable 2FA: Optional
Session Timeout: 120 minutes
Max Login Attempts: 5
Lockout Duration: 15 minutes
Remember Me: 30 days
Two-Factor Authentication
2FA Method: TOTP (Time-based One-Time Password)
2FA App: Google Authenticator, Authy
Backup Codes: 10 codes
2FA Required for Admins: Yes
2FA Required for Agents: Optional
Data Security
Data Encryption
Encrypt Sensitive Data: Yes
Encryption Method: AES-256
Encrypt Chat Messages: Yes
Encrypt File Attachments: Yes
Encrypt User Data: Yes
Data Retention
Chat History Retention: 90 days
Ticket History Retention: 2 years
User Data Retention: 2 years
Log Retention: 30 days
Backup Retention: 1 year
Privacy Settings
GDPR Compliance: Yes
Data Anonymization: Yes
Right to Deletion: Yes
Data Portability: Yes
Consent Management: Yes
Access Control
IP Restrictions
Allowed IPs: 192.168.1.0/24, 10.0.0.0/8
Blocked IPs: 192.168.100.1, 10.0.0.100
Enable IP Whitelist: Yes
Enable IP Blacklist: Yes
Role-Based Access
// Role permissions
$rolePermissions = [
'admin' => [
'tickets.create' => true,
'tickets.edit' => true,
'tickets.delete' => true,
'users.manage' => true,
'settings.manage' => true,
'reports.view' => true
],
'agent' => [
'tickets.create' => true,
'tickets.edit' => true,
'tickets.delete' => false,
'users.manage' => false,
'settings.manage' => false,
'reports.view' => true
],
'customer' => [
'tickets.create' => true,
'tickets.edit' => false,
'tickets.delete' => false,
'users.manage' => false,
'settings.manage' => false,
'reports.view' => false
]
];
Integration Settings
Third-Party Integrations
CRM Integration
CRM Type: Salesforce, HubSpot, Pipedrive
API Endpoint: https://api.crm.com/v1
API Key: your-api-key
Sync Contacts: Yes
Sync Tickets: Yes
Sync Frequency: Real-time
Help Desk Integration
Integration Type: Zendesk, Freshdesk, Intercom
API Endpoint: https://api.helpdesk.com/v1
API Key: your-api-key
Sync Direction: Bidirectional
Sync Fields: tickets, contacts, conversations
Analytics Integration
Google Analytics: Yes
Google Analytics ID: GA-XXXXXXXXX
Facebook Pixel: Yes
Facebook Pixel ID: 123456789
Custom Analytics: Yes
Custom Tracking Code: <script>...</script>
API Configuration
API Settings
Enable API: Yes
API Version: v1
API Rate Limit: 1000 requests/hour
API Authentication: Bearer Token
API Documentation: Yes
Webhook Settings
Enable Webhooks: Yes
Webhook URL: https://yourdomain.com/webhook
Webhook Secret: your-webhook-secret
Webhook Events: ticket.created, ticket.updated, chat.started
Performance Settings
Caching Configuration
Cache Settings
Cache Driver: Redis
Cache Prefix: helpdesk_
Cache TTL: 3600 seconds
Enable Query Cache: Yes
Enable Route Cache: Yes
Enable View Cache: Yes
Redis Configuration
Redis Host: 127.0.0.1
Redis Port: 6379
Redis Password: your-redis-password
Redis Database: 0
Redis Connection Pool: 10
Database Optimization
Database Settings
Connection Pool: 20
Query Timeout: 30 seconds
Enable Query Logging: No
Enable Slow Query Log: Yes
Slow Query Threshold: 2 seconds
Index Optimization
-- Database indexes for performance
CREATE INDEX idx_tickets_status ON tickets(status);
CREATE INDEX idx_tickets_priority ON tickets(priority);
CREATE INDEX idx_tickets_created_at ON tickets(created_at);
CREATE INDEX idx_tickets_customer_id ON tickets(customer_id);
CREATE INDEX idx_tickets_agent_id ON tickets(agent_id);
Backup and Maintenance
Backup Configuration
Automated Backups
Backup Frequency: Daily
Backup Time: 2:00 AM
Backup Retention: 30 days
Backup Location: /backups/helpdesk/
Backup Compression: Yes
Backup Encryption: Yes
Backup Content
Database: Yes
File Attachments: Yes
Chat History: Yes
User Data: Yes
Configuration: Yes
Logs: Yes
Maintenance Settings
System Maintenance
Maintenance Mode: No
Maintenance Message: "System is under maintenance. Please try again later."
Maintenance IPs: 192.168.1.100, 10.0.0.50
Auto-maintenance: No
Maintenance Schedule: Sunday 2:00 AM
Log Management
Log Level: INFO
Log Rotation: Daily
Log Retention: 30 days
Log Compression: Yes
Log Location: /storage/logs/
Monitoring and Alerts
System Monitoring
Performance Monitoring
Enable Monitoring: Yes
Monitor CPU Usage: Yes
Monitor Memory Usage: Yes
Monitor Disk Space: Yes
Monitor Database Performance: Yes
Alert Thresholds
CPU Usage Alert: 80%
Memory Usage Alert: 85%
Disk Space Alert: 90%
Response Time Alert: 5 seconds
Error Rate Alert: 5%
Notification Settings
Alert Notifications
Email Alerts: Yes
SMS Alerts: No
Slack Alerts: Yes
Webhook Alerts: Yes
Alert Recipients: admin@yourdomain.com
Alert Types
// Alert configuration
$alertTypes = [
'system_down' => [
'enabled' => true,
'threshold' => 'immediate',
'recipients' => ['admin@yourdomain.com']
],
'high_cpu_usage' => [
'enabled' => true,
'threshold' => '80%',
'recipients' => ['admin@yourdomain.com']
],
'disk_space_low' => [
'enabled' => true,
'threshold' => '90%',
'recipients' => ['admin@yourdomain.com']
]
];
Troubleshooting Settings
Debug Configuration
Debug Settings
Debug Mode: No
Debug Level: ERROR
Log Queries: No
Log Requests: No
Log Responses: No
Error Handling
Error Reporting: Yes
Error Logging: Yes
Error Notifications: Yes
Error Page: Custom
Error Email: admin@yourdomain.com
Diagnostic Tools
System Diagnostics
Check Database Connection: Yes
Check Email Configuration: Yes
Check File Permissions: Yes
Check Cache Status: Yes
Check Queue Status: Yes
Health Checks
// Health check endpoints
$healthChecks = [
'database' => '/health/database',
'email' => '/health/email',
'cache' => '/health/cache',
'queue' => '/health/queue',
'storage' => '/health/storage'
];
Best Practices
Security Best Practices
Regular Updates:
- Keep system updated
- Apply security patches
- Update dependencies
Strong Authentication:
- Use strong passwords
- Enable 2FA for admins
- Regular password changes
Data Protection:
- Encrypt sensitive data
- Regular backups
- Access control
Performance Best Practices
Caching:
- Enable Redis caching
- Cache frequently accessed data
- Use CDN for static assets
Database Optimization:
- Proper indexing
- Query optimization
- Regular maintenance
Monitoring:
- Monitor system performance
- Set up alerts
- Regular health checks
Maintenance Best Practices
Regular Backups:
- Automated daily backups
- Test backup restoration
- Off-site backup storage
Log Management:
- Regular log rotation
- Monitor error logs
- Archive old logs
System Updates:
- Test updates in staging
- Schedule maintenance windows
- Document changes
Next Steps
- Configure User Management for team setup
- Set up Departments for organization
- Create Categories for ticket organization
- Enable Automation for efficiency
System Settings form the foundation of your HelpDesk Pro installation. Proper configuration ensures optimal performance, security, and user experience. Take time to review and configure these settings according to your organization's needs.