Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
forcedotcom avatar

Getting Datacloud Schema

  • 2.1k installs
  • 763 repo stars
  • Updated July 24, 2026
  • forcedotcom/sf-skills

getting-datacloud-schema lists or details Salesforce Data Cloud DLO and DMO schemas via SF CLI scripts.

About

The getting-datacloud-schema skill retrieves Data Lake Object and Data Model Object schema from Salesforce Data Cloud using SSOT REST APIs via bundled Python scripts. Parameters are required org_alias plus optional dlo_name or dmo_name. Execution discovers connected org with sf org list, validates authentication via sf org display, then runs get_dlo_schema.py or get_dmo_schema.py from the skill scripts directory using absolute skill_dir paths not relative ./scripts. List mode shows all DLOs or DMOs with labels, categories, IDs, and record counts; detail mode returns field names, data types, primary key flags, and nullable status while highlighting custom fields over system cdp_sys fields. Error handling covers disconnected orgs, not-found objects, permission 403s, and API version v64.0 notes. After results it suggests follow-ups like querying data, calculated insights, segments, data streams, or DMO mappings. Error handling covers disconnected orgs, not-found objects, and HTTP 403 permissions.

  • sf org list discovers alias; sf org display validates auth.
  • Scripts live in skill_dir/scripts; never use relative ./scripts paths.
  • List or detail schema for DLOs and DMOs via SSOT v64.0 APIs.
  • Field output highlights custom fields and excludes cdp_sys noise.
  • Suggests segments, insights, and data stream next steps after schema.

Getting Datacloud Schema by the numbers

  • 2,079 all-time installs (skills.sh)
  • +6 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #53 of 2,066 Data Science & ML skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

getting-datacloud-schema capabilities & compatibility

Capabilities
sf cli org discovery and auth validation · dlo list and detail schema via get_dlo_schema.py · dmo list and detail schema via get_dmo_schema.py · custom field highlighting and system field filte · follow up suggestions for insights, segments, an
Use cases
data analysis · database
From the docs

What getting-datacloud-schema says it does

GET /services/data/v64.0/ssot/data-lake-objects
SKILL.md
Highlight custom fields (exclude system fields like DataSource__c, cdp_sys_*)
SKILL.md
npx skills add https://github.com/forcedotcom/sf-skills --skill getting-datacloud-schema

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2.1k
repo stars763
Security audit3 / 3 scanners passed
Last updatedJuly 24, 2026
Repositoryforcedotcom/sf-skills

What fields and types exist on this Data Cloud DLO or DMO in my org?

Retrieve Salesforce Data Cloud DLO and DMO schema via SF CLI and bundled Python scripts.

Who is it for?

Data Cloud users exploring DLO and DMO structures before queries or mappings.

Skip if: Skip for non-Data Cloud orgs or schema outside Salesforce SSOT data lake or model objects.

When should I use this skill?

User asks for Data Cloud schema, DLO fields, DMO metadata, or lists objects in an org.

What you get

Formatted DLO or DMO list or field schema with types, keys, and record counts.

  • DLO listings
  • DMO field schemas
  • REST metadata responses

Files

SKILL.mdMarkdownGitHub ↗

getting-datacloud-schema Skill

Overview

This skill retrieves Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using the SSOT REST API. It can list all DLOs or DMOs in an org, or retrieve detailed schema for a specific DLO or DMO.

When to Use

  • User wants to see all DLOs or DMOs in a Data Cloud org
  • User needs field schema for a specific DLO or DMO
  • User is exploring Data Cloud data structures
  • User needs to understand DLO or DMO field types and metadata

Prerequisites

  • SF CLI installed and authenticated to target org
  • Org has Data Cloud enabled
  • User has appropriate Data Cloud permissions

Skill Execution

Parameters

1. org_alias (required): The SF CLI org alias (e.g., 'afvibe', 'myorg') 2. dlo_name (optional): Specific DLO developer name (e.g., 'Employee__dll') 3. dmo_name (optional): Specific DMO developer name (e.g., 'Individual__dlm')

Step 1: Discover Connected Org

First, run sf org list to find out which org is connected and extract the alias to use for all subsequent calls:

sf org list

Example output:

┌────┬───────┬──────────────────────────┬────────────────────┬───────────┐
│    │ Alias │ Username                 │ Org Id             │ Status    │
├────┼───────┼──────────────────────────┼────────────────────┼───────────┤
│ 🍁 │ myorg │ chandresh@afvidedemo.org │ 00DKZ00000b80NT2AY │ Connected │
└────┴───────┴──────────────────────────┴────────────────────┴───────────┘

Extract the Alias value (e.g., myorg) from the output and use it as the <org_alias> for all subsequent calls. Use --all to see expired and deleted scratch orgs as well.

Step 2: Validate SF CLI Authentication

Before making API calls, verify the org is connected:

sf org display --target-org <org_alias> --json

If not connected, inform user to run:

sf org login web --alias <org_alias>

Step 3a: Execute DLO Schema Script

The Python scripts are bundled with this skill. They live in the scripts/ subdirectory of the same directory that contains this SKILL.md file. Use the absolute path to that directory — do NOT use ./scripts/ as that resolves relative to the current working directory, not the skill directory.

To list all DLOs:

python3 <skill_dir>/scripts/get_dlo_schema.py <org_alias>

To get specific DLO schema:

python3 <skill_dir>/scripts/get_dlo_schema.py <org_alias> <dlo_name>

Step 3b: Execute DMO Schema Script

To list all DMOs:

python3 <skill_dir>/scripts/get_dmo_schema.py <org_alias>

To get specific DMO schema:

python3 <skill_dir>/scripts/get_dmo_schema.py <org_alias> <dmo_name>

Step 4: Present Results

Parse and present the results in a user-friendly format:

For DLO List:

  • Show DLO name, label, category, and ID
  • Indicate total count
  • Highlight DLOs with data (totalRecords > 0)

For DLO Schema:

  • Show basic info (name, label, category, status)
  • List all fields with:
  • Field name
  • Data type
  • Primary key indicator
  • Nullable status
  • Highlight custom fields (exclude system fields like DataSource__c, cdp_sys_*)
  • Show record count if available

For DMO List:

  • Show DMO name, label, category, and ID
  • Indicate total count

For DMO Schema:

  • Show basic info (name, label, category, description)
  • List all fields with:
  • Field name
  • Data type
  • Primary key indicator
  • Nullable status
  • Show dataspace information if available

Step 5: Offer Next Steps

After displaying results, suggest relevant follow-up actions:

  • Query data from the DLO
  • Create calculated insights
  • Build segments
  • Set up data streams
  • Create DMO mappings

API Endpoints Used

List All DLOs

GET /services/data/v64.0/ssot/data-lake-objects

Response structure:

{
  "dataLakeObjects": [
    {
      "name": "Employee__dll",
      "label": "Employee",
      "category": "Profile",
      "id": "1dlXXXXXXXXXXXXXXX",
      "status": "ACTIVE",
      "totalRecords": 12,
      "fields": [...]
    }
  ],
  "totalSize": 5
}

Get DLO Schema

GET /services/data/v64.0/ssot/data-lake-objects/{dlo_name}

Response structure (same as individual object in list response, but wrapped in paginated format).

List All DMOs

GET /services/data/v64.0/ssot/data-model-objects

Response structure:

{
  "dataModelObjects": [
    {
      "name": "Individual__dlm",
      "label": "Individual",
      "category": "Profile",
      "id": "0dmXXXXXXXXXXXXXXX",
      "fields": [...]
    }
  ],
  "totalSize": 10
}

Get DMO Schema

GET /services/data/v64.0/ssot/data-model-objects/{dmo_name}

Response structure (same as individual object in list response, but wrapped in paginated format).

Error Handling

Common Issues:

1. Org not connected

  • Message: "Org not connected"
  • Solution: Ask user to authenticate via SF CLI

2. DLO not found

  • Message: "DLO 'XYZ__dll' not found"
  • Solution: List all DLOs first to verify name

5. DMO not found

  • Message: "DMO 'XYZ__dlm' not found"
  • Solution: List all DMOs first to verify name

3. Permission issues

  • Message: HTTP 403 errors
  • Solution: Verify user has Data Cloud permissions

4. API version mismatch

  • Current: v64.0
  • Solution: Script can be updated for newer API versions

Example Usage

Example 1: List all DLOs

User: "Show me all DLOs in afvibe org"

Response:
1. Run sf org list to discover connected org alias
2. Authenticate to afvibe
3. Run: python3 <skill_dir>/scripts/get_dlo_schema.py afvibe
4. Display formatted list of DLOs

Example 2: Get specific DLO schema

User: "Get the schema for Employee__dll in afvibe"

Response:
1. Run sf org list to discover connected org alias
2. Authenticate to afvibe
3. Run: python3 <skill_dir>/scripts/get_dlo_schema.py afvibe Employee__dll
4. Display field schema with types and metadata

Example 3: Explore DLOs then get schema

User: "What DLOs exist in myorg and show me the schema for the Employee one"

Response:
1. Run sf org list to discover connected org alias
2. List all DLOs in myorg
3. Identify Employee__dll
4. Get detailed schema for Employee__dll
5. Present both results

Example 4: List all DMOs

User: "Show me all DMOs in afvibe org"

Response:
1. Run sf org list to discover connected org alias
2. Authenticate to afvibe
3. Run: python3 <skill_dir>/scripts/get_dmo_schema.py afvibe
4. Display formatted list of DMOs

Example 5: Get specific DMO schema

User: "Get the schema for Individual__dlm in afvibe"

Response:
1. Run sf org list to discover connected org alias
2. Authenticate to afvibe
3. Run: python3 <skill_dir>/scripts/get_dmo_schema.py afvibe Individual__dlm
4. Display field schema with types and metadata

Example 6: Explore DMOs then get schema

User: "What DMOs exist in myorg and show me the schema for the Individual one"

Response:
1. Run sf org list to discover connected org alias
2. List all DMOs in myorg
3. Identify Individual__dlm
4. Get detailed schema for Individual__dlm
5. Present both results

Output Format

DLO List Output

Found 5 DLOs in org 'afvibe':

1. DataCustomCodeLogs__dll
   Label: DataCustomCodeLogs
   Category: Engagement
   Records: 233

2. Employee__dll
   Label: Employee
   Category: Profile
   Records: 12

[...]

DLO Schema Output

DLO: Employee__dll
Label: Employee
Category: Profile
Status: ACTIVE
Records: 12

Custom Fields:
  • id__c (Text) - Primary Key
  • name__c (Text)
  • position__c (Text)
  • manager_id__c (Number)

System Fields:
  • DataSource__c (Text)
  • InternalOrganization__c (Text)
  • cdp_sys_SourceVersion__c (Text)

Next steps:
- Query data: SELECT * FROM Employee__dll LIMIT 10
- Create segment based on position field
- Set up data stream for real-time updates

DMO List Output

Found 10 DMOs in org 'afvibe':

1. Individual__dlm
   Label: Individual
   Category: Profile

2. ContactPointEmail__dlm
   Label: Contact Point Email
   Category: Profile

[...]

DMO Schema Output

DMO: Individual__dlm
Label: Individual
Category: Profile
Description: Represents an individual person

Fields:
  • Id__c (Text) - Primary Key
  • FirstName__c (Text)
  • LastName__c (Text)
  • BirthDate__c (DateTime)

Next steps:
- Query data: SELECT * FROM Individual__dlm LIMIT 10
- View DLO mappings to this DMO
- Create calculated insights

Notes

  • DLO names always end with __dll suffix
  • DMO names always end with __dlm suffix
  • Field names always end with __c suffix
  • System fields (DataSource__c, KQ_, cdp_sys_) are automatically added
  • Primary key fields are required for DLO and DMO queries
  • API supports pagination (limit/offset) for large result sets

Related Skills

  • datakit_workflow: For DMO mapping operations
  • datakit_validation: For validating datakit configurations
  • Use this skill before creating DMO mappings to understand source DLO structure

Related skills

Forks & variants (1)

Getting Datacloud Schema has 1 known copy in the catalog totaling 536 installs. They canonicalize to this original listing.

How it compares

Use Getting Data Cloud Schema for Data Cloud DLO and DMO metadata instead of standard Salesforce object describe calls.

FAQ

How do I find the org alias?

Run sf org list and use the Alias column value for all subsequent script calls.

Where are the Python scripts?

In skill_dir/scripts beside SKILL.md; use absolute paths, not ./scripts from cwd.

What API version is used?

SSOT REST v64.0 endpoints for data-lake-objects and data-model-objects.

Is Getting Datacloud Schema safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Data Science & MLdatabasesanalytics

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.