afv-library/skills/analyzing-omnistudio-dependencies/references/namespace-guide.md
sandipkumar-yadav 37aa84df42
feat: @W-22444026@ Introducing Core Skills, Datacloud Skills, Industries and Utility Skills. (#268)
* Migrating Core Salesforce Skills

* Updating pr comments

* updat reference

* Updating a skill

* Migrating Datacloud skills

* Migrating Industries cloud skills

* Validating - skills fixing

---------

Co-authored-by: Sandip Kumar Yadav <sandipkumar.yadav+sfemu@salesforce.com>
2026-05-14 19:32:15 +05:30

13 KiB

OmniStudio Namespace Reference Guide

Overview

Salesforce OmniStudio exists under three distinct namespaces depending on the org's industry package and migration status. Every OmniStudio operation must target the correct namespace — queries, metadata retrieval, and deployment all use namespace-specific object and field API names.

Namespace Package Context Typical Orgs
Core (no prefix) Industries / OmniStudio managed package migrated to Core Orgs on API 234.0+ (Spring '22+) that have completed the Core migration
vlocity_cmt Vlocity Communications, Media & Energy Telco, media, energy & utilities industry orgs
vlocity_ins Vlocity Insurance & Health Insurance, health, and life sciences industry orgs

Detection Algorithm

Step-by-Step Probing

Run SOQL queries against each namespace's primary object. The first query that succeeds determines the namespace.

1. Probe Core:
   SELECT COUNT() FROM OmniProcess
   → Success? Namespace = Core. Stop.
   → Failure (INVALID_TYPE)? Continue.

2. Probe vlocity_cmt:
   SELECT COUNT() FROM vlocity_cmt__OmniScript__c
   → Success? Namespace = vlocity_cmt. Stop.
   → Failure (INVALID_TYPE)? Continue.

3. Probe vlocity_ins:
   SELECT COUNT() FROM vlocity_ins__OmniScript__c
   → Success? Namespace = vlocity_ins. Stop.
   → Failure (INVALID_TYPE)? OmniStudio not installed.

CLI Implementation

# Core probe
sf data query --query "SELECT COUNT() FROM OmniProcess" --target-org myorg --json 2>/dev/null
# Check: result.totalSize >= 0 means Core namespace

# vlocity_cmt probe
sf data query --query "SELECT COUNT() FROM vlocity_cmt__OmniScript__c" --target-org myorg --json 2>/dev/null

# vlocity_ins probe
sf data query --query "SELECT COUNT() FROM vlocity_ins__OmniScript__c" --target-org myorg --json 2>/dev/null

Interpreting Results

  • Exit code 0 + JSON with totalSize: Namespace is present
  • Exit code non-zero or INVALID_TYPE error: Namespace not installed
  • Exit code 0 + totalSize: 0: Namespace exists but no components created yet (still valid)

Object Mapping

Primary Container Objects

These objects store OmniScript, Integration Procedure, FlexCard, and Data Mapper definitions.

Concept Core vlocity_cmt vlocity_ins
OmniScript / Integration Procedure OmniProcess vlocity_cmt__OmniScript__c vlocity_ins__OmniScript__c
OmniScript / IP Elements OmniProcessElement vlocity_cmt__Element__c vlocity_ins__Element__c
FlexCard OmniUiCard vlocity_cmt__VlocityUITemplate__c vlocity_ins__VlocityUITemplate__c
Data Mapper (DataRaptor) OmniDataTransform vlocity_cmt__DRBundle__c vlocity_ins__DRBundle__c
Data Mapper Item OmniDataTransformItem vlocity_cmt__DRMapItem__c vlocity_ins__DRMapItem__c
Calculation Matrix CalculationMatrix vlocity_cmt__CalculationMatrix__c vlocity_ins__CalculationMatrix__c
Calculation Procedure CalculationProcedure vlocity_cmt__CalculationProcedure__c vlocity_ins__CalculationProcedure__c

Relationship Fields (Element → Parent)

Concept Core vlocity_cmt vlocity_ins
Element → Process lookup OmniProcessId vlocity_cmt__OmniScriptId__c vlocity_ins__OmniScriptId__c
DM Item → DM lookup OmniDataTransformId vlocity_cmt__DRBundleId__c vlocity_ins__DRBundleId__c

Field Mapping

OmniProcess / OmniScript Fields

Concept Core (OmniProcess) vlocity_cmt (OmniScript__c) vlocity_ins (OmniScript__c)
Type Type vlocity_cmt__Type__c vlocity_ins__Type__c
SubType SubType vlocity_cmt__SubType__c vlocity_ins__SubType__c
Language Language vlocity_cmt__Language__c vlocity_ins__Language__c
Is Active IsActive vlocity_cmt__IsActive__c vlocity_ins__IsActive__c
Version VersionNumber vlocity_cmt__Version__c vlocity_ins__Version__c
Type Category TypeCategory N/A (use vlocity_cmt__IsIntegrationProcedure__c) N/A (use vlocity_ins__IsIntegrationProcedure__c)
Custom HTML CustomHtmlTemplates vlocity_cmt__CustomHtmlTemplates__c vlocity_ins__CustomHtmlTemplates__c
Is Reusable IsReusable vlocity_cmt__IsReusable__c vlocity_ins__IsReusable__c
Procedure Key N/A vlocity_cmt__ProcedureKey__c vlocity_ins__ProcedureKey__c

Note on TypeCategory vs IsIntegrationProcedure: In Core namespace, TypeCategory distinguishes OmniScripts from Integration Procedures ('OmniScript' vs 'IntegrationProcedure'). In Vlocity namespaces, use the boolean field IsIntegrationProcedure__c instead.

Element Fields

Concept Core (OmniProcessElement) vlocity_cmt (Element__c) vlocity_ins (Element__c)
Name Name Name Name
Type Type vlocity_cmt__Type__c vlocity_ins__Type__c
Property Set Config PropertySetConfig vlocity_cmt__PropertySet__c vlocity_ins__PropertySet__c
Order SequenceNumber vlocity_cmt__Order__c vlocity_ins__Order__c
Is Active IsActive vlocity_cmt__Active__c vlocity_ins__Active__c
Parent Element ParentElementId vlocity_cmt__ParentElementId__c vlocity_ins__ParentElementId__c
Level Level vlocity_cmt__Level__c vlocity_ins__Level__c

FlexCard / UI Template Fields

Concept Core (OmniUiCard) vlocity_cmt (VlocityUITemplate__c) vlocity_ins (VlocityUITemplate__c)
Name Name Name Name
Is Active IsActive vlocity_cmt__IsActive__c vlocity_ins__IsActive__c
Definition Definition vlocity_cmt__Definition__c vlocity_ins__Definition__c
Author Name AuthorName vlocity_cmt__Author__c vlocity_ins__Author__c
Version VersionNumber vlocity_cmt__Version__c vlocity_ins__Version__c
Template Type N/A vlocity_cmt__TemplateType__c vlocity_ins__TemplateType__c

Data Mapper / DataRaptor Fields

Concept Core (OmniDataTransform) vlocity_cmt (DRBundle__c) vlocity_ins (DRBundle__c)
Name Name Name Name
Type Type vlocity_cmt__Type__c vlocity_ins__Type__c
Is Active IsActive vlocity_cmt__IsActive__c vlocity_ins__IsActive__c
Input Type InputType vlocity_cmt__InputType__c vlocity_ins__InputType__c
Output Type OutputType vlocity_cmt__OutputType__c vlocity_ins__OutputType__c

Data Mapper Item Fields

Concept Core (OmniDataTransformItem) vlocity_cmt (DRMapItem__c) vlocity_ins (DRMapItem__c)
Input Object InputObjectName vlocity_cmt__InterfaceObject__c vlocity_ins__InterfaceObject__c
Output Object OutputObjectName vlocity_cmt__TargetFieldObjectType__c vlocity_ins__TargetFieldObjectType__c
Input Field InputFieldName vlocity_cmt__InterfaceFieldAPIName__c vlocity_ins__InterfaceFieldAPIName__c
Output Field OutputFieldName vlocity_cmt__TargetFieldAPIName__c vlocity_ins__TargetFieldAPIName__c
Filter Data Type FilterDataType vlocity_cmt__FilterDataType__c vlocity_ins__FilterDataType__c
Query Sequence InputObjectQuerySequence vlocity_cmt__InterfaceObjectLookupOrder__c vlocity_ins__InterfaceObjectLookupOrder__c

Metadata Type Names for Deployment

When using sf project retrieve start or sf project deploy start, reference the correct metadata type:

Component Core Metadata Type Vlocity Metadata Type
OmniScript OmniScript N/A (use Vlocity Build Tool)
Integration Procedure OmniIntegrationProcedure N/A (use Vlocity Build Tool)
FlexCard OmniUiCard N/A (use Vlocity Build Tool)
Data Mapper OmniDataTransform N/A (use Vlocity Build Tool)
Data Mapper Item OmniDataTransformItem N/A (use Vlocity Build Tool)

Note: Only Core namespace components support standard Salesforce metadata API deployment. Vlocity namespace components require the Vlocity Build Tool (vlocity_build) for migration between orgs.

Retrieve Example (Core)

sf project retrieve start --metadata OmniScript --target-org myorg
sf project retrieve start --metadata OmniDataTransform --target-org myorg

Mixed Namespace Scenarios

During Core Migration

Organizations migrating from a Vlocity namespace to Core may temporarily have components under both namespaces. During this transition:

  1. Probe both namespaces — if both return results, the org is mid-migration
  2. Core components take precedence — runtime uses Core namespace objects when both exist
  3. Report the state — alert the user that migration is in progress and both namespaces contain data
  4. Do not modify Vlocity-namespace components — they are frozen during migration

Detection of Mixed State

# Check if Core has components
sf data query --query "SELECT COUNT() FROM OmniProcess" --target-org myorg --json 2>/dev/null

# Also check if Vlocity still has components
sf data query --query "SELECT COUNT() FROM vlocity_cmt__OmniScript__c" --target-org myorg --json 2>/dev/null

If both return totalSize > 0, the org is in a mixed namespace state.

  • Inventory components under both namespaces
  • Compare counts to assess migration progress
  • Flag components that exist only in the old namespace (not yet migrated)
  • Do not create components under the old namespace

Data Mapper Type Values

The Type field on OmniDataTransform / DRBundle indicates the mapper's purpose:

Type Value Description
Extract Reads data from Salesforce objects
Transform Maps and transforms data between structures
Load Writes data to Salesforce objects
Turbo Extract High-performance read (bypasses sharing rules)

SOQL Query Templates

Core Namespace — Full Inventory

-- All OmniScripts
SELECT Id, Type, SubType, Language, IsActive, VersionNumber, LastModifiedDate
FROM OmniProcess
WHERE TypeCategory = 'OmniScript'
ORDER BY Type, SubType, Language, VersionNumber DESC

-- All Integration Procedures
SELECT Id, Type, SubType, Language, IsActive, VersionNumber, LastModifiedDate
FROM OmniProcess
WHERE TypeCategory = 'IntegrationProcedure'
ORDER BY Type, SubType, Language, VersionNumber DESC

-- All FlexCards
SELECT Id, Name, IsActive, AuthorName, VersionNumber, LastModifiedDate
FROM OmniUiCard
ORDER BY Name, VersionNumber DESC

-- All Data Mappers
SELECT Id, Name, Type, IsActive, InputType, OutputType, LastModifiedDate
FROM OmniDataTransform
ORDER BY Name

vlocity_cmt Namespace — Full Inventory

-- All OmniScripts
SELECT Id, vlocity_cmt__Type__c, vlocity_cmt__SubType__c,
       vlocity_cmt__Language__c, vlocity_cmt__IsActive__c, vlocity_cmt__Version__c
FROM vlocity_cmt__OmniScript__c
WHERE vlocity_cmt__IsIntegrationProcedure__c = false
ORDER BY vlocity_cmt__Type__c, vlocity_cmt__SubType__c

-- All Integration Procedures
SELECT Id, vlocity_cmt__Type__c, vlocity_cmt__SubType__c,
       vlocity_cmt__Language__c, vlocity_cmt__IsActive__c, vlocity_cmt__Version__c
FROM vlocity_cmt__OmniScript__c
WHERE vlocity_cmt__IsIntegrationProcedure__c = true
ORDER BY vlocity_cmt__Type__c, vlocity_cmt__SubType__c

-- All FlexCards / UI Templates
SELECT Id, Name, vlocity_cmt__IsActive__c, vlocity_cmt__Version__c
FROM vlocity_cmt__VlocityUITemplate__c
ORDER BY Name

-- All Data Mappers (DataRaptors)
SELECT Id, Name, vlocity_cmt__Type__c, vlocity_cmt__IsActive__c
FROM vlocity_cmt__DRBundle__c
ORDER BY Name

vlocity_ins Namespace — Full Inventory

-- All OmniScripts
SELECT Id, vlocity_ins__Type__c, vlocity_ins__SubType__c,
       vlocity_ins__Language__c, vlocity_ins__IsActive__c, vlocity_ins__Version__c
FROM vlocity_ins__OmniScript__c
WHERE vlocity_ins__IsIntegrationProcedure__c = false
ORDER BY vlocity_ins__Type__c, vlocity_ins__SubType__c

-- All Integration Procedures
SELECT Id, vlocity_ins__Type__c, vlocity_ins__SubType__c,
       vlocity_ins__Language__c, vlocity_ins__IsActive__c, vlocity_ins__Version__c
FROM vlocity_ins__OmniScript__c
WHERE vlocity_ins__IsIntegrationProcedure__c = true
ORDER BY vlocity_ins__Type__c, vlocity_ins__SubType__c

-- All FlexCards / UI Templates
SELECT Id, Name, vlocity_ins__IsActive__c, vlocity_ins__Version__c
FROM vlocity_ins__VlocityUITemplate__c
ORDER BY Name

-- All Data Mappers (DataRaptors)
SELECT Id, Name, vlocity_ins__Type__c, vlocity_ins__IsActive__c
FROM vlocity_ins__DRBundle__c
ORDER BY Name