# summary

Inventory profiling definitions across a Salesforce org — see what has been defined, what method each uses, and where profiling stands — so you know where to focus next.

# description

The profiling definition inventory is the foundation of any data profiling workflow. Before you can decide what to profile, you need to see what has already been defined, which objects are in scope, and which definitions are active, complete, or stuck. This command retrieves all profiling definitions from a Salesforce org and presents them as a paginated, filterable table with seven columns: definition key, name, target object, profiling method, category, profiling status, and last profiled date.

An Org Identity summary box provides org context, and a Summary box shows aggregate counts: total definitions, active, inactive, profiled, and not profiled. Active filters display above the table so you always know which narrowing is in effect. Contextual next steps suggest `definition get`, `definition create`, and `profile` commands with the target org pre-populated.

**When to use vs related commands:**

- `definition list` — "Show me everything" / "What definitions exist?" / "Which definitions need profiling?" (browse and filter across many)
- `definition get` — "Show me PD-0001" / "Verify this definition before profiling" (targeted lookup by key)

FILTERING — six dimensions narrow results to precisely targeted subsets:

--objects Account — Only definitions targeting the Account object
--status active — Only active definitions (vs inactive or all)
--method metadata — Only metadata-type definitions (vs historical or comparative)
--category "Phase 1" — Only definitions in a specific category
--namespace FinServ — Only definitions for Financial Services Cloud objects
--pattern Account% — Definitions whose name matches a SOQL LIKE pattern

NATURAL LANGUAGE → FLAG MAPPING:

"show all definitions" → (no filter flags)
"definitions for Account" → --objects Account
"which definitions are active" → --status active
"metadata definitions only" → --method metadata
"definitions not yet profiled" → --sort lastProfiledDate
"only FSC definitions" → --namespace FinServ

COMMAND SEQUENCE: `definition create` (build definitions) → `definition list` (review inventory) → `definition get` / `profile` / `definition purge` (act on specific definitions)

# flags.target-org.summary

Retrieve definitions from this Salesforce org. Specify the org alias or username when you have multiple authenticated orgs.

# flags.objects.summary

Narrow the inventory to definitions targeting specific objects (comma-separated). For example, `--objects Account,Contact` shows only definitions for Account and Contact.

# flags.status.summary

Filter by activity status: `active` (currently usable for profiling), `inactive` (disabled), or `all` (both). Defaults to `all`, which gives the broadest view for discovery.

# flags.method.summary

Filter by profiling method: `metadata`, `historical`, or `comparative`. Use this when reviewing definitions of a single analysis type (e.g., `--method historical` to see only historical definitions).

# flags.pattern.summary

Filter definitions by name pattern using SOQL LIKE wildcards. Use `%` for multi-character and `_` for single-character wildcards (e.g., `Account%` matches all definitions whose name starts with "Account").

# flags.category.summary

Filter by the category label assigned during definition creation (e.g., "Phase 1", "Sales Cloud"). Use this to view definitions grouped by engagement phase or functional area.

# flags.namespace.summary

Filter by the namespace prefix of the target object (e.g., `FinServ` for Financial Services Cloud, `SBQQ` for CPQ). Use this to isolate definitions belonging to a specific managed package.

# flags.limit.summary

Maximum definitions per page (default: 25, max: 200). Use with `--offset` to paginate through large inventories.

# flags.offset.summary

Skip this many definitions before returning results. Use with `--limit` for pagination (e.g., `--limit 25 --offset 25` returns the second page).

# flags.sort.summary

Sort results by: `key` (definition key), `name` (definition name, the default), `objectName` (target object), or `lastProfiledDate` (most recently profiled first).

# examples

- Inventory all definitions in the org — see the full picture before deciding what to profile next:

  <%= config.bin %> <%= command.id %> --target-org myOrg

- Focus on a specific object — show only definitions targeting Account:

  <%= config.bin %> <%= command.id %> --target-org myOrg --objects Account

- Find active definitions ready for profiling:

  <%= config.bin %> <%= command.id %> --target-org myOrg --status active

- Isolate Financial Services Cloud definitions by namespace:

  <%= config.bin %> <%= command.id %> --target-org myOrg --namespace FinServ

- Page through a large definition inventory (page 3 of 25-per-page):

  <%= config.bin %> <%= command.id %> --target-org myOrg --limit 25 --offset 50

- Export the inventory as JSON for engagement reports or scripting:

  <%= config.bin %> <%= command.id %> --target-org myOrg --json

# errors.queryFailed

Failed to query profiling definitions: %s

# errors.noTargetOrg

Could not determine target org username.

# output.headerTitle

Profiling Definitions

# output.identity.header

Org Identity

# output.identity.orgName

Org Name

# output.identity.orgId

Org ID

# output.identity.instanceUrl

Instance URL

# output.identity.orgType

Org Type

# output.identity.edition

Edition

# output.identity.namespace

Namespace

# output.identity.username

Username

# output.definitions.header

Definitions

# output.summary.header

Summary

# output.summary.totalDefinitions

Total Definitions

# output.summary.active

Active

# output.summary.inactive

Inactive

# output.summary.profiled

Profiled

# output.summary.notProfiled

Not Profiled

# output.noResults.suggestion

Try relaxing or removing the most restrictive filters.

# output.limitNotice

Displaying %s of %s definitions. Use --limit and --offset for pagination.

# output.filters.status

Status: %s

# output.filters.method

Method: %s

# output.filters.objects

Objects: %s

# output.filters.pattern

Pattern: %s

# output.filters.category

Category: %s

# output.filters.namespace

Namespace: %s

# table.header.key

Key

# table.header.name

Name

# table.header.object

Object

# table.header.method

Method

# table.header.category

Category

# table.header.status

Status

# table.header.lastProfiled

Last Profiled

# output.entityType

definitions

# output.nextSteps.header

Next steps:

# output.nextSteps.getLabel

Get definition details

# output.nextSteps.getCommand

sf cuneiform definition get --target-org %s --keys %s

# output.nextSteps.createLabel

Create a profiling definition

# output.nextSteps.createCommand

sf cuneiform definition create --help

# output.nextSteps.profileLabel

Execute profiling for a definition

# output.nextSteps.profileCommand

sf cuneiform profile --target-org %s --keys %s
