CSM — Customer Service Management (Zero → Pro)
اقرأ أولاً: ../MASTER_ALL_IN_ONE_SUMMARY.md · ../html/MASTER_ALL_IN_ONE_SUMMARY.html
الدليل الشامل: ../MASTER_ALL_IN_ONE.md · ../html/MASTER_ALL_IN_ONE.html
ممارسة الشاشات: ../html/MASTER_PRACTICE_GUIDE_ALL_TOPICS.html
Australia · Scopex_786686_hr_leave
Australia Instance — نسخة أستراليا
| Setting | Value |
|---|---|
| Region / Datacenter | ServiceNow Australia |
| Release train | Zurich (Sep 2026 EA) · next EA: Brazil |
| URL base | {BASE} |
| Scope note | HR Leave app: x_786686_hr_leave |
| Guided Setup | {BASE}/now/guided-setup |
Direct Navigation URLs — روابط التنقل المباشرة
| Page / Tool | Navigation Path | Direct URL | Purpose |
|---|---|---|---|
| Cases | All > Customer Service > Cases | {BASE}/sn_customerservice_case_list.do | Customer cases |
| Accounts | All > Customer Service > Accounts | {BASE}/customer_account_list.do | B2B accounts |
| Contacts | All > Customer Service > Contacts | {BASE}/customer_contact_list.do | Account contacts |
| Entitlements | All > Customer Service > Entitlements | {BASE}/sn_entitlement_list.do | Service entitlements |
| Products | All > Customer Service > Products | {BASE}/sn_customerservice_product_list.do | Registered products |
| CSM Workspace | Now Experience > CSM | {BASE}/now/csm/workspace | Agent workspace |
| Customer Portal | Service Portal | {BASE}/csm | Customer self-service |
| AWA Config | All > Advanced Work Assignment | {BASE}/awa_configuration_list.do | Work routing |
| Flow Designer | All > Process Automation > Flow Designer | {BASE}/now/flow-designer | Case automation |
| Guided Setup CSM | All > Guided Setup | {BASE}/now/guided-setup | Initial configuration |
Platform target: ServiceNow Australia (Sep 2026) · next EA: Brazil
URLs: ../../SERVICENOW_DIRECT_URLS_CATALOG.md · 1-week: ../../SERVICENOW_ONE_WEEK_STUDY_DEPLOY_AUSTRALIA.md
HR Leave: Scope x_786686_hr_leaveCIS-CSM Professional Implementer Guide
الأسلوب: عربية + إنجليزية تكمّلان بعضهما — بدون ترجمة حرفية لأسماء الشاشات.
ملخص ووصف بالعربية (Arabic Summary)
| البند | الشرح |
|---|---|
| ما هو CSM؟ | خدمة العملاء الخارجيين (B2B/B2C) — حسابات، عقود، استحقاقات، قضايا |
| لماذا مهم؟ | ITSM للموظفين الداخليين؛ CSM للعملاء والشركاء مع SLA حسب العقد |
| من يستخدمه؟ | وكيل خدمة عملاء، مدير حساب، شريك قناة |
| ماذا يغطي الملف؟ | Account، Entitlement، /csm، AWA · §16 مختبر Gold/Bronze |
ملخص في سطر: قضايا العملاء مع مستويات خدمة حسب المنتج/العقد — ليس Incident داخلي.
وصف مختصر: يشرح الحساب وجهة الاتصال، Entitlement، Case، بوابة العميل، AWA للتوجيه، وربط اختياري بـ FSM.
1) Overview & Business Value
CSM manages service for EXTERNAL customers (B2B / B2C). — الفرق الجوهري عن ITSM: العميل خارجي (شركة أو مستهلك)، وليس موظفًا داخليًا.
Core value:
- Case management end-to-end.
- Self-service via Customer Service Portal.
- Connect ITSM/FSM/Field for fulfillment.
- Proactive customer service (outages, notifications).
2) Architecture & Data Model
Key tables:
| Table | الغرض |
|---|---|
| sn_customerservice_case | الحالة (Case) — القلب |
| customer_account | حساب العميل (شركة) |
| customer_contact | جهة الاتصال (شخص) |
| sn_customerservice_consumer | المستهلك (B2C) |
| sn_customerservice_product | المنتجات/الأصول المسجّلة |
| sn_entitlement | الاستحقاقات (Entitlements) |
| service_contract | عقود الخدمة |
| sla / contract_sla | اتفاقيات الخدمة |
Relationship model (B2B):
customer_account (الشركة)
└─ customer_contact (الأشخاص)
└─ case (الحالة)
├─ entitlement (هل مستحق للدعم؟)
├─ contract / SLA
└─ tasks / FSM work order
في B2C يُستبدل account/contact بـ consumer.
3) Plugins & Activation
| App / Plugin | Name |
|---|---|
| Customer Service Management | com.sn_customerservice (from Store) |
| CSM Demo Data | optional |
| Customer Service Portal | included |
| Field Service (للتكامل) | com.snc.work_management |
| Special Handling Notes | optional |
| Proactive Customer Service Ops | from Store |
| Now Assist for CSM | subscription |
How to activate:
- Navigate: All > System Applications > All Available Applications > All. — Open direct
- Search “Customer Service Management”.
- Install (request if needed).
- Then run Guided Setup:
Navigate: All > Guided Setup > CSM (or CSM Configurable Setup). — Open direct
4) Guided Setup & All Options
CSM setup sections:
- Foundation — accounts, contacts, products.
- Channels — portal, email, chat, phone, social.
- Case Management — types, states, assignment.
- Entitlements & Contracts — استحقاقات وعقود.
- SLAs — اتفاقيات الخدمة.
- Knowledge & Communities — معرفة ومجتمعات.
- Agent Workspace — مساحة الوكيل.
- Special Handling Notes — تنبيهات خاصة للحساب.
Important options:
| Option | Navigate |
|---|---|
| Assignment / Advanced Work Assignment | All > Advanced Work Assignment · Open direct |
| Case types & states | All > Customer Service > Administration · Open direct |
| Entitlements | All > Customer Service > Entitlements · Open direct |
| Service Contracts | All > Customer Service > Contracts · Open direct |
| Customer Service Portal | All > Service Portal > Portals (csm) · Open direct |
| Agent Workspace | /now/cwf or Configurable Workspace |
5) End-to-End Process Cycle
Case lifecycle:
New → Open → Work in Progress → Awaiting Info → Resolved → Closed
Full flow:
Customer (portal/email/chat)
→ Case created
→ Auto-assign (AWA) to agent/team
→ Verify entitlement + SLA starts
→ Investigate (may spawn FSM Work Order or ITSM Incident)
→ Resolve → Customer confirms → Close
Major Issue Management يربط حالات كثيرة بمشكلة واحدة (انقطاع خدمة).
6) Development
Business Rule — verify entitlement on case open
(function executeRule(current, previous) {
if (current.account.nil()) return;
var ent = new GlideRecord('sn_entitlement');
ent.addQuery('account', current.account);
ent.addActiveQuery();
ent.query();
if (!ent.hasNext()) {
gs.addInfoMessage('No active entitlement for this account.');
}
})(current, previous);
Advanced Work Assignment (AWA)
AWA يوزّع الحالات بناءً على المهارات والسعة (capacity) بدل الإسناد اليدوي.
Navigate: All > Advanced Work Assignment > Service Channels. — Open direct
Development topics:
- Case form & UI policies.
- Email-to-case (inbound actions).
- Flow Designer for case approvals/escalations.
- Playbooks (guided process for agents).
- Integration to FSM (create Work Order from case).
7) Administration
| Area | Navigate |
|---|---|
| Roles | sn_customerservice_agent, sn_customerservice_manager |
| Accounts/Contacts | All > Customer Service > Customers · Open direct |
| AWA setup | All > Advanced Work Assignment · Open direct |
| Portal | All > Service Portal > Portals · Open direct |
| SLAs | All > Service Level Management · Open direct |
Key roles:
- sn_customerservice_agent — وكيل خدمة العملاء.
- sn_customerservice_manager — المدير.
- sn_customerservice.customer / consumer — العميل الخارجي.
- sn_customerservice.partner — الشريك.
8) Hands-on Labs
Lab 1 — Foundation:
1. Create an Account, then a Contact under it.
2. Register a Product/Asset for the account.
Lab 2 — Case end-to-end:
1. Navigate: All > Customer Service > Cases > Create New. — Open direct
2. Set account/contact, type, priority.
3. Use Agent Workspace to work and resolve it.
Lab 3 — Entitlement + SLA:
1. Create an entitlement for the account.
2. Open a case → confirm SLA timer.
Lab 4 — Portal self-service:
1. Open the Customer Service Portal.
2. Submit a case as a customer (impersonate).
Lab 5 — AWA:
1. Configure a Service Channel + queue.
2. Route a new case automatically to an agent.
9) Best Practices & Common Mistakes
Best practices:
- Use Configurable Workspace, not legacy forms, for agents.
- Drive routing with AWA (skills + capacity).
- Model accounts/contacts cleanly before go-live.
- Use Playbooks for complex case types.
Common mistakes:
- الخلط بين ITSM (داخلي) و CSM (خارجي).
- تجاهل Entitlements فيُخدم عميل غير مستحق.
- بناء الإسناد يدويًا بدل AWA.
10) CIS-CSM Exam Focus
High-yield:
- Account / Contact / Consumer model (B2B vs B2C).
- Case lifecycle & states.
- Entitlements & service contracts (who can get support).
- Advanced Work Assignment (skills, capacity, queues).
- Special Handling Notes.
- Major Issue Management.
- CSM ↔ FSM ↔ ITSM integration points.
- Customer Service Portal & Communities.
Exam tip: — احفظ من يستطيع فتح حالة، وكيف يُتحقق من الاستحقاق، وكيف يُوزَّع العمل (AWA).
11) Portals, Workspaces, Role Hierarchy & Feature Catalog
ملاحظة عن الروابط:
URLs الـ Workspaces قد تختلف حسب الإصدار والـ App Config.
11.1 Service Portals (customers)
| Portal | URL | لمن |
|---|---|---|
| Customer Service Portal | /csm | العملاء الخارجيون |
| Consumer Service Portal (B2C) | /csp | المستهلكون |
| Communities | /community | المجتمعات |
| Knowledge | /kb | الجميع |
| Customer Account/Self-service | /csm?id=… | جهات الاتصال |
11.2 Workspaces (agents/managers)
| Workspace | URL | لمن |
|---|---|---|
| CSM Configurable Workspace | /now/cwf/agent | وكلاء خدمة العملاء |
| CSM/FSM Workspace | /now/sow (CSM view) | الوكلاء |
| Manager / Dispatcher views | configurable | المديرون |
| Admin (classic) | /nav_to.do | admins |
الوكلاء يعملون في Configurable Workspace (يدعم Playbooks وAWA وTimeline).
11.3 Role Hierarchy
admin
└─ sn_customerservice_manager
└─ sn_customerservice_agent (يعمل على الحالات)
└─ sn_customerservice_agent (skills/queues)
External:
sn_customerservice.customer_admin (مسؤول حساب العميل)
└─ sn_customerservice.customer (جهة اتصال B2B)
sn_customerservice.consumer (B2C)
sn_customerservice.partner / partner_admin (الشركاء)
11.4 Full Business Cycle
Customer (/csm, email, chat, phone, social)
→ Case created (sn_customerservice_case)
→ Verify Account/Contact + Entitlement + Contract/SLA
→ AWA routes to agent (skills + capacity)
→ Agent (Workspace) uses Playbook
↳ needs field visit → FSM Work Order
↳ needs IT fix → ITSM Incident
↳ many customers affected → Major Issue Management
→ Resolve → customer confirmation → Close → CSAT
11.5 Feature Catalog
Process features:
- Case Management (B2B/B2C), Major Issue Management.
- Entitlements, Service Contracts, SLAs.
- Advanced Work Assignment (AWA).
- Playbooks (guided agent process).
- Special Handling Notes.
- Proactive Customer Service Operations (CMDB/service-aware).
- Communities & Knowledge.
- Customer/Consumer portals + self-service.
- Outsourced/Partner management.
Platform features used:
- Configurable Agent Workspace + Timeline.
- Omni-channel (chat, email-to-case, phone, messaging).
- Flow Designer (escalations/approvals).
- Predictive Intelligence (case categorization).
- Now Assist for CSM (summaries, replies).
- Virtual Agent (deflection).
- Performance Analytics + CSAT surveys.
12) End-to-End Implementation (Post-Activation)
اقرأ هذا بعد تثبيت CSM وتشغيل Guided Setup.
12.1 Application Menus map
All > Customer Service
├─ Cases (Create New / Open / My / All / Escalated)
├─ Customers (Accounts / Contacts / Consumers / Partners)
├─ Products (Products / Assets / Install Base)
├─ Entitlements / Contracts / SLAs
├─ Major Issues
├─ Special Handling Notes
└─ Administration (Case types, States, Channels)
All > Advanced Work Assignment
├─ Service Channels / Queues / Assignment Rules
└─ Agent Presence / Capacity
All > Service Portal (Customer Service Portal /csm)
All > Knowledge / Communities
All > Playbooks (Process Definitions)
12.2 Core tables to know
| List | Table |
|---|---|
| sn_customerservice_case.list | cases |
| customer_account.list | accounts |
| customer_contact.list | contacts |
| sn_customerservice_consumer.list | consumers (B2C) |
| sn_entitlement.list | entitlements |
| service_contract.list | contracts |
| sn_customerservice_product.list | products |
12.3 End-to-end build order
- Foundation:
- Accounts → Contacts (B2B) or Consumers (B2C).
- Products / Install Base. - Entitlements & Contracts:
- Define who is eligible for support + SLAs. - Channels:
- Email-to-case, Chat, Phone, Messaging, Portal.
All > Customer Service > Administration > Channels. — Open direct - Case configuration:
- Case types, states, categories, assignment. - Advanced Work Assignment (AWA):
- Service Channels → Queues → routing by skills/capacity.
All > Advanced Work Assignment. — Open direct - Playbooks:
- Guided steps for complex case types. - SLAs:
- Contract SLAs + escalations. - Knowledge & Communities:
- KB with customer criteria; community setup. - Portal:
- Customer Service Portal /csm (pages, widgets, branding). - Workspace:
- CSM Configurable Workspace /now/cwf/agent. - Integrations:
- CSM → FSM (work order), CSM → ITSM (incident). - Reporting + Test + Deploy.
12.4 All configuration pages
| Config | Navigate |
|---|---|
| CSM properties | All > Customer Service > Administration > Properties · Open direct |
| Channels | All > Customer Service > Administration > Channels · Open direct |
| AWA setup | All > Advanced Work Assignment · Open direct |
| Entitlements config | All > Customer Service > Entitlements · Open direct |
| Portal config | /sp_config?id=designer (csm) |
| Workspace (UI Builder) | All > Now Experience Framework > UI Builder · Open direct |
Study path note: — للدراسة من الصفر اتبع: STUDY_ROADMAP.md
13) Options & Instance Notes
| Resource | Content |
|---|---|
| Instance gaps | MODULE_OPTIONS_AND_INSTANCE_NOTES.md → CSM |
| Full implementation | MODULE_IMPLEMENTATION_PLAYBOOK.md → CSM |
14) Implementation Scenarios, Options, Best Practices & Customizations
Playbook: MODULE_IMPLEMENTATION_PLAYBOOK.md → CSM
14.1 Scenarios
| ID | Scenario | Path |
|---|---|---|
| S1 | B2C cases | Consumer accounts + portal |
| S2 | B2B | Accounts + Entitlements + contracts |
| S3 | + FSM | Case → Work Order |
14.2 Options matrix
| Area | A | B |
|---|---|---|
| Routing | AWA skills | Manual queues |
| Access | Entitlements | Role-only |
| Portal | /csm / CSP | Email-only |
| SLA | Contract-based | Global SLA |
14.3 Plugins
CSM core, Advanced Fulfillment, Entitlement Management — Store + Guided Setup CSM
14.4 Roles
sn_customerservice.agent, manager, entitlement administrators, partner roles (if B2B2C).
14.5 Common developments
Account hierarchy, entitlement scripts, case types per product, portal branding, chat/virtual agent, integration to CRM (Salesforce spoke).
14.6 Best practices
Entitlements before go-live for B2B; separate consumer vs business account models; AWA pilot with small team.
14.7 Go-live
- [ ] Entitlement tests per contract tier
- [ ] Portal UAT on mobile
- [ ] Case→WO if FSM in scope
15) Zero-to-Hero End-to-End Implementation (Scratch → Go-Live)
Framework: MODULE_ZERO_TO_HERO_CONSULTING.md
من Accounts/Entitlements حتى Portal + Agent Workspace + SLA.
15.1 Business goals
| Goal | العربي |
|---|---|
| Customer satisfaction | حل سريع وشفاف |
| B2B contracts | Entitlements حسب العقد |
| Agent efficiency | AWA + workspace |
| Omni-channel | بريد، portal، chat |
15.2 Phase 0 — Discover
B2C vs B2B, account model, SLAs per contract, partner access?
15.3 Phase 1 — Activate
CSM apps, Entitlements, AWA — Guided Setup CSM.
15.4 Phase 2 — Foundation (Week 2–4)
Accounts, contacts, entitlements, case types, roles.
15.5 Phase 3 — Routing & SLA (Week 4–6)
AWA skills, queues, contract SLAs, case lifecycle.
15.6 Phase 4 — Portal (Week 6–8)
/csm branding, knowledge, logged-in case creation.
15.7 Phase 5 — FSM link (optional)
Case→Work Order integration (FSM.md).
15.8 Phase 6 — UAT & go-live
Entitlement tier test, mobile portal, escalation path.
15.9 Phase 7 — Operate
CSAT, case aging, entitlement audit.
15.10 Master checklist
- [ ] Entitlements · [ ] Portal UAT · [ ] AWA pilot · [ ] Prod
16) Full E2E Practice · Pages · Requirements · Options (AR + EN)
B2B customer service · Entitlements drive what customers can open.
16.1 Business goals
| Goal (EN) | الهدف (AR) | KPI |
|---|---|---|
| Tiered customer support | دعم حسب العقد | SLA by tier |
| Account/contact 360 | رؤية 360 للعميل | Case history on account |
| Partner/channel cases | قضايا شركاء | Partner visibility |
| Deflection via knowledge | KB | Portal deflection % |
Why buy CSM: English: B2C ITSM is wrong tool — CSM has accounts, entitlements, and partner models. — CSM للعملاء الخارجيين — حسابات، عقود، مستويات خدمة — ليس incident للموظف الداخلي.
16.2 Requirements
| ID | EN | AR |
|---|---|---|
| CS-R01 | Account + Contact model | حساب + جهة اتصال |
| CS-R02 | Entitlement by product/tier | استحقاق حسب المنتج |
| CS-R03 | Case types + state model | أنواع قضايا |
| CS-R04 | Customer portal /csm | بوابة عميل |
| CS-R05 | Agent workspace AWA | workspace |
| CS-R06 | Contract SLAs | SLA عقود |
| CS-R07 | (Optional) Work Order handoff | تسليم FSM |
16.3 Consultation cycle
| Phase | EN | AR | Deliverable |
|---|---|---|---|
| 0 | B2B model (direct vs partner) | نموذج B2B | Channel map |
| 1 | Entitlement matrix | مصفوفة استحقاق | Tier doc |
| 2 | Case categorization | تصنيف | Catalog |
| 3 | Portal branding + KB | بوابة | EC/CSM config |
| 4 | AWA routing | توجيه | Skills/queues |
| 5 | UAT per tier | UAT | Sign-off |
16.4 Options (A / B / C)
| Area | A | B | C |
|---|---|---|---|
| Agent UI | CSM Configurable Workspace | Classic | SOW (limited) |
| Portal | /csm | /csp | Email-only |
| Entitlement | Product + Contract | Account flag | Manual |
| Routing | AWA skills | Assignment rules | Round-robin |
| Field service | CSM → FSM WO | Case tasks only | External |
16.5 All pages (Navigate)
| Page | Navigate |
|---|---|
| CSM Administration | All > Customer Service > Administration · Open direct |
| Accounts | All > Customer Service > Accounts · Open direct |
| Contacts | All > Customer Service > Contacts · Open direct |
| Entitlements | All > Customer Service > Entitlements · Open direct |
| Products | All > Customer Service > Products · Open direct |
| Contracts | All > Customer Service > Contracts · Open direct |
| Cases | All > Customer Service > Cases · Open direct |
| Case Types | All > Customer Service > Case Types · Open direct |
| AWA Configuration | All > Advanced Work Assignment > Configuration · Open direct |
| Skills / Queues | All > Advanced Work Assignment · Open direct |
| CSM Portal | /csm |
| Agent Workspace | /now/cwf/agent or CSM workspace |
| Consumer Portal | /csp |
16.6 Full PDI lab (17 steps)
| Step | EN | AR | Verify |
|---|---|---|---|
| 1 | Create Product Support Gold | منتج | Product saved |
| 2 | Create Account + primary Contact | حساب | 360 view |
| 3 | Create Contract linking entitlement | عقد | Entitlement active |
| 4 | Set tier SLA (response 4h) | SLA | Contract SLA |
| 5 | Configure Case Type Technical | نوع | Type on form |
| 6 | Customer logs in /csm — create case | قضية | Case on account |
| 7 | Agent workspace — accept case | وكيل | Assigned |
| 8 | Test Gold vs Bronze entitlement | مستويات | Different SLA |
| 9 | Escalate case — manager queue | تصعيد | State/path |
| 10 | Link KB — resolve with article | KB | Deflection |
| 11 | AWA skill route by product | AWA | Correct queue |
| 12 | (Optional) Create WO from case (FSM.md) | WO | Handoff |
| 13 | CSAT survey on close | رضا | Response |
| 14 | Partner account visibility test | شريك | ACL |
| 15 | Options doc | خيارات | A/B/C |
| 16 | UAT CS-R01–07 | UAT | Pass |
| 17 | Update Set CSM Lab 16 | Export | Done |
16.7 Sign-off
- [ ] Entitlement matrix signed by Sales · [ ] Portal branded · [ ] Tier SLA UAT · [ ] AWA pilot group trained
§17 — Power User Playbook (CSM)
17.1 Personas
| Persona | Primary actions |
|---|---|
| Customer (External) | Self-service via /csm or /csp, open case, view contracts, chat with bot, CSAT |
| CSR Tier-1 | Triage queue, identify account/contact, check entitlements, link KB, send reply |
| Tier-2 Engineer | Technical investigation, root cause, link Problem/CMDB |
| Account Manager | Account 360, opportunities, contract renewals, advocacy |
| Customer Success Manager | Adoption tracking, QBRs, expansion plays |
| Contract Specialist | SLA/entitlement setup, renewals, contract amendments |
| Partner | Multi-tier case routing, partner portal /partner |
كل دور له Workspace مختلف. CSR يستخدم /now/cwf/agent بينما العميل يستخدم /csm.
17.2 Day-in-Life — Customer
- Log into /csm (or SSO via partner federation).
- Browse KB → search “API rate limit”.
- Click “Open a case” — submit form (subject, description, severity, product).
- Get instant case number; live chat with Virtual Agent.
- Track case in /csm?id=my_cases.
- Leave CSAT on close.
17.3 Day-in-Life — CSR
- Workspace /now/cwf/agent — incoming queue (skill-based routing via AWA).
- Pick case; identify Account via email domain.
- Check entitlement (contract → service offering → SLA).
- Use Now Assist to summarize past 3 cases for this account.
- Link to KB; if known issue → resolve. Otherwise escalate or schedule callback.
- Send branded email reply via template.
17.4 Top 20 CSM Scripts (full code)
1. Auto-link case to Account by email domain
// Business Rule on sn_customerservice_case (before, insert)
(function (current, previous) {
if (current.account.nil() && !current.contact.nil()) {
var contact = new GlideRecord('customer_contact');
if (contact.get(current.getValue('contact'))) {
if (!contact.account.nil()) {
current.setValue('account', contact.getValue('account'));
return;
}
}
}
// Fallback: parse email
var email = (current.getValue('contact_email') || '').toLowerCase();
var domain = email.split('@')[1];
if (!domain) return;
var acct = new GlideRecord('customer_account');
acct.addQuery('u_email_domain', domain);
acct.setLimit(1);
acct.query();
if (acct.next()) {
current.setValue('account', acct.getUniqueValue());
}
})(current, previous);
2. Entitlement check before service delivery
var CSMEntitlementChecker = Class.create();
CSMEntitlementChecker.prototype = {
initialize: function {},
/* Returns { entitled: true|false, contract, sla, reason } /
check: function (caseSysId) {
var gr = new GlideRecord(‘sn_customerservice_case’);
if (!gr.get(caseSysId)) {
return { entitled: false, reason: ‘case_not_found’ };
}
var acctId = gr.getValue(‘account’);
var prodId = gr.getValue(‘product’);
// Active service contract?
var c = new GlideRecord(‘ast_service_contract’);
c.addQuery(‘account’, acctId);
c.addQuery(‘active’, true);
c.addQuery(‘starts’, ‘<=’, new GlideDateTime());
c.addQuery(‘ends’, ‘>=’, new GlideDateTime());
c.setLimit(1);
c.query();
if (!c.next()) {
return { entitled: false, reason: ‘no_active_contract’ };
}
// Service offering covered?
var so = new GlideRecord(‘ast_contract_offering’);
so.addQuery(‘contract’, c.getUniqueValue());
so.addQuery(‘service_offering.product’, prodId);
so.setLimit(1);
so.query();
if (!so.next()) {
return { entitled: false, reason: ‘product_not_in_contract’,
contract: c.getUniqueValue() };
}
return {
entitled: true,
contract: c.getUniqueValue(),
sla: so.getValue(‘sla’)
};
},
type: ‘CSMEntitlementChecker’
};
3. Contract expiration alert (90/60/30 days)
// Scheduled Job — daily 09:00
(function {
var thresholds = [90, 60, 30];
thresholds.forEach(function (days) {
var target = new GlideDateTime();
target.addDaysLocalTime(days);
var c = new GlideRecord(‘ast_service_contract’);
c.addQuery(‘ends’, ‘=’, target.getDate());
c.addQuery(‘active’, true);
c.query();
while (c.next()) {
gs.eventQueue(‘x_csm.contract.expiring’,
c, c.getValue(‘account’), days);
}
});
})();
4. Account 360 KPI rollup
var CSMAccount360 = Class.create();
CSMAccount360.prototype = {
initialize: function {},
/* Returns full health snapshot /
snapshot: function (accountSysId) {
var snap = { account: accountSysId };
// Open cases
var open = new GlideAggregate(‘sn_customerservice_case’);
open.addQuery(‘account’, accountSysId);
open.addActiveQuery();
open.addAggregate(‘COUNT’);
open.groupBy(‘priority’);
open.query();
snap.open_cases = {};
while (open.next()) {
snap.open_cases[open.getValue(‘priority’)] =
parseInt(open.getAggregate(‘COUNT’), 10);
}
// CSAT last 90 days
var csat = new GlideAggregate(‘asmt_assessment_instance’);
csat.addQuery(‘table_name’, ‘sn_customerservice_case’);
csat.addQuery(‘account’, accountSysId);
var since = new GlideDateTime();
since.addDaysLocalTime(-90);
csat.addQuery(‘sys_created_on’, ‘>=’, since);
csat.addAggregate(‘AVG’, ‘metric_results.normalized_value’);
csat.query();
snap.csat_90d = csat.next() ?
parseFloat(csat.getAggregate(‘AVG’, ‘metric_results.normalized_value’)) : null;
// Contract status
var c = new GlideRecord(‘ast_service_contract’);
c.addQuery(‘account’, accountSysId);
c.addActiveQuery();
c.query();
snap.active_contracts = c.getRowCount();
// Opportunities (if Salesforce sync)
// … etc
return snap;
},
type: ‘CSMAccount360’
};
5. Auto-create opportunity from “buying signal”
// Trigger when case keywords match
(function (current, previous) {
var keywords = ['add seats', 'upgrade plan', 'enterprise', 'multi-year', 'rfp'];
var desc = (current.getValue('description') || '').toLowerCase();
var hit = keywords.some(function (k) { return desc.indexOf(k) > -1; });
if (hit && current.opened_at.changes()) {
var opp = new GlideRecord('sn_sales_opportunity');
opp.initialize();
opp.setValue('account', current.getValue('account'));
opp.setValue('source_case', current.getUniqueValue());
opp.setValue('stage', 'qualification');
opp.setValue('short_description', 'Lead from case ' + current.getValue('number'));
opp.insert();
}
})(current, previous);
6. CSAT trigger on case close
// Business Rule on close
(function (current, previous) {
if (current.state.changes() && current.getValue('state') === 'closed') {
var inst = new GlideRecord('asmt_assessment_instance');
inst.initialize();
inst.setValue('metric_type', 'csm_csat_v1'); // pre-defined Metric Type
inst.setValue('user', current.getValue('contact'));
inst.setValue('table_name', 'sn_customerservice_case');
inst.setValue('document_id', current.getUniqueValue());
inst.setValue('state', 'ready');
inst.insert();
}
})(current, previous);
7. NPS calculator with breakdowns
var CSMNPSCalculator = Class.create();
CSMNPSCalculator.prototype = {
initialize: function {},
calculate: function (periodDays, accountFilter) {
periodDays = parseInt(periodDays, 10) || 90;
var since = new GlideDateTime();
since.addDaysLocalTime(-periodDays);
var agg = new GlideAggregate(‘asmt_metric_result’);
agg.addQuery(‘instance.metric_type.name’, ‘NPS Survey’);
agg.addQuery(‘instance.sys_created_on’, ‘>=’, since);
if (accountFilter) {
agg.addQuery(‘instance.account’, accountFilter);
}
agg.addAggregate(‘COUNT’, ‘value’);
agg.groupBy(‘value’);
agg.query();
var p = 0, d = 0, total = 0;
while (agg.next()) {
var v = parseInt(agg.getValue(‘value’), 10);
var n = parseInt(agg.getAggregate(‘COUNT’, ‘value’), 10);
total += n;
if (v >= 9) p += n;
else if (v <= 6) d += n;
}
if (total === 0) return null;
return { promoters: p, detractors: d, total: total,
nps: Math.round((p - d) / total * 100) };
},
type: ‘CSMNPSCalculator’
};
8. Multi-tier escalation timer
// Scheduled Job — every 15 min
(function {
var gr = new GlideRecord('sn_customerservice_case');
gr.addQuery('active', true);
gr.addQuery('escalation', '<', 3);
gr.query();
while (gr.next()) {
var sla = _slaForCase(gr);
if (!sla) continue;
var ageMin = _ageMin(gr.getValue(‘sys_created_on’));
var newLevel = gr.getValue(‘escalation’);
if (ageMin >= sla.tier3_min) newLevel = 3;
else if (ageMin >= sla.tier2_min) newLevel = 2;
else if (ageMin >= sla.tier1_min) newLevel = 1;
if (newLevel != gr.getValue(‘escalation’)) {
gr.setValue(‘escalation’, newLevel);
gr.update();
gs.eventQueue(‘x_csm.case.escalated’, gr, gr.getValue(‘number’), newLevel);
}
}
function _ageMin(created) {
var c = new GlideDateTime(created);
return Math.round((new GlideDateTime().getNumericValue() -
c.getNumericValue()) / 60000);
}
function _slaForCase(gr) {
// simplified
return { tier1_min: 30, tier2_min: 120, tier3_min: 480 };
}
})();
9. Partner case routing
// On case create — if account.type=partner, route to partner support queue
(function (current, previous) {
if (current.account.nil()) return;
var acct = new GlideRecord('customer_account');
if (!acct.get(current.getValue('account'))) return;
if (acct.getValue('type') === 'partner') {
var partnerGroup = gs.getProperty('x_csm.partner_support_group');
current.setValue('assignment_group', partnerGroup);
}
})(current, previous);
10. Connected Customer login provisioning
// Triggered when first case opened for an unknown contact
(function provision(contactSysId, email) {
var u = new GlideRecord('sys_user');
u.addQuery('email', email);
u.setLimit(1);
u.query();
if (u.hasNext()) return;
var contact = new GlideRecord(‘customer_contact’);
if (!contact.get(contactSysId)) return;
// Create sys_user
u.initialize();
u.setValue(‘first_name’, contact.getValue(‘first_name’));
u.setValue(‘last_name’, contact.getValue(‘last_name’));
u.setValue(‘email’, contact.getValue(‘email’));
u.setValue(‘user_name’, contact.getValue(‘email’));
u.setValue(‘active’, true);
u.setValue(‘source’, ‘csm_self_provisioned’);
var userId = u.insert();
// Add to customer role
var grp = new GlideRecord(‘sys_user_grmember’);
grp.initialize();
grp.setValue(‘user’, userId);
var role = new GlideRecord(‘sys_user_group’);
if (role.get(‘name’, ‘Customer Portal Users’)) {
grp.setValue(‘group’, role.getUniqueValue());
grp.insert();
}
// Send welcome email with password reset link
gs.eventQueue(‘x_csm.contact.welcome’, u, userId, email);
})(‘CONTACT_SYS_ID’, ‘[email protected]’);
11–20. Quick recipes
| # | Pattern | Key call |
|---|---|---|
| 11 | Case → KB feedback loop | OnAfter close: log resolved-by-KB metric |
| 12 | CSM Workspace KPI refresher | scheduled job runs PA collectors hourly |
| 13 | Major Outage notification | bulk email + portal banner for impacted CIs |
| 14 | Mass-update on incident resolve | Find all cases linked to incident → resolve |
| 15 | AI Search across customer KB | new sn_ais.SearchService().search(‘public_kb’, q) |
| 16 | Sentiment analyzer | Now Assist skill on case description |
| 17 | SLA pause on waiting customer | task_sla.stage = ‘paused’ |
| 18 | Asset → Install Base sync | nightly job aligns alm_asset to cmdb_ci_install_base |
| 19 | Cross-sell recommender | analyze case → recommend products via collaborative filter |
| 20 | VIP customer flag | account.vip = true → skip queue priority |
17.5 CSM Workspace Customization
| Component | Purpose |
|---|---|
| Inbox | Skill-routed queue |
| Account 360 | Full customer view |
| Composer | Branded email + reply templates |
| AI Search panel | Suggest KB / similar cases |
| Playbooks | Run guided steps (PAD) |
| Bulk actions | Update many cases at once |
§18 — From-Scratch Implementation (Day 0 → Day 30)
18.1 Roadmap
| Phase | Days | Outcome |
|---|---|---|
| Foundation | 0–7 | Account/Contact/Contract data + plugins |
| Service | 8–15 | Case mgmt, portal, workspace |
| Channels | 16–20 | Email, chat, voice, partner |
| AI & analytics | 21–24 | Now Assist, dashboards, PA |
| Go-Live | 25–30 | UAT, training, launch |
18.2 Day-by-day
Day 0 — Preparation
- Customer journey map (touchpoints)
- SLA model (severity vs response/resolution)
- Entitlement model (which products covered per contract tier)
- Current tool: Salesforce Service Cloud? Zendesk? Internal? Migration plan
- Personas + escalation chain
Day 1 — Plugin activation
Navigate: All > System Applications
Activate:
- com.sn_customerservice (CSM Core)
- com.sn_cs_workspace (Configurable Workspace)
- com.snc.advanced_work_assignment (AWA)
- com.snc.service_management.case (if Multi-Channel)
- com.snc.iva (Virtual Agent)
Then: All > Guided Setup > Customer Service Management
Day 2-3 — Account/Contact model
- Salesforce bi-directional sync via IntegrationHub
- Bulk import (50K accounts, 500K contacts) using Import Set + IRE rules
- Partners + Consumers split
Day 4 — Multi-tier hierarchy
- Account parent/child (3 levels)
- Partners managed by Master account
- Consumer accounts (B2C)
Day 5 — Install Base / Assets / Products
- cmdb_ci_install_base for each install
- Asset → IB link
- Products from PIM (Product Information Management)
Day 6-7 — Entitlements + Service Contracts
| Contract Tier | SLA (Response/Resolution) | Channels |
|---|---|---|
| Premium | 1h / 4h | Phone, Email, Chat |
| Standard | 4h / 24h | Email, Chat |
| Basic | 8h / 72h | Email only |
Day 8 — Case types, states, categories
States: New → Open → Awaiting Info → Resolved → Closed
Day 9-10 — Customer Portal /csm branding
- Theme (CSS variables)
- Logo, fonts, colors
- Custom widgets (announcement, account dashboard, KB browser)
- Service Portal Designer
Day 11 — Customer Catalog
- “Request service” item
- “Schedule installation”
- “Schedule callback”
Day 12 — Customer KB
- Public KB
- Customer-only KB (auth required)
- AI Search enabled
Day 13-14 — CSR Workspace (CSM CWS)
- Inbox configuration
- Composer + reply templates
- Account 360 page
Day 15 — Skill-based routing (AWA)
- Skills: Product A, Product B, Spanish, Tier-2
- Routing rules: severity × product × language
Day 16 — Channels
- Email inbound (with watermark for replies)
- Chat (Service Portal widget + Virtual Agent fallback)
- Voice (Genesys/Cisco integration)
- WhatsApp Business via Twilio
- Social (Twitter)
Day 17 — Virtual Agent
- Top 10 topics (Order status, Account update, Password reset, Billing inquiry, Cancel service, etc.)
- Handoff to live agent
Day 18 — Contract SLAs
- Definition per entitlement
- Pause conditions: awaiting customer, weekend, holiday
Day 19-20 — Reports + Dashboards
4-tile Executive Dashboard:
| Tile | Metric |
|—|—|
| Cases by Severity | Stacked Bar |
| CSAT trend | Line, 90-day |
| SLA breach % | Single Score |
| Top Accounts by Volume | Bar list |
Day 21 — Salesforce bi-directional
Sync table:
| SFDC Object | SN Table |
|—|—|
| Account | customer_account |
| Contact | customer_contact |
| Case | sn_customerservice_case |
| Opportunity | sn_sales_opportunity |
| Contract | ast_service_contract |
Frequency: real-time via webhook + nightly reconciliation.
Day 22 — Stripe / Billing
- Sync subscriptions, invoices, dunning state
- Auto-create case for failed payments
Day 23 — Now Assist for CSM
- Case summary
- Reply draft
- Sentiment
- Similar cases
- Customer journey suggestion
Day 24 — ATF
- 15 scenarios covering portal, workspace, integration, escalation
Day 25 — Training
- CSR (1 day)
- Account Manager (½ day)
- Partner portal demo
- Customer-facing portal demo (recorded video)
Day 26-27 — UAT + Load Test
- 30 scenarios
- Load test: 1000 concurrent customers, 50 CSRs
Day 28 — Go-Live readiness
- Final cutover plan
- Comms to customers (T-7, T-1, Day 1)
Day 29 — Soft launch
- 10% customer cohort
- Monitor + iterate
Day 30 — Full Go-Live + Hypercare
- 24/7 war-room first 72h
- Daily review
18.3 KPIs Month 1
| KPI | Target |
|---|---|
| CSAT | ≥ 4.2 / 5 |
| FCR (First Call Resolution) | ≥ 65% |
| Avg Handle Time | ≤ 12 min |
| SLA % | ≥ 95% |
| NPS | > 30 |
| Self-service deflection | ≥ 35% |
§19 — CIS-CSM Exam & Z-to-Hero Feature Labs
19.1 Exam bank
Primary: C:\SVCProject\EXAM_BANK_CSM_360.md (~120 Q, 95 KB).
19.2 Z-to-Hero Feature Labs (12 labs)
| Lab | Feature | Bank topic |
|---|---|---|
| L1 | Account + Contact bulk import (CSV) | Account mgmt |
| L2 | Account hierarchy (parent/child 3 levels) | B2B model |
| L3 | Install Base + Asset link | CMDB integration |
| L4 | Service Contract + Entitlement matrix (Gold/Silver/Bronze) | Entitlements |
| L5 | Case opens → entitlement check via script | Case lifecycle |
| L6 | AWA skill-based routing | AWA |
| L7 | CSM Workspace /now/cwf/agent customization | Workspace |
| L8 | Customer Portal /csm brand + landing page | Portal |
| L9 | Major Outage flow → impacted CIs banner | Outage |
| L10 | Virtual Agent customer journey | Self-service |
| L11 | Outbound channel: SMS + WhatsApp via Twilio | Channels |
| L12 | Salesforce bi-directional Account sync | Integration |
19.3 Top 15 CSM must-know concepts
- Account vs Contact vs Consumer (different tables)
- Entitlement: B2B contractual access
- Service Contract: contains entitlements + SLAs per tier
- AWA (Advanced Work Assignment): skill + capacity routing
- CSM Workspace components (Inbox, Composer, AC360)
- Customer Portal /csm vs /csp (consumer)
- Major Outage: bulk-link cases, impacted CIs
- Case relationships (parent, child, related)
- Install Base (cmdb_ci_install_base) vs Asset
- Knowledge for customers (public vs auth-only)
- CSAT trigger on case close
- Partner portal for resellers
- Multi-channel ingestion (email, chat, phone, social, WhatsApp)
- Engagement → Opportunity (sales handoff)
- Now Assist for CSM (summarize, reply draft, sentiment)
19.4 5 sample CIS-CSM questions
Q1. AWA differs from Assignment Rules because:
A. AWA considers skill + capacity + service hours; Assignment Rules are static condition-based
B. They’re identical
C. AWA is only for incidents
D. AWA requires Now AssistAnswer: A
Q2. Where does the entitlement check happen on case creation?
A. Business Rule on sn_customerservice_case (before-insert)
B. ACL
C. UI Policy
D. Service Portal client-sideAnswer: A
Q3. Major Outage flag triggers:
A. Banner on Customer Portal
B. Bulk-link of impacted cases
C. Notifications to subscribed customers
D. All of the aboveAnswer: D
Q4. Install Base table is:
A. alm_asset
B. cmdb_ci_install_base
C. sn_customerservice_contract
D. customer_accountAnswer: B
Q5. CSR Workspace URL is:
A. /csm
B. /now/cwf/agent
C. /now/sow/home
D. /cspAnswer: B
Use EXAM_BANK_CSM_360.md for remaining 115+ questions.
19.5 What “Hero” looks like for CSM
Builds customer service operation: hierarchical accounts + entitlements, AWA routing, branded portal, major outage automation, multi-channel ingestion, Now Assist on every case, Salesforce sync. Passes CIS-CSM with ≥85%.
Hands-on Labs — مختبرات عملية
-
Lab 1 — B2B account & contact / حساب وجهة اتصال
- Create account at {BASE}/customer_account.do?sys_id=-1.
- Add contact; link contact to account. -
Lab 2 — Entitlement & contract / استحقاق وعقد
- Create entitlement at {BASE}/sn_entitlement_list.do.
- Link to account and product; set SLA tier. -
Lab 3 — Case lifecycle / دورة حياة القضية
- Open case at {BASE}/sn_customerservice_case.do?sys_id=-1.
- Verify entitlement auto-populates; resolve and close. -
Lab 4 — Customer Portal / بوابة العميل
- Log in to {BASE}/csm as customer contact.
- Submit case; track status. -
Lab 5 — AWA routing / توجيه AWA
- Configure AWA at {BASE}/awa_configuration_list.do.
- Route cases by product line or priority. -
Lab 6 — CSM → FSM handoff / تسليم إلى FSM
- From case, create linked Work Order (if FSM licensed).
- Track fulfillment end-to-end. -
Lab 7 — CSM Workspace / مساحة عمل CSM
- Work queue at {BASE}/now/csm/workspace.
- Use macros and templates for responses.
Best Practices — أفضل الممارسات
| Area | EN | AR |
|---|---|---|
| Data model | Separate B2B (account/contact) from B2C (consumer) early | افصل B2B عن B2C مبكرًا |
| Entitlements | Always validate entitlement before SLA starts | تحقق من الاستحقاق قبل بدء SLA |
| SLA | Contract SLA per product tier, not one-size-fits-all | SLA حسب مستوى المنتج/العقد |
| Portal | Branded portal per major account (multi-portal) | بوابة مخصصة للحسابات الكبرى |
| Integration | Case → WO for field; Case → Incident for internal IT | Case → WO ميداني؛ Case → Incident داخلي |
Deployment Checklist — قائمة النشر
| # | Task (EN) | المهمة (AR) | Verify |
|---|---|---|---|
| 1 | Install CSM from Store | تثبيت CSM من Store | Plugin active |
| 2 | Account/contact model (B2B vs B2C) | نموذج الحساب | Test records |
| 3 | Products & entitlements | المنتجات والاستحقاقات | Entitlement on case |
| 4 | Contract SLAs | SLAs العقود | SLA attaches |
| 5 | CSM Workspace for agents | مساحة CSM | Agent works queue |
| 6 | Customer Portal | بوابة العميل | Customer submits case |
| 7 | AWA routing rules | قواعد AWA | Cases route correctly |
| 8 | Email-to-case (if used) | بريد → قضية | Email creates case |
| 9 | UAT with pilot accounts | UAT مع حسابات تجريبية | Sign-off |
| 10 | Update Set + production cutover | Update Set + نشر | Hypercare ready |
Direct URLs Quick Reference
| Page | Navigation | URL |
|---|---|---|
| Cases | All > Customer Service > Cases | {BASE}/sn_customerservice_case_list.do |
| Case (new) | Create New | {BASE}/sn_customerservice_case.do?sys_id=-1 |
| Accounts | All > Customer Service > Accounts | {BASE}/customer_account_list.do |
| Contacts | All > Customer Service > Contacts | {BASE}/customer_contact_list.do |
| Consumers | All > Customer Service > Consumers | {BASE}/sn_customerservice_consumer_list.do |
| Entitlements | All > Customer Service > Entitlements | {BASE}/sn_entitlement_list.do |
| Products | All > Customer Service > Products | {BASE}/sn_customerservice_product_list.do |
| Contracts | All > Contract Management | {BASE}/service_contract_list.do |
| CSM Workspace | Now Experience > CSM | {BASE}/now/csm/workspace |
| Customer Portal | Portal | {BASE}/csm |
| AWA | All > Advanced Work Assignment | {BASE}/awa_configuration_list.do |
| Flow Designer | All > Flow Designer | {BASE}/now/flow-designer |
| Guided Setup | All > Guided Setup | {BASE}/now/guided-setup |
§20 — Deep Implementation Labs, Scripts & Deploy Runbook
Appendix: Professional create → configure → deploy sequence for CSM on Australia instances.
Token: Replace{BASE}withhttps://YOUR_INSTANCE.service-now.com(e.g. PDI or sub-prod).
Scope: HR Leave project reference scopex_786686_hr_leave— CSM is adjacent module for customer-facing ops.
Related: implementation/CSM_IMPLEMENTATION_FROM_SCRATCH_TO_PRO.md
20.1 Three-Phase Implementation Model
| Phase | Days | Goal | Exit criteria |
|---|---|---|---|
| CREATE | 0–3 | Install plugins, roles, Update Set, pilot data | CSM menus visible; Guided Setup complete |
| CONFIGURE | 4–18 | Accounts, entitlements, AWA, portal, SLAs | Happy-path case E2E in sub-prod |
| DEPLOY | 19–30 | ATF, UAT, transport, hypercare | Prod smoke pass; CSAT live |
20.2 CREATE Phase — Install & Foundation
Step C1 — Verify instance & entitlement
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Confirm Australia build | All > System Diagnostics > Stats | {BASE}/stats.do |
| 2 | Open Plugins list | Filter Navigator: type Plugins → click Plugins | {BASE}/v_plugin_list.do |
| 3 | Search Customer Service Management | In list filter: nameCONTAINScustomerservice |
{BASE}/v_plugin_list.do?sysparm_query=nameCONTAINScustomerservice |
| 4 | Activate if Inactive | Open record → Activate/Upgrade → confirm dependencies | — |
| 5 | Activate AWA plugin | Search Advanced Work Assignment → Activate | {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINSwork_assignment |
Step C2 — Guided Setup wizard
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Open Guided Setup | All > Guided Setup | {BASE}/now/guided-setup |
| 2 | Select Customer Service Management tile | Click tile → Get Started | {BASE}/now/guided-setup/csm |
| 3 | Complete Foundation section | Accounts → Contacts → Products checkboxes → Mark Complete | — |
| 4 | Complete Channels section | Enable Portal /csm, Email-to-case stub |
— |
| 5 | Complete Case Management | Accept default states; note case table sn_customerservice_case |
— |
Step C3 — Roles, groups, Update Set
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Create config Update Set | All > System Update Sets > Local Update Sets > New | {BASE}/sys_update_set.do?sys_id=-1 |
| 2 | Name: CSM_AU_Implement_2026 |
State = In progress → Submit | {BASE}/sys_update_set_list.do |
| 3 | Create agent group | All > User Administration > Groups > New | {BASE}/sys_user_group.do?sys_id=-1 |
| 4 | Name: CSM Tier-1 Agents |
Add roles: sn_customerservice_agent |
{BASE}/sys_user_role_list.do?sysparm_query=nameSTARTSWITHsn_customerservice |
| 5 | Create test users | All > Users > New (csr.agent1, csr.manager1) | {BASE}/sys_user_list.do |
20.3 CONFIGURE Phase — Build Customer Service Operation
Step F1 — Account / Contact / Product foundation
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | New Account | All > Customer Service > Accounts > New | {BASE}/customer_account.do?sys_id=-1 |
| 2 | Fill: Name=LAB-AU-Gold Corp, Type=Customer, Industry=Technology |
Submit | — |
| 3 | Related List Contacts > New | First name, email @goldcorp.example |
{BASE}/customer_contact.do?sys_id=-1 |
| 4 | Register Product | All > Customer Service > Products > New | {BASE}/sn_customerservice_product.do?sys_id=-1 |
| 5 | Name=Enterprise SaaS Platform, link to account Install Base |
Submit | {BASE}/cmdb_ci_install_base_list.do |
Step F2 — Contract, Entitlement, SLA
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Service Contract | All > Customer Service > Contracts > New | {BASE}/ast_contract.do?sys_id=-1 |
| 2 | Link Account, dates, Active=true | Submit | — |
| 3 | Entitlement | All > Customer Service > Entitlements > New | {BASE}/sn_entitlement.do?sys_id=-1 |
| 4 | Tier Gold: Response 4h, Resolution 24h | Link contract + product | — |
| 5 | SLA Definition | All > SLA > SLA Definitions > filter collection=sn_customerservice_case |
{BASE}/contract_sla_list.do?sysparm_query=collection%3Dsn_customerservice_case |
| 6 | Create CSM Gold Response 4h | Start=Created; Stop=Resolved/Closed | — |
Step F3 — AWA routing (skills + capacity)
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Service Channel | All > Advanced Work Assignment > Service Channels > New | {BASE}/awa_service_channel.do?sys_id=-1 |
| 2 | Table=sn_customerservice_case, Channel=Case |
Submit | — |
| 3 | Queue | All > Advanced Work Assignment > Queues > New | {BASE}/awa_queue.do?sys_id=-1 |
| 4 | Name=CSM Gold Queue, link channel, group CSM Tier-1 Agents |
— | {BASE}/awa_queue_list.do |
| 5 | Agent Presence | All > Advanced Work Assignment > Agent Presence | {BASE}/awa_agent_presence_list.do |
| 6 | Set csr.agent1 Available, max capacity=5 | — | — |
Step F4 — Portal & Workspace
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Portal list | All > Service Portal > Portals | {BASE}/sp_portal_list.do |
| 2 | Open Customer Service Portal (id=csm) | Open Portal preview | {BASE}/csm |
| 3 | Branding | Portal record → Theme, logo upload | {BASE}/sp_theme_list.do |
| 4 | CSM Workspace | Now Experience > CSM or direct | {BASE}/now/csm/workspace |
| 5 | UI Builder (optional) | All > Now Experience Framework > UI Builder | {BASE}/now/ui-builder |
Step F5 — Flow Designer escalation
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | New Flow | All > Process Automation > Flow Designer > New | {BASE}/now/flow-designer |
| 2 | Trigger: Record Updated on sn_customerservice_case |
Condition: Priority changes to 1 - Critical | — |
| 3 | Action: Ask for Approval → group CSM Managers | — | {BASE}/sysapproval_group_list.do |
| 4 | Activate flow | Test with LAB case | {BASE}/sys_hub_flow_list.do |
20.4 DEPLOY Phase — Test, Transport, Go-Live
Step D1 — ATF smoke tests
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | ATF Test list | All > Automated Test Framework > Tests | {BASE}/sys_atf_test_list.do |
| 2 | Create test: CSM Case Create Resolve | Steps: impersonate agent → open case form → save → resolve | — |
| 3 | Create test: CSM Portal Submit | Service Portal test step → /csm |
— |
| 4 | Run suite | Confirm all green before export | {BASE}/sys_atf_test_suite_list.do |
Step D2 — Update Set export & prod deploy
| # | Action | Exact navigation / clicks | Direct URL |
|---|---|---|---|
| 1 | Complete Update Set | All > Local Update Sets → Complete | {BASE}/sys_update_set_list.do |
| 2 | Retrieve in target | All > Retrieved Update Sets > Import | {BASE}/sys_remote_update_set_list.do |
| 3 | Preview conflicts | Preview Update Set → resolve collisions | — |
| 4 | Commit | Commit Update Set → post-commit smoke | — |
| 5 | Verify plugins in prod | {BASE}/v_plugin_list.do same version as sub-prod | — |
Step D3 — Hypercare runbook (first 72h)
| Hour | Check | URL |
|---|---|---|
| 0 | Portal /csm loads; test case submit |
{BASE}/csm |
| 4 | AWA queue depth < threshold | {BASE}/awa_queue_list.do |
| 8 | SLA breach count | {BASE}/task_sla_list.do?sysparm_query=has_breached%3Dtrue |
| 24 | CSAT responses | {BASE}/asmt_assessment_instance_list.do |
| 72 | Executive dashboard | {BASE}/pa_dashboards_list.do |
20.5 Full Component URL Catalog (CSM)
| Component | Filter Navigator path | Direct URL | Create URL |
|---|---|---|---|
| Plugins | All > System Definition > Plugins | {BASE}/v_plugin_list.do | — |
| Update Sets | All > System Update Sets > Local | {BASE}/sys_update_set_list.do | {BASE}/sys_update_set.do?sys_id=-1 |
| Users | All > User Administration > Users | {BASE}/sys_user_list.do | {BASE}/sys_user.do?sys_id=-1 |
| Groups | All > User Administration > Groups | {BASE}/sys_user_group_list.do | {BASE}/sys_user_group.do?sys_id=-1 |
| Roles | All > User Administration > Roles | {BASE}/sys_user_role_list.do | — |
| Accounts | All > Customer Service > Accounts | {BASE}/customer_account_list.do | {BASE}/customer_account.do?sys_id=-1 |
| Contacts | All > Customer Service > Contacts | {BASE}/customer_contact_list.do | {BASE}/customer_contact.do?sys_id=-1 |
| Consumers | All > Customer Service > Consumers | {BASE}/sn_customerservice_consumer_list.do | {BASE}/sn_customerservice_consumer.do?sys_id=-1 |
| Cases | All > Customer Service > Cases | {BASE}/sn_customerservice_case_list.do | {BASE}/sn_customerservice_case.do?sys_id=-1 |
| Case Types | All > Customer Service > Administration > Case Types | {BASE}/sn_customerservice_case_type_list.do | — |
| Entitlements | All > Customer Service > Entitlements | {BASE}/sn_entitlement_list.do | {BASE}/sn_entitlement.do?sys_id=-1 |
| Service Contracts | All > Customer Service > Contracts | {BASE}/service_contract_list.do | {BASE}/ast_contract.do?sys_id=-1 |
| Products | All > Customer Service > Products | {BASE}/sn_customerservice_product_list.do | — |
| Install Base | All > Customer Service > Install Base | {BASE}/cmdb_ci_install_base_list.do | — |
| AWA Config | All > Advanced Work Assignment > Configuration | {BASE}/awa_configuration_list.do | — |
| AWA Queues | All > Advanced Work Assignment > Queues | {BASE}/awa_queue_list.do | {BASE}/awa_queue.do?sys_id=-1 |
| AWA Service Channels | All > Advanced Work Assignment > Service Channels | {BASE}/awa_service_channel_list.do | — |
| AWA Agent Presence | All > Advanced Work Assignment > Agent Presence | {BASE}/awa_agent_presence_list.do | — |
| CSM Properties | All > Customer Service > Administration > Properties | {BASE}/sys_properties_list.do?sysparm_query=nameSTARTSWITHsn_customerservice | — |
| Channels | All > Customer Service > Administration > Channels | {BASE}/sn_customerservice_channel_list.do | — |
| SLA Definitions | All > SLA > SLA Definitions | {BASE}/contract_sla_list.do?sysparm_query=collection%3Dsn_customerservice_case | — |
| Task SLAs (runtime) | All > SLA > SLA | {BASE}/task_sla_list.do | — |
| CSM Workspace | Now Experience > CSM | {BASE}/now/csm/workspace | — |
| CWF Agent | Configurable Workspace | {BASE}/now/cwf/agent | — |
| Customer Portal | Service Portal | {BASE}/csm | — |
| Portal Designer | Service Portal > Designer | {BASE}/sp_config?id=designer | — |
| Knowledge | All > Knowledge > Articles | {BASE}/kb_knowledge_list.do | {BASE}/kb_knowledge.do?sys_id=-1 |
| Flow Designer | All > Process Automation > Flow Designer | {BASE}/now/flow-designer | — |
| Business Rules | All > System Definition > Business Rules | {BASE}/sys_script_list.do?sysparm_query=collection%3Dsn_customerservice_case | — |
| Notifications | All > System Notification > Email > Notifications | {BASE}/sysevent_email_action_list.do | — |
| REST API Explorer | All > System Web Services > REST API Explorer | {BASE}/$restapi.do | — |
| Table API (Cases) | REST GET | {BASE}/api/now/table/sn_customerservice_case |
— |
| Guided Setup | All > Guided Setup | {BASE}/now/guided-setup | — |
| Impersonation | avatar menu > Impersonate | {BASE}/impersonate_user.do | — |
| Access Debugger | All > System Security > Access Control Debugger | {BASE}/$access_control_debugger.do | — |
20.6 Deep Hands-On Labs (8 labs — exact clicks)
Prefix all pilot records with
LAB-CSM-for easy cleanup.
Duration: ~45 min each · Instance: PDI or AU sub-prod.
Lab 1 — Plugin activation & Guided Setup (CREATE)
Goal: CSM application menus visible with baseline config captured in Update Set.
- Log in as admin → open {BASE}/stats.do → note Build name and Instance ID.
- Filter Navigator: type Update Sets → Local Update Sets → New.
- Name
CSM_LAB01_CREATE, State In progress → Submit. - Navigate {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINScustomerservice.
- If Customer Service Management shows Inactive → open record → Activate/Upgrade → wait for completion banner.
- Open {BASE}/now/guided-setup → select Customer Service Management → complete Foundation and Case Management sections.
- Verify: Filter Navigator → type Customer Service → confirm Cases, Accounts, Entitlements appear.
- Verify: {BASE}/sys_update_set_list.do shows captured plugin/config rows in
CSM_LAB01_CREATE.
Lab 2 — B2B Account hierarchy + Contact (CONFIGURE)
Goal: Three-level account tree with primary contact and email domain for auto-link.
- Open {BASE}/customer_account.do?sys_id=-1.
- Create parent: Name=
LAB-CSM-Parent AU, Account code=LCP-AU→ Submit. - New again: Name=
LAB-CSM-Child Sydney, Parent account=LAB-CSM-Parent AU→ Submit. - Open parent record → Related List Contacts → New.
- Contact: Name=
Alex Chen, Email=[email protected], Primary=true → Submit. - Optional: field Email domain on account =
labcsm.example(if custom field exists). - Open {BASE}/customer_account_list.do?sysparm_query=nameSTARTSWITHLAB-CSM → confirm 2 rows.
- Verify: Account 360 shows contact on parent; child inherits visibility per config.
Lab 3 — Gold Entitlement + Contract SLA (CONFIGURE)
Goal: Entitlement drives 4h response SLA on new case.
- Create product at {BASE}/sn_customerservice_product.do?sys_id=-1: Name=
LAB-CSM-Product Gold. - Create contract {BASE}/ast_contract.do?sys_id=-1: Account=
LAB-CSM-Parent AU, Active=true, Start=today, End=+1 year. - Create entitlement {BASE}/sn_entitlement.do?sys_id=-1: Account, Contract, Product, Tier=Gold.
- Open {BASE}/contract_sla_list.do?sysparm_query=collection%3Dsn_customerservice_case → New SLA: Name=
LAB Gold 4h Response, Duration=4 hours, Schedule=8x5. - Link SLA to entitlement tier (contract offering or entitlement SLA field per your version).
- Create case {BASE}/sn_customerservice_case.do?sys_id=-1: Account=
LAB-CSM-Parent AU, Contact=Alex Chen, Product=LAB-CSM-Product Gold. - Submit → Related Lists → Task SLAs → confirm SLA timer started with 4h target.
- Verify: {BASE}/task_sla_list.do?sysparm_query=task.account.nameSTARTSWITHLAB-CSM.
Lab 4 — AWA skill routing end-to-end (CONFIGURE)
Goal: New case auto-routes to Gold queue when agent is Available.
- Create skill: All > Advanced Work Assignment > Skills > New → Name=
LAB Product Gold→ {BASE}/cmn_skill.do?sys_id=-1. - Assign skill to user csr.agent1: User record → Skills related list → Edit.
- Service Channel {BASE}/awa_service_channel_list.do → confirm Case channel active.
- Queue {BASE}/awa_queue.do?sys_id=-1: Name=
LAB Gold Queue, Channel=Case, Assignment group=CSM Tier-1 Agents, Skill=LAB Product Gold. - AWA Configuration {BASE}/awa_configuration_list.do → enable routing for
sn_customerservice_case. - Set agent presence {BASE}/awa_agent_presence_list.do: csr.agent1 = Available, Capacity=5.
- Impersonate csr.agent1 {BASE}/impersonate_user.do → set Available in workspace header if prompted.
- As admin, create new case with Product Gold → confirm assignment lands on csr.agent1 or Gold queue within 60s.
- Verify: Case Assigned to field populated; AWA work item visible in {BASE}/now/csm/workspace.
Lab 5 — Customer Portal self-service case (CONFIGURE)
Goal: External contact submits case via /csm and tracks status.
- Ensure contact Alex Chen has portal role
sn_customerservice.customer(or consumer equivalent). - Open {BASE}/sp_portal_list.do → open Customer Service Portal → confirm Active.
- Impersonate Alex Chen {BASE}/impersonate_user.do.
- Browse {BASE}/csm → Get Help or Open a Case (widget name varies by theme).
- Fill: Subject=
LAB Portal outage, Description=Cannot login since 09:00 AEST, Priority=3 → Submit. - Note case number on confirmation screen → open My Cases widget {BASE}/csm?id=my_cases.
- End impersonation → as csr.agent1 open case in workspace → add work note → set Awaiting Info → Resolve.
- Re-impersonate contact → refresh My Cases → status Resolved.
- Verify: Case appears on account related list {BASE}/customer_account_list.do?sysparm_query=name%3DLAB-CSM-Parent%20AU.
Lab 6 — Email-to-Case channel (CONFIGURE)
Goal: Inbound email creates case linked to account.
- All > Customer Service > Administration > Channels → {BASE}/sn_customerservice_channel_list.do.
- Open Email channel → note inbound address e.g.
support@YOUR_INSTANCE.service-now.com. - All > System Policy > Inbound Actions → {BASE}/sysevent_in_email_action_list.do → confirm CSM email action active on
sn_customerservice_case. - Send test email from
[email protected]with subjectLAB Email Caseto inbound address. - Wait 2–5 min → open {BASE}/sn_customerservice_case_list.do?sysparm_query=short_descriptionLIKElab%20email.
- Confirm Account auto-linked if domain rule configured (see §17 script #1).
- Verify: Case source/channel = Email; contact populated.
Lab 7 — CSM → FSM Work Order handoff (INTEGRATION)
Goal: Case spawns field work order when onsite visit required.
- Prerequisite: FSM plugin active {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINSwork_management.
- Open existing LAB case → UI Action Create Work Order (or Flow) → if missing, enable OOTB UI action in {BASE}/sys_ui_action_list.do?sysparm_query=nameLIKEwork%20order.
- Click Create Work Order → confirm redirect to new WO {BASE}/wm_order.do?sys_id=-1.
- Set Location, Short description=
LAB onsite repair, link Case field → Submit. - Open WO → confirm Case reference points to CSM case.
- Complete WO lifecycle (see FSM.md §20) → close WO.
- Return to case → confirm state/note reflects WO completion.
- Verify: Related list Work Orders on case record.
Lab 8 — Deploy Update Set to target (DEPLOY)
Goal: Transport CSM config safely with smoke test.
- Complete Update Set
CSM_AU_Implement_2026{BASE}/sys_update_set_list.do. - Export XML or use Batch Install per your release process.
- In target instance: Retrieved Update Sets → Import Update Set from XML {BASE}/sys_remote_update_set_list.do.
- Preview → resolve any
Customer Servicetable collisions → Commit. - Run ATF suite {BASE}/sys_atf_test_suite_list.do → all pass.
- Smoke: create case {BASE}/sn_customerservice_case.do?sys_id=-1 → verify SLA + AWA.
- Smoke: portal {BASE}/csm loads without 404.
- Verify: {BASE}/stats.do build matches source; hypercare checklist §20.4 complete.
20.7 Implementation Scripts & REST URLs
Script A — Table API: create case from external system
// Run in Scripts - Background or Postman
// POST {BASE}/api/now/table/sn_customerservice_case
// Headers: Authorization: Basic / OAuth, Content-Type: application/json
var requestBody = {
short_description: 'API Lab - integration test',
account: 'ACCOUNT_SYS_ID',
contact: 'CONTACT_SYS_ID',
priority: '3',
u_source: 'rest_lab'
};
// Expected: 201 Created → check {BASE}/sn_customerservice_case_list.do?sysparm_query=u_source=rest_lab
Script B — Scheduled entitlement expiry alert
// Scheduled Script Execution — daily 08:00 Australia/Sydney
(function () {
var warnDays = 30;
var cutoff = new GlideDateTime();
cutoff.addDaysLocalTime(warnDays);
var ent = new GlideRecord('sn_entitlement');
ent.addQuery('active', true);
ent.addQuery('end_date', '<=', cutoff.getDate());
ent.addQuery('end_date', '>=', new GlideDateTime().getDate());
ent.query();
while (ent.next()) {
gs.eventQueue('x_csm.entitlement.expiring', ent,
ent.getValue('account'), warnDays + '');
}
})();
// Configure notification: {BASE}/sysevent_email_action_list.do
Script C — AWA queue depth monitor (hypercare)
// Background script — paste in {BASE}/sys.scripts.do
var q = new GlideAggregate('awa_work_item');
q.addQuery('queue.name', 'LAB Gold Queue');
q.addQuery('state', 'pending');
q.addAggregate('COUNT');
q.query();
var depth = q.next() ? parseInt(q.getAggregate('COUNT'), 10) : 0;
gs.info('CSM LAB Gold Queue depth: ' + depth);
if (depth > 10) {
gs.eventQueue('x_csm.queue.threshold', q, 'LAB Gold Queue', depth + '');
}
Script D — Portal health check (curl)
# Run from jump host — replace {BASE}
curl -s -o /dev/null -w "%{http_code}" "{BASE}/csm"
# Expect: 200
curl -s "{BASE}/api/now/table/sn_customerservice_case?sysparm_limit=1" \
-H "Authorization: Bearer TOKEN"
# Expect: 200 with result array
REST endpoint quick reference
| Operation | Method | URL |
|---|---|---|
| List cases | GET | {BASE}/api/now/table/sn_customerservice_case |
| Get case | GET | {BASE}/api/now/table/sn_customerservice_case/{sys_id} |
| Create case | POST | {BASE}/api/now/table/sn_customerservice_case |
| Update case | PATCH | {BASE}/api/now/table/sn_customerservice_case/{sys_id} |
| List accounts | GET | {BASE}/api/now/table/customer_account |
| List entitlements | GET | {BASE}/api/now/table/sn_entitlement |
| AWA work items | GET | {BASE}/api/now/table/awa_work_item |
| Import Set load | POST | {BASE}/api/now/import/{staging_table} |
20.8 Configuration Decision Log (template)
| Setting | OOTB default | Approved value | Owner | Update Set | Test case |
|---|---|---|---|---|---|
| Case default state | New | New | CSM Admin | CSM_AU_Implement_2026 | Lab 3 step 6 |
| AWA capacity model | Skills only | Skills + capacity | Ops Lead | CSM_AU_Implement_2026 | Lab 4 step 8 |
| Portal URL | /csm | /csm (branded) | UX Lead | CSM_AU_Implement_2026 | Lab 5 step 4 |
| SLA schedule | 24x7 | 8x5 AEST | Service Mgr | CSM_AU_Implement_2026 | Lab 3 step 7 |
20.9 Sign-off checklist (CREATE → CONFIGURE → DEPLOY)
- [ ] CREATE: Plugins active · Guided Setup complete · Update Set started · Test users exist
- [ ] CONFIGURE: Account/Entitlement matrix · AWA pilot · Portal branded · SLA attaches · Flow active
- [ ] DEPLOY: ATF green · Update Set committed · Portal/Workspace smoke · Hypercare roster · CSAT enabled
- [ ] Evidence pack: Screenshots + sys_ids stored · Decision log signed · Rollback XML exported from {BASE}/sys_update_set_list.do
Next module: FSM handoff — see FSM.md §20 Lab 7 cross-reference and {BASE}/wm_order_list.do.