You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Customer Service & Support module for HotCRM - Complete omnichannel case management, SLA tracking, knowledge base, and AI-powered intelligent routing.
Overview
This package provides comprehensive customer support functionality including multi-channel case management, SLA tracking with breach prediction, intelligent routing, knowledge base with RAG capabilities, and customer portal/community features.
Comments, responses, interaction history with sentiment analysis, threading, internal/external visibility, rich text support
Knowledge Management
Object
Label
Description
knowledge_article
Knowledge Article
Knowledge base articles with AI scoring, quality metrics, multi-language support, version control, approval workflows, RAG-ready with vector embeddings
SLA & Commitment Management
Object
Label
Description
sla_template
SLA Template
Service level templates defining response and resolution time targets by priority
sla_policy
SLA Policy
Comprehensive SLA policies with multi-tier support (Platinum, Gold, Silver, Bronze, Standard), escalation automation, entitlement rules
sla_milestone
SLA Milestone
Milestone tracking for case lifecycle events (First Response, In Progress, Resolution) with violation monitoring
Routing & Assignment
Object
Label
Description
queue
Queue
Support team queues with 3 routing methods (Round Robin, Skill-Based, AI-Powered), load balancing, overflow handling
queue_member
Queue Member
Agent assignments with workload tracking, performance metrics, availability status
routing_rule
Routing Rule
Intelligent routing rules with AI classification, priority-based routing, time-based routing, escalation triggers
skill
Skill
Skill definitions for skill-based routing with certification requirements, proficiency levels
agent_skill
Agent Skill
Agent proficiency levels (1-5) with training records, certification management, last assessment dates
Business Configuration
Object
Label
Description
business_hours
Business Hours
Working hours calendar for SLA calculations with timezone support, 24/7 option, holiday exclusions
holiday_calendar
Holiday Calendar
Holiday management for business hours exclusions with regional support
holiday
Holiday
Individual holiday definitions with recurring support (Annual, One-Time, Floating)
escalation_rule
Escalation Rule
Automatic escalation based on SLA violations, priority thresholds, age criteria, condition-based triggers
Customer Portal & Community
Object
Label
Description
portal_user
Portal User
Customer portal access with tier-based permissions (Basic, Premium, Enterprise), case submission, knowledge access
forum_topic
Forum Topic
Community forum discussion topics with categories, moderation, pinning, view/reply counts
forum_post
Forum Post
Forum post replies with voting (helpful/not helpful), quality scoring, spam detection, moderation
Case Intake Channels
Object
Label
Description
email_to_case
Email to Case
Email-to-case automation with threading, AI categorization, spam detection, attachment handling, auto-response
web_to_case
Web to Case
Web form configuration for case submission with CAPTCHA, spam protection, field mapping, auto-assignment
social_media_case
Social Media Case
Social platform integration (WeChat, WhatsApp, Twitter, Facebook, Instagram, LinkedIn) with sentiment analysis, auto-response
import{db}from'../db';// Create a case (auto-checks entitlement and assigns SLA)constsupportCase=awaitdb.create('case',{account: 'acc_123',contact: 'cont_456',subject: 'Unable to login to system',description: 'Getting error message when trying to login',priority: 'High',origin: 'Email',type: 'Problem',category: 'Technical'});// → CaseEntitlementCheck hook: Verifies contract, applies SLA (e.g., Gold: 2h/8h), calculates target dates// Add a commentconstcomment=awaitdb.create('case_comment',{case: supportCase.id,comment: 'Investigated issue, found authentication service down',is_internal: true,sentiment: 'neutral'});// Close case with resolutionawaitdb.update('case',supportCase.id,{status: 'Resolved',resolution: 'Restarted authentication service, issue fixed'});
Using AI Actions
import{autoCategorizeCasе,assignCaseIntelligently,recommendKnowledgeArticles,predictSLABreach,analyzeSentiment}from'@hotcrm/support';// Auto-categorize caseconstcategorization=awaitautoCategorizeCase({caseId: 'case_123',subject: 'Unable to login',description: 'Getting authentication error'});console.log(categorization.type);// 'Problem'console.log(categorization.category);// 'Technical'console.log(categorization.reason);// 'Login Issue'console.log(categorization.confidence);// 0.95// Intelligent case assignmentconstassignment=awaitassignCaseIntelligently({caseId: 'case_123',routingMethod: 'AI-Powered'});console.log(assignment.assignedAgent);// Best available agentconsole.log(assignment.reasoning);// Why this agentconsole.log(assignment.skillMatch);// Skill match score (0-100)// Recommend knowledge articles (RAG)constarticleRecs=awaitrecommendKnowledgeArticles({caseId: 'case_123',query: 'login authentication error',topN: 5});console.log(articleRecs.articles);// Top 5 relevant articlesconsole.log(articleRecs.relevanceScores);// Semantic similarity scoresconsole.log(articleRecs.suggestedAnswer);// RAG-generated answer// Predict SLA breachconstbreachPrediction=awaitpredictSLABreach({caseId: 'case_123'});console.log(breachPrediction.probability);// 0-100%console.log(breachPrediction.estimatedResolutionTime);// Hoursconsole.log(breachPrediction.recommendation);// 'Escalate immediately'console.log(breachPrediction.riskFactors);// Contributing factors// Analyze sentimentconstsentiment=awaitanalyzeSentiment({text: 'This is extremely frustrating! I need help NOW!'});console.log(sentiment.sentiment);// 'negative'console.log(sentiment.urgency);// 'high'console.log(sentiment.emotionScores);// { anger: 0.8, frustration: 0.9 }
Knowledge Management
import{scoreArticleQuality,generateArticleTags,analyzeKnowledgeGaps,generateAnswerFromRAG}from'@hotcrm/support';// Create knowledge article (auto-scored and tagged)constarticle=awaitdb.create('knowledge_article',{title: 'How to Reset Your Password',content: '1. Click Forgot Password...',category: 'Authentication',status: 'Published',visibility: 'Public'});// → KnowledgeArticleScoringTrigger: Calculates quality score// → KnowledgeArticleAIEnhancementTrigger: Auto-tags, generates summary// Get AI-generated answer from knowledge baseconstragAnswer=awaitgenerateAnswerFromRAG({query: 'How do I reset my password?',context: 'User cannot login'});console.log(ragAnswer.answer);// Generated answer from articlesconsole.log(ragAnswer.sourceArticles);// Referenced articlesconsole.log(ragAnswer.confidence);// Answer confidence (0-100)// Analyze knowledge gapsconstgaps=awaitanalyzeKnowledgeGaps({period: 'last_30_days'});console.log(gaps.missingTopics);// Topics with no articles but high search volumeconsole.log(gaps.outdatedArticles);// Articles needing updatesconsole.log(gaps.lowQualityArticles);// Articles with quality score < 60console.log(gaps.recommendations);// Suggested new articles
SLA and Escalation
import{calculateSLATargets,predictResolutionTime,optimizeAgentWorkload}from'@hotcrm/support';// Calculate SLA targets based on contractconstslaTargets=awaitcalculateSLATargets({accountId: 'acc_123',priority: 'High',createdDate: newDate()});console.log(slaTargets.tier);// 'Gold'console.log(slaTargets.responseTarget);// 2 hours from nowconsole.log(slaTargets.resolutionTarget);// 8 hours from now// Predict resolution timeconstprediction=awaitpredictResolutionTime({caseId: 'case_123'});console.log(prediction.estimatedHours);// 3.5console.log(prediction.confidence);// 85%console.log(prediction.factors);// Complexity, agent skill, similar cases// Optimize agent workloadconstworkloadOptimization=awaitoptimizeAgentWorkload({queueId: 'queue_tech_support'});console.log(workloadOptimization.recommendations);// Reassign cases, add agentsconsole.log(workloadOptimization.agentUtilization);// Current workload by agentconsole.log(workloadOptimization.projectedBreaches);// Cases at risk
Hooks Auto-Trigger (No Code Required)
// When case is created, entitlement is automatically checkedawaitdb.create('case',{account: 'acc_123',subject: 'Issue with product',priority: 'High'});// → CaseEntitlementCheck hook:// 1. Looks up account's contract/entitlement// 2. Determines SLA tier (e.g., Platinum)// 3. Calculates response target (1 hour)// 4. Calculates resolution target (4 hours)// 5. Factors in business hours and holidays// When knowledge article is created/updated, AI enhancements triggerawaitdb.create('knowledge_article',{title: 'Troubleshooting Guide',content: 'Step-by-step instructions...'});// → KnowledgeArticleScoringTrigger: Calculates quality (0-100)// → KnowledgeArticleAIEnhancementTrigger:// - Auto-categorizes article// - Generates tags// - Creates summary// - Extracts keywords// When article is used to resolve case, usage is trackedawaitdb.update('case',caseId,{status: 'Resolved',resolution_article: articleId});// → KnowledgeArticleUsageTracker: Increments usage count, tracks effectiveness// Knowledge search triggers analyticsawaitdb.find('knowledge_article',{search: 'password reset'});// → KnowledgeArticleSearchAnalytics: Tracks search query, identifies patterns
Domain Focus
This module focuses on Customer Service and Support, providing tools for managing support tickets and building a comprehensive knowledge base.