Skip to content

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

  1. Log in as Administrator
  2. Go to Settings → General
  3. 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

  1. 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)
  2. Logo Settings:

    • Logo Width - Maximum width in pixels
    • Logo Height - Maximum height in pixels
    • Logo Position - Left, center, or right alignment

Custom CSS

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

  1. Test SMTP Connection:

    • Click "Test SMTP" button
    • System sends test email
    • Verify delivery in inbox
  2. Test Email Templates:

    • Send test notifications
    • Verify formatting and content
    • Check spam folder

Email Templates

Notification Templates

  1. 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>
  2. 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>
  3. 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

php
// 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

php
// 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

php
// 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

php
// 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

sql
-- 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

php
// 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

php
// Health check endpoints
$healthChecks = [
    'database' => '/health/database',
    'email' => '/health/email',
    'cache' => '/health/cache',
    'queue' => '/health/queue',
    'storage' => '/health/storage'
];

Best Practices

Security Best Practices

  1. Regular Updates:

    • Keep system updated
    • Apply security patches
    • Update dependencies
  2. Strong Authentication:

    • Use strong passwords
    • Enable 2FA for admins
    • Regular password changes
  3. Data Protection:

    • Encrypt sensitive data
    • Regular backups
    • Access control

Performance Best Practices

  1. Caching:

    • Enable Redis caching
    • Cache frequently accessed data
    • Use CDN for static assets
  2. Database Optimization:

    • Proper indexing
    • Query optimization
    • Regular maintenance
  3. Monitoring:

    • Monitor system performance
    • Set up alerts
    • Regular health checks

Maintenance Best Practices

  1. Regular Backups:

    • Automated daily backups
    • Test backup restoration
    • Off-site backup storage
  2. Log Management:

    • Regular log rotation
    • Monitor error logs
    • Archive old logs
  3. System Updates:

    • Test updates in staging
    • Schedule maintenance windows
    • Document changes

Next Steps

  1. Configure User Management for team setup
  2. Set up Departments for organization
  3. Create Categories for ticket organization
  4. 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.

Released under the MIT License.