Skip to content

Live Chat

HelpDesk Pro includes a powerful live chat system that enables real-time communication between your support team and customers. This guide covers all aspects of the chat functionality.

Overview

What is Live Chat?

Live chat is a real-time communication tool that allows:

  • Instant messaging between customers and agents
  • File sharing for documents and images
  • Chat history for reference and follow-up
  • Multi-agent support with conversation routing
  • Mobile optimization for on-the-go support
  • Integration with ticket system

Chat Features

  • Real-time messaging with instant delivery
  • Typing indicators to show when someone is typing
  • File attachments for sharing documents and images
  • Emoji support for better communication
  • Chat templates for common responses
  • Conversation transfer between agents
  • Offline messaging when agents are unavailable
  • Mobile responsive design for all devices

Setting Up Live Chat

Admin Configuration

Enable Live Chat

  1. Go to Settings → Chat
  2. Configure basic 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 AM - 6 PM (Monday-Friday)

Chat Widget Configuration

  1. Widget Appearance:

    • Choose color scheme
    • Set widget position (bottom-right, bottom-left)
    • Customize chat button text
    • Add company logo
  2. Widget Behavior:

    • Auto-open on page load
    • Show typing indicators
    • Enable sound notifications
    • Set message character limit

Agent Settings

  1. Go to Users → Agents
  2. Configure chat permissions:
    • Enable chat access
    • Set department restrictions
    • Configure notification preferences
    • Set availability status

Pusher Configuration

Set Up Pusher Account

  1. Create account at pusher.com
  2. Create new app in dashboard
  3. Copy credentials to HelpDesk Pro:
    App ID: your-app-id
    App Key: your-app-key
    App Secret: your-app-secret
    Cluster: us2 (or your region)

Configure in HelpDesk Pro

  1. Go to Settings → Pusher
  2. Enter Pusher credentials
  3. Test connection
  4. Save configuration

Using Live Chat

Agent Interface

Chat Dashboard

The chat dashboard shows:

  • Active conversations - Currently ongoing chats
  • Waiting queue - Customers waiting for agents
  • Chat history - Previous conversations
  • Agent status - Online/offline/busy indicators
  • Performance metrics - Response times, satisfaction scores

Starting a Chat Session

  1. Customer initiates chat from your website
  2. Chat appears in agent dashboard
  3. Agent accepts conversation
  4. Real-time chat begins

Chat Interface Elements

┌─────────────────────────────────────┐
│ Customer: John Smith                │
│ Status: Online                      │
│ ─────────────────────────────────── │
│                                     │
│ Customer: Hello, I need help with   │
│           my account                │
│                                     │
│ Agent: Hi John! I'd be happy to     │
│        help you with your account.  │
│        What specific issue are you  │
│        experiencing?                │
│                                     │
│ [Customer is typing...]             │
│                                     │
│ ─────────────────────────────────── │
│ [Type your message...] [Send]       │
│ [📎] [😊] [Template] [Transfer]     │
└─────────────────────────────────────┘

Customer Interface

Chat Widget

The chat widget appears on your website:

  • Chat button - Floating button to start chat
  • Chat window - Expandable conversation area
  • Message input - Text area for typing messages
  • File upload - Button to attach files
  • Emoji picker - Emoji selection tool

Starting a Chat

  1. Click chat button on website
  2. Enter name and email (first time)
  3. Type initial message
  4. Wait for agent response
  5. Continue conversation

Chat Management

Conversation Management

Accepting Conversations

  1. Chat notification appears in agent dashboard
  2. Click "Accept" button
  3. Conversation opens in chat interface
  4. Start communicating with customer

Transferring Conversations

  1. Click "Transfer" button
  2. Select target agent or department
  3. Add transfer reason
  4. Complete transfer
  5. Notify both agents

Ending Conversations

  1. Click "End Chat" button
  2. Add closing message (optional)
  3. Rate conversation (optional)
  4. Close chat session
  5. Conversation saved to history

Chat Templates

Creating Templates

  1. Go to Chat → Templates

  2. Click "Create Template"

  3. Fill out template:

    Name: Greeting Template
    Category: Greetings
    Content: Hello! Thank you for contacting us. 
             How can I help you today?
  4. Save template

Using Templates

  1. Click "Templates" button in chat
  2. Select template category
  3. Choose template
  4. Customize if needed
  5. Send message

Template Categories

  • Greetings - Welcome messages
  • Closings - End of conversation
  • Common Responses - Frequent answers
  • Technical Support - Technical help
  • Billing - Payment-related responses

File Sharing

Supported File Types

  • Images - JPG, PNG, GIF, WebP
  • Documents - PDF, DOC, DOCX, TXT
  • Archives - ZIP, RAR
  • Maximum size - 10MB per file

Sharing Files

  1. Click attachment button (📎)
  2. Select file from computer
  3. Add optional message
  4. Send file
  5. File appears in chat history

File Security

  • Virus scanning - All files scanned
  • File type validation - Only allowed types
  • Size limits - Prevents large uploads
  • Access control - Only chat participants can view

Advanced Chat Features

Chat Routing

Automatic Routing

php
// Chat routing rules
$routingRules = [
    'department_based' => [
        'technical_issues' => 'Technical Support',
        'billing_questions' => 'Billing Department',
        'general_inquiries' => 'General Support'
    ],
    'skill_based' => [
        'advanced_technical' => 'Senior Agents',
        'basic_support' => 'Junior Agents',
        'escalation' => 'Team Leads'
    ],
    'workload_based' => [
        'balance_load' => true,
        'max_concurrent_chats' => 5,
        'queue_management' => true
    ]
];

Manual Routing

  1. Agent receives chat
  2. Determines appropriate department
  3. Transfers to correct agent
  4. Adds routing notes
  5. Monitors transfer success

Chat Analytics

Performance Metrics

  • Response time - Average time to first response
  • Resolution time - Average chat duration
  • Customer satisfaction - Chat ratings
  • Agent productivity - Chats per agent
  • Peak hours - Busiest chat times

Real-time Dashboard

javascript
// Chat analytics data
const chatMetrics = {
    activeChats: 12,
    waitingCustomers: 3,
    averageResponseTime: '2.5 minutes',
    customerSatisfaction: 4.7,
    totalChatsToday: 45,
    resolvedChats: 42
};

Chat Integration

Ticket Integration

  1. Convert chat to ticket:

    • Click "Create Ticket" button
    • Chat history included
    • Customer information transferred
    • Agent assigned automatically
  2. Link existing ticket:

    • Search for customer tickets
    • Link chat to ticket
    • Share ticket information
    • Update ticket with chat notes

Knowledge Base Integration

  1. Search knowledge base during chat
  2. Share articles with customers
  3. Create articles from chat content
  4. Update existing articles based on chat feedback

Mobile Chat

Mobile Optimization

Responsive Design

  • Touch-friendly interface
  • Swipe gestures for navigation
  • Optimized keyboard for mobile
  • Fast loading on mobile networks

Mobile Features

  • Push notifications for new messages
  • Offline support for poor connections
  • Camera integration for photo sharing
  • Voice messages (if supported)

Mobile App Features

  • Native notifications - Real-time alerts
  • Background sync - Messages sync when app opens
  • Offline mode - Queue messages when offline
  • Quick responses - Pre-written responses

Chat Best Practices

For Agents

Communication Best Practices

  1. Respond Quickly - Aim for under 2 minutes
  2. Use Professional Language - Clear and courteous
  3. Ask Clarifying Questions - Understand the problem
  4. Provide Step-by-Step Solutions - Clear instructions
  5. Follow Up - Ensure issue is resolved

Technical Best Practices

  1. Use Templates - For common responses
  2. Share Relevant Files - Screenshots, guides
  3. Transfer When Needed - Don't hesitate to escalate
  4. Document Conversations - Add notes for future reference
  5. Rate Conversations - Provide feedback on quality

For Customers

Effective Communication

  1. Be Specific - Describe the problem clearly
  2. Provide Context - Include relevant details
  3. Be Patient - Allow time for agent response
  4. Ask Questions - Clarify if you don't understand
  5. Rate Service - Provide feedback on experience

Technical Tips

  1. Check Internet Connection - Ensure stable connection
  2. Enable Notifications - Don't miss agent responses
  3. Share Screenshots - Visual aids help agents
  4. Keep Chat Window Open - Don't close during conversation
  5. Save Chat History - Reference for future issues

Troubleshooting

Troubleshooting Common Issues

Chat Not Loading

  1. Check internet connection
  2. Clear browser cache
  3. Disable browser extensions
  4. Try different browser
  5. Check firewall settings

Messages Not Sending

  1. Verify internet connection
  2. Check message length (character limit)
  3. Try refreshing page
  4. Clear browser cache
  5. Contact administrator

File Upload Issues

  1. Check file size (max 10MB)
  2. Verify file type (allowed formats)
  3. Try different file
  4. Check internet speed
  5. Contact support

Agent Not Responding

  1. Wait a few minutes - Agent may be busy
  2. Check agent status - Online/offline indicator
  3. Try during business hours
  4. Leave offline message
  5. Create support ticket

Performance Troubleshooting

Slow Chat Loading

  1. Check internet speed
  2. Close other browser tabs
  3. Clear browser cache
  4. Try incognito mode
  5. Contact administrator

Connection Drops

  1. Check internet stability
  2. Refresh chat window
  3. Reconnect to chat
  4. Check firewall settings
  5. Try different network

Security and Privacy

Data Protection

Chat Data Security

  • Encrypted transmission - All messages encrypted
  • Secure storage - Chat history stored securely
  • Access control - Only authorized users can access
  • Data retention - Configurable retention periods
  • GDPR compliance - Privacy regulation compliance

Privacy Settings

php
// Privacy configuration
$privacySettings = [
    'data_retention' => '90 days',
    'anonymize_data' => true,
    'export_data' => true,
    'delete_data' => true,
    'audit_logging' => true
];

User Privacy

Customer Privacy

  • Anonymous chat - No registration required
  • Data minimization - Only collect necessary data
  • Consent management - Clear privacy policies
  • Right to deletion - Remove personal data
  • Data portability - Export chat history

Agent Privacy

  • Secure access - Authentication required
  • Session management - Automatic logout
  • Activity logging - Track agent actions
  • Permission control - Role-based access
  • Audit trails - Complete activity history

Integration Options

Website Integration

Embedding Chat Widget

html
<!-- Chat widget integration -->
<script>
  window.helpdeskChat = {
    appId: 'your-app-id',
    apiKey: 'your-api-key',
    position: 'bottom-right',
    theme: 'light',
    welcomeMessage: 'Hello! How can we help you?'
  };
</script>
<script src="https://yourdomain.com/chat/widget.js"></script>

Custom Styling

css
/* Custom chat widget styling */
.helpdesk-chat-widget {
  background-color: #667eea;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.helpdesk-chat-button {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  cursor: pointer;
}

API Integration

Chat API Endpoints

php
// Chat API examples
Route::post('/api/chat/init', [ChatController::class, 'init']);
Route::post('/api/chat/send', [ChatController::class, 'sendMessage']);
Route::get('/api/chat/history/{id}', [ChatController::class, 'getHistory']);
Route::post('/api/chat/transfer', [ChatController::class, 'transferChat']);
Route::post('/api/chat/end', [ChatController::class, 'endChat']);

Webhook Integration

php
// Chat webhooks
$webhooks = [
    'chat_started' => 'https://yourdomain.com/webhook/chat-started',
    'chat_ended' => 'https://yourdomain.com/webhook/chat-ended',
    'message_sent' => 'https://yourdomain.com/webhook/message-sent',
    'chat_transferred' => 'https://yourdomain.com/webhook/chat-transferred'
];

Monitoring and Analytics

Real-time Monitoring

Chat Dashboard Metrics

  • Active conversations - Current chat count
  • Waiting customers - Queue length
  • Agent availability - Online/offline status
  • Response times - Average response time
  • Satisfaction scores - Customer ratings

Performance Alerts

php
// Performance alert thresholds
$alertThresholds = [
    'response_time' => '5 minutes',
    'queue_length' => 10,
    'satisfaction_score' => 3.0,
    'agent_availability' => '20%'
];

Reporting

Daily Reports

  • Chat volume - Number of chats per day
  • Response times - Average response times
  • Resolution rates - Percentage of resolved chats
  • Customer satisfaction - Average ratings
  • Agent performance - Individual agent metrics

Weekly Reports

  • Trend analysis - Performance trends over time
  • Peak hours - Busiest chat times
  • Common issues - Most frequent problems
  • Agent workload - Workload distribution
  • Improvement areas - Areas needing attention

Next Steps

  1. Explore Ticket Management for integrated support
  2. Learn Knowledge Base for self-service
  3. Set up AI Features for intelligent automation
  4. Review Analytics for performance insights

Master Live Chat to provide instant, personalized customer support. The real-time nature of chat makes it perfect for urgent issues and provides a more personal touch than traditional support channels.

Released under the MIT License.