HR Leave · Australia

CSM — Customer Service Management (Zero → Pro)

ServiceNow Australia · Custom app · Arabic + English readable · scripts copy/paste ready

App typeCustom
Scopex_786686_hr_leave
sys_idc84db0e8839f0b509f02b0d6feaad3c9
Replace{BASE} = your instance
Instance URLs Account Case

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 · Scope x_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_leave

CIS-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:

  1. Navigate: All > System Applications > All Available Applications > All. — Open direct
  2. Search “Customer Service Management”.
  3. Install (request if needed).
  4. 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

  1. Foundation:
    - Accounts → Contacts (B2B) or Consumers (B2C).
    - Products / Install Base.
  2. Entitlements & Contracts:
    - Define who is eligible for support + SLAs.
  3. Channels:
    - Email-to-case, Chat, Phone, Messaging, Portal.
    All > Customer Service > Administration > Channels. — Open direct
  4. Case configuration:
    - Case types, states, categories, assignment.
  5. Advanced Work Assignment (AWA):
    - Service Channels → Queues → routing by skills/capacity.
    All > Advanced Work Assignment. — Open direct
  6. Playbooks:
    - Guided steps for complex case types.
  7. SLAs:
    - Contract SLAs + escalations.
  8. Knowledge & Communities:
    - KB with customer criteria; community setup.
  9. Portal:
    - Customer Service Portal /csm (pages, widgets, branding).
  10. Workspace:
    - CSM Configurable Workspace /now/cwf/agent.
  11. Integrations:
    - CSM → FSM (work order), CSM → ITSM (incident).
  12. 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


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.

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


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


§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

  1. Log into /csm (or SSO via partner federation).
  2. Browse KB → search “API rate limit”.
  3. Click “Open a case” — submit form (subject, description, severity, product).
  4. Get instant case number; live chat with Virtual Agent.
  5. Track case in /csm?id=my_cases.
  6. Leave CSAT on close.

17.3 Day-in-Life — CSR

  1. Workspace /now/cwf/agent — incoming queue (skill-based routing via AWA).
  2. Pick case; identify Account via email domain.
  3. Check entitlement (contract → service offering → SLA).
  4. Use Now Assist to summarize past 3 cases for this account.
  5. Link to KB; if known issue → resolve. Otherwise escalate or schedule callback.
  6. 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

  1. Account vs Contact vs Consumer (different tables)
  2. Entitlement: B2B contractual access
  3. Service Contract: contains entitlements + SLAs per tier
  4. AWA (Advanced Work Assignment): skill + capacity routing
  5. CSM Workspace components (Inbox, Composer, AC360)
  6. Customer Portal /csm vs /csp (consumer)
  7. Major Outage: bulk-link cases, impacted CIs
  8. Case relationships (parent, child, related)
  9. Install Base (cmdb_ci_install_base) vs Asset
  10. Knowledge for customers (public vs auth-only)
  11. CSAT trigger on case close
  12. Partner portal for resellers
  13. Multi-channel ingestion (email, chat, phone, social, WhatsApp)
  14. Engagement → Opportunity (sales handoff)
  15. 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 Assist

Answer: 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-side

Answer: 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 above

Answer: D

Q4. Install Base table is:
A. alm_asset
B. cmdb_ci_install_base
C. sn_customerservice_contract
D. customer_account

Answer: B

Q5. CSR Workspace URL is:
A. /csm
B. /now/cwf/agent
C. /now/sow/home
D. /csp

Answer: 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 — مختبرات عملية

  1. Lab 1 — B2B account & contact / حساب وجهة اتصال
    - Create account at {BASE}/customer_account.do?sys_id=-1.
    - Add contact; link contact to account.

  2. Lab 2 — Entitlement & contract / استحقاق وعقد
    - Create entitlement at {BASE}/sn_entitlement_list.do.
    - Link to account and product; set SLA tier.

  3. Lab 3 — Case lifecycle / دورة حياة القضية
    - Open case at {BASE}/sn_customerservice_case.do?sys_id=-1.
    - Verify entitlement auto-populates; resolve and close.

  4. Lab 4 — Customer Portal / بوابة العميل
    - Log in to {BASE}/csm as customer contact.
    - Submit case; track status.

  5. Lab 5 — AWA routing / توجيه AWA
    - Configure AWA at {BASE}/awa_configuration_list.do.
    - Route cases by product line or priority.

  6. Lab 6 — CSM → FSM handoff / تسليم إلى FSM
    - From case, create linked Work Order (if FSM licensed).
    - Track fulfillment end-to-end.

  7. 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} with https://YOUR_INSTANCE.service-now.com (e.g. PDI or sub-prod).
Scope: HR Leave project reference scope x_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.

  1. Log in as admin → open {BASE}/stats.do → note Build name and Instance ID.
  2. Filter Navigator: type Update Sets → Local Update Sets → New.
  3. Name CSM_LAB01_CREATE, State In progress → Submit.
  4. Navigate {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINScustomerservice.
  5. If Customer Service Management shows Inactive → open record → Activate/Upgrade → wait for completion banner.
  6. Open {BASE}/now/guided-setup → select Customer Service Management → complete Foundation and Case Management sections.
  7. Verify: Filter Navigator → type Customer Service → confirm Cases, Accounts, Entitlements appear.
  8. 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.

  1. Open {BASE}/customer_account.do?sys_id=-1.
  2. Create parent: Name=LAB-CSM-Parent AU, Account code=LCP-AU → Submit.
  3. New again: Name=LAB-CSM-Child Sydney, Parent account=LAB-CSM-Parent AU → Submit.
  4. Open parent record → Related List Contacts → New.
  5. Contact: Name=Alex Chen, Email=[email protected], Primary=true → Submit.
  6. Optional: field Email domain on account = labcsm.example (if custom field exists).
  7. Open {BASE}/customer_account_list.do?sysparm_query=nameSTARTSWITHLAB-CSM → confirm 2 rows.
  8. 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.

  1. Create product at {BASE}/sn_customerservice_product.do?sys_id=-1: Name=LAB-CSM-Product Gold.
  2. Create contract {BASE}/ast_contract.do?sys_id=-1: Account=LAB-CSM-Parent AU, Active=true, Start=today, End=+1 year.
  3. Create entitlement {BASE}/sn_entitlement.do?sys_id=-1: Account, Contract, Product, Tier=Gold.
  4. Open {BASE}/contract_sla_list.do?sysparm_query=collection%3Dsn_customerservice_case → New SLA: Name=LAB Gold 4h Response, Duration=4 hours, Schedule=8x5.
  5. Link SLA to entitlement tier (contract offering or entitlement SLA field per your version).
  6. Create case {BASE}/sn_customerservice_case.do?sys_id=-1: Account=LAB-CSM-Parent AU, Contact=Alex Chen, Product=LAB-CSM-Product Gold.
  7. Submit → Related Lists → Task SLAs → confirm SLA timer started with 4h target.
  8. 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.

  1. Create skill: All > Advanced Work Assignment > Skills > New → Name=LAB Product Gold → {BASE}/cmn_skill.do?sys_id=-1.
  2. Assign skill to user csr.agent1: User record → Skills related list → Edit.
  3. Service Channel {BASE}/awa_service_channel_list.do → confirm Case channel active.
  4. Queue {BASE}/awa_queue.do?sys_id=-1: Name=LAB Gold Queue, Channel=Case, Assignment group=CSM Tier-1 Agents, Skill=LAB Product Gold.
  5. AWA Configuration {BASE}/awa_configuration_list.do → enable routing for sn_customerservice_case.
  6. Set agent presence {BASE}/awa_agent_presence_list.do: csr.agent1 = Available, Capacity=5.
  7. Impersonate csr.agent1 {BASE}/impersonate_user.do → set Available in workspace header if prompted.
  8. As admin, create new case with Product Gold → confirm assignment lands on csr.agent1 or Gold queue within 60s.
  9. 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.

  1. Ensure contact Alex Chen has portal role sn_customerservice.customer (or consumer equivalent).
  2. Open {BASE}/sp_portal_list.do → open Customer Service Portal → confirm Active.
  3. Impersonate Alex Chen {BASE}/impersonate_user.do.
  4. Browse {BASE}/csm → Get Help or Open a Case (widget name varies by theme).
  5. Fill: Subject=LAB Portal outage, Description=Cannot login since 09:00 AEST, Priority=3 → Submit.
  6. Note case number on confirmation screen → open My Cases widget {BASE}/csm?id=my_cases.
  7. End impersonation → as csr.agent1 open case in workspace → add work note → set Awaiting Info → Resolve.
  8. Re-impersonate contact → refresh My Cases → status Resolved.
  9. 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.

  1. All > Customer Service > Administration > Channels → {BASE}/sn_customerservice_channel_list.do.
  2. Open Email channel → note inbound address e.g. support@YOUR_INSTANCE.service-now.com.
  3. All > System Policy > Inbound Actions → {BASE}/sysevent_in_email_action_list.do → confirm CSM email action active on sn_customerservice_case.
  4. Send test email from [email protected] with subject LAB Email Case to inbound address.
  5. Wait 2–5 min → open {BASE}/sn_customerservice_case_list.do?sysparm_query=short_descriptionLIKElab%20email.
  6. Confirm Account auto-linked if domain rule configured (see §17 script #1).
  7. 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.

  1. Prerequisite: FSM plugin active {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINSwork_management.
  2. 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.
  3. Click Create Work Order → confirm redirect to new WO {BASE}/wm_order.do?sys_id=-1.
  4. Set Location, Short description=LAB onsite repair, link Case field → Submit.
  5. Open WO → confirm Case reference points to CSM case.
  6. Complete WO lifecycle (see FSM.md §20) → close WO.
  7. Return to case → confirm state/note reflects WO completion.
  8. Verify: Related list Work Orders on case record.

Lab 8 — Deploy Update Set to target (DEPLOY)

Goal: Transport CSM config safely with smoke test.

  1. Complete Update Set CSM_AU_Implement_2026 {BASE}/sys_update_set_list.do.
  2. Export XML or use Batch Install per your release process.
  3. In target instance: Retrieved Update Sets → Import Update Set from XML {BASE}/sys_remote_update_set_list.do.
  4. Preview → resolve any Customer Service table collisions → Commit.
  5. Run ATF suite {BASE}/sys_atf_test_suite_list.do → all pass.
  6. Smoke: create case {BASE}/sn_customerservice_case.do?sys_id=-1 → verify SLA + AWA.
  7. Smoke: portal {BASE}/csm loads without 404.
  8. 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)

Next module: FSM handoff — see FSM.md §20 Lab 7 cross-reference and {BASE}/wm_order_list.do.