Skip to content
Development
Skill

/data360-schema-get

Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters.

From plugin
sf-skills
803161 skills6 agents10 commands3 MCP
Install
$ npx -y skills add forcedotcom/sf-skills --skill data360-schema-get --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/data360-schema-get

Context preview

The summary Claude sees to decide when to auto-load this skill.

Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters.

SKILL.md

data360-schema-get.SKILL.md
name: data360-schema-get
description: "Retrieve Data Lake Object (DLO) and Data Model Object (DMO) schema information from Salesforce Data Cloud using REST APIs. Use this skill when you need to inspect DLO or DMO field definitions, data types, or metadata. Takes org alias and optional DLO/DMO name as parameters."
metadata:
  cliTools:
    - tool: ["pip"]
      semver: ">=23.0.0"
    - tool: ["python3"]
      semver: ">=3.10.0"
    - tool: ["sf"]
      semver: ">=2.0.0"
  version: "1.0"

data360-schema-get 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 in the `scripts/` subdirectory.

**To list all DLOs:**

python3 ./scripts/get_dlo_schema.py <org_alias>

**To get specific DLO schema:**

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

Step 3b: Execute DMO Schema Script

**To list all DMOs:**

python3 ./scripts/get_dmo_schema.py <org_alias>

**To get specific DMO schema:**

python3 ./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 ./scripts/get_dlo_schema.py afvibe
4. Display formatted list of DLOs

**Example 2: Get specific DLO schema**

User
Read more
Ships withsf-skills

This repository provides a curated collection of Salesforce agent skills for building applications.

Get the whole plugin

Other skills on sf-skills.