- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2025 09:22 PM
Hi ,
I need to implement CSDM and would appreciate it if someone could share a sample data-loaded sheet for CSDM. This would be very helpful for my work.
Regards,
Rahul Tungal
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2025 10:16 AM
CSDM Sample Data-Load Template (Text Version)
=================================================
Purpose
-------
This sample shows the minimal, practical columns you can use to stage a first CSDM load into CMDB/Service Portfolio. It follows CSDM layers: Business Capabilities → Business Applications → Application Services → Technical Services/Offerings → Application Components → Infrastructure, plus relationships.
Use these as CSV tabs (worksheets) or separate files. Keep sys_ids blank if you’ll create new records; populate if you’re updating.
Conventions
-----------
- Names: unique, business-friendly.
- Owners: email or user_name that exists in sys_user.
- Status: Active/Retired where applicable.
- Dates: ISO 8601 (YYYY-MM-DD).
- Relationship refs: point by Name (preferred) or external_key; transform maps will resolve to sys_id.
TAB 1: business_capability.csv
------------------------------
Columns:
- capability_name
- capability_level (1-3)
- parent_capability_name (blank if level 1)
- description
- owner (email)
Examples:
capability_name,capability_level,parent_capability_name,description,owner
"HR Management",1,,"Hire to Retire","ciso@example.com"
"Recruiting",2,"HR Management","Candidate sourcing and hiring","ciso@example.com"
"Payroll",2,"HR Management","Compensation processing","finops@example.com"
TAB 2: business_application.csv (APM)
-------------------------------------
Maps to cmdb_ci_business_app (or APM App table in your org)
Columns:
- app_name
- business_owner (email)
- it_owner (email)
- capability_name (primary capability)
- lifecycle_status (Planned/Live/Retired)
- criticality (Low/Medium/High)
- data_classification (Public/Internal/Confidential/Restricted)
- description
Examples:
app_name,business_owner,it_owner,capability_name,lifecycle_status,criticality,data_classification,description
"HR Portal","vp.hr@example.com","app.owner@example.com","HR Management","Live","High","Internal","Employee self-service portal"
"Talent ATS","vp.hr@example.com","ats.owner@example.com","Recruiting","Live","Medium","Confidential","Applicant tracking"
TAB 3: application_service.csv (Service Portfolio – Business-facing)
-------------------------------------------------------------------
Maps to cmdb_ci_service (Service Type = Business) or cmdb_ci_service_discovered in some orgs
Columns:
- svc_name
- service_type (Business)
- provided_for (Department/Org)
- app_name (backed-by application)
- service_owner (email)
- support_group (group_name)
- availability_slo_pct
- description
Examples:
svc_name,service_type,provided_for,app_name,service_owner,support_group,availability_slo_pct,description
"HR Self-Service","Business","All Employees","HR Portal","svc.owner@example.com","HR Support L1","99.9","Catalog and knowledge for HR"
TAB 4: technical_service.csv (Service Portfolio – Technical)
-----------------------------------------------------------
Maps to cmdb_ci_service (Service Type = Technical)
Columns:
- tech_svc_name
- service_type (Technical)
- service_owner (email)
- support_group (group_name)
- description
Examples:
tech_svc_name,service_type,service_owner,support_group,description
"Notification Platform","Technical","platform.owner@example.com","Platform Eng","Email/SMS push gateway"
"Container Runtime","Technical","platform.owner@example.com","Platform Eng","Kubernetes runtime and ingress"
TAB 5: service_offering.csv (Service Offerings)
-----------------------------------------------
Maps to service_offering
Columns:
- offering_name
- parent_service_name (svc_name or tech_svc_name)
- offering_type (Business/Technical)
- owner (email)
- active (true/false)
- description
Examples:
offering_name,parent_service_name,offering_type,owner,active,description
"HR Case Management","HR Self-Service","Business","svc.owner@example.com",true,"Case intake and handling"
"Email Delivery API","Notification Platform","Technical","platform.owner@example.com",true,"SMTP/REST mail sending"
"Container Hosting (Gold)","Container Runtime","Technical","platform.owner@example.com",true,"Production-grade cluster"
TAB 6: application_component.csv (App Modules)
---------------------------------------------
Maps to cmdb_ci_appl (or subclass)
Columns:
- component_name
- app_name
- component_type (Web, API, Batch, DB)
- version
- owner (email)
Examples:
component_name,app_name,component_type,version,owner
"HR Portal UI","HR Portal","Web","2.3.1","app.owner@example.com"
"HR API","HR Portal","API","1.8.0","app.owner@example.com"
"Talent ATS Core","Talent ATS","Web","5.2.0","ats.owner@example.com"
TAB 7: infra_node.csv (Simplified Infrastructure)
-------------------------------------------------
Maps to cmdb_ci_computer / cmdb_ci_db_instance / cmdb_ci_container, etc.
Columns:
- node_name
- node_class (Server, DB, Container, Cloud Service)
- environment (Prod/Non-prod)
- host_provider (AWS/Azure/Onprem)
- os_or_engine
- owned_by (email)
Examples:
node_name,node_class,environment,host_provider,os_or_engine,owned_by
"hrweb01","Server","Prod","AWS","Amazon Linux 2","ops@example.com"
"hrdb01","DB","Prod","AWS","PostgreSQL 14","dba@example.com"
"aks-prod-app-01","Container","Prod","Azure","AKS","ops@example.com"
TAB 8: relationships.csv (Dependencies & Hosting)
-------------------------------------------------
Maps to cmdb_rel_ci or service_offering_consumer records as applicable.
Columns:
- parent_type (BusinessApp|AppService|TechService|Offering|Component)
- parent_name
- rel_type (depends_on|runs_on|consumes|hosts|calls)
- child_type (Component|Server|DB|Offering|TechService)
- child_name
Examples:
parent_type,parent_name,rel_type,child_type,child_name
"AppService","HR Self-Service","depends_on","TechService","Notification Platform"
"Offering","Email Delivery API","hosts","Server","mailgw01"
"Component","HR Portal UI","runs_on","Server","hrweb01"
"Component","HR API","runs_on","Container","aks-prod-app-01"
"BusinessApp","HR Portal","depends_on","AppService","HR Self-Service"
TAB 9: service_consumer.csv (Offerings consumed by Apps)
--------------------------------------------------------
Maps to service_offering_consumer (or your integration table)
Columns:
- offering_name
- consumer_type (BusinessApp|AppService|TechService)
- consumer_name
- start_date
Examples:
offering_name,consumer_type,consumer_name,start_date
"Email Delivery API","BusinessApp","HR Portal","2024-05-01"
"Container Hosting (Gold)","AppService","HR Self-Service","2024-03-10"
Validation Rules (Pre-Load)
---------------------------
- Mandatory uniqueness: capability_name, app_name, svc_name/tech_svc_name, offering_name, component_name, node_name.
- Owners exist in sys_user; groups exist in sys_user_group.
- Relationship references resolve to an existing Name in prior tabs.
- Don’t create services without an owner and support group.
- Use ‘Technical’ for shared platform layers; ‘Business’ for end-user-facing services.
Load Order (Recommended)
------------------------
1) business_capability
2) business_application
3) application_service (Business)
4) technical_service
5) service_offering
6) application_component
7) infra_node
😎 relationships
9) service_consumer
Quick Starter Example (Minimal Chain)
------------------------------------
- Business App: HR Portal
- App Service: HR Self-Service (Business)
- Technical Services: Notification Platform; Container Runtime
- Offerings: Email Delivery API; Container Hosting (Gold)
- Components: HR Portal UI; HR API
- Infra: hrweb01 (Server); aks-prod-app-01 (Container)
- Relationships:
HR Self-Service depends_on Notification Platform
HR API runs_on aks-prod-app-01
HR Portal depends_on HR Self-Service
Email Delivery API hosts mailgw01 (if used)
Notes & Tips
------------
- Keep “service_type” consistent; use Technical for reusable platforms (per CSDM).
- Don’t model libraries/frameworks as Business Apps—use Technical Services & Offerings.
- Use transforms to resolve Name → sys_id. Keep Name unique to simplify mapping.
- Start small: 1–2 value streams; expand iteratively.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2025 11:44 PM
Hello!
CSDM, which stands for Common Service Data Model, is a framework for structuring your data within the ServiceNow platform. It helps you understand and manage the relationships between your business, services, applications, and technology. The goal of CSDM is to provide a consistent and standardized way to represent your digital services, which in turn improves service management, reporting, and automation. Ultimately, it helps you make better decisions by giving you a clear, single source of truth for your service portfolio.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-13-2025 06:58 AM
Check out the resources in Now Create.
CSDM Data Model Examples - walks you through the process.
There are many good CSDM assets to browse!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-22-2025 11:57 PM
I’ve worked with CSDM (Common Services Data Model) in a few projects, and I can see why having a sample data-loaded sheet would make things easier when you're just getting started. CSDM is essentially about structuring data to reflect the relationships between services, infrastructure, and business processes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2025 09:23 AM
Hi @rtrtungal39
Take a look at Now Create and the CSDM Data Modeling Workbook.
It includes guidance and sheets for both filling out the service portfolios and import templates.
I hope this helps!
Mat
