PluginBench
Skill
Pass
Audit score 90

harmonizing-datacloud

forcedotcom/sf-skills

Harmonize and unify Salesforce Data Cloud schemas, mappings, identity resolution, and profiles.

What is harmonizing-datacloud?

This skill handles the Harmonize phase of Salesforce Data Cloud: creating and managing DMOs (Data Model Objects), field mappings, identity resolution rulesets, relationships, data graphs, and unified profiles. Use it when working with schema unification, entity resolution, or universal ID lookup—not for data ingestion, segmentation, or retrieval tasks.

  • Create and inspect Data Model Objects (DMOs) and their schemas
  • Map source DLOs (Data Lake Objects) to target DMOs with field-level transformations
  • Configure and run identity resolution rulesets to deduplicate and unify customer records
  • Define relationships and data graphs across harmonized entities
  • Look up and verify universal IDs for unified profiles
  • Validate harmonization readiness before executing mappings and IR runs

How to install harmonizing-datacloud

npx skills add https://github.com/forcedotcom/sf-skills --skill harmonizing-datacloud
Prerequisites
  • Salesforce Data Cloud-enabled org with appropriate permissions
  • sf data360 CLI plugin installed and configured
  • Source DLOs already created in the Prepare phase
  • Target org alias configured in Salesforce CLI
Claude Code
Cursor
Windsurf
Cline

How to use harmonizing-datacloud

  1. 1.Run the readiness classifier to verify harmonize-phase support: `node ../orchestrating-datacloud/scripts/diagnose-org.mjs -o <org> --phase harmonize --json`
  2. 2.List available DMOs and identity resolution rulesets: `sf data360 dmo list --all` and `sf data360 identity-resolution list`
  3. 3.Inspect the target DMO schema: `sf data360 dmo get -o <org> --name <dmo-name> --json`
  4. 4.Review or create field mappings between source DLO and target DMO: `sf data360 dmo mapping-list` or `sf data360 dmo map-to-canonical --dry-run`
  5. 5.Create and run identity resolution ruleset: `sf data360 identity-resolution create -f ir-ruleset.json` then `sf data360 identity-resolution run --name <ruleset-name>`
  6. 6.Verify results and unified profiles before moving to segmentation or retrieval phases

Use cases

Good for
  • Unifying customer records from multiple source systems into a single DMO using identity resolution
  • Creating field mappings between a Contact DLO and a canonical Individual DMO
  • Building a data graph that connects Customer, Account, and Order entities across harmonized schemas
  • Verifying unified profile completeness after an identity resolution run
  • Inspecting DMO schema and existing mappings before adding new data sources
Who it's for
  • Data architects designing unified customer data models
  • Data engineers building ETL mappings and identity resolution logic
  • Salesforce Data Cloud administrators managing harmonization workflows
  • Analytics teams preparing unified profiles for segmentation and activation

harmonizing-datacloud FAQ

When should I use this skill vs. preparing-datacloud or segmenting-datacloud?

Use harmonizing-datacloud for DMOs, mappings, relationships, identity resolution, and unified profiles. Use preparing-datacloud for streams and DLOs; use segmenting-datacloud for segment logic and insights; use retrieving-datacloud for SQL and search workflows.

What is the difference between a DLO and a DMO?

A DLO (Data Lake Object) is a raw or lightly transformed data source created in the Prepare phase. A DMO (Data Model Object) is a harmonized, canonical entity created in the Harmonize phase by mapping and unifying data from one or more DLOs.

Do I need to run identity resolution every time I add a new mapping?

No. Run identity resolution only after mappings are complete and trustworthy. Use `--dry-run` on mappings first to validate field transformations before executing IR.

What does the readiness classifier check?

It validates org configuration, API availability, and phase-specific feature support. Run it before starting harmonization work to catch blockers early.

Can I define data graphs without identity resolution?

Data graphs and identity resolution are separate features. You can define graph relationships independently, but unified profiles typically depend on successful IR runs to deduplicate entities.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: harmonizing-datacloud description: "Salesforce Data Cloud Harmonize phase. Use this skill when the user works with DMOs, mappings, relationships, identity resolution, unified profiles, data graphs, or universal IDs. TRIGGER when: user works with DMOs, mappings, relationships, identity resolution, unified profiles, data graphs, or universal IDs. DO NOT TRIGGER when: the task is only about streams/DLOs (use preparing-datacloud), segments/insights (use segmenting-datacloud), retrieval/search (use retrieving-datacloud), or STDM/session tracing (use observing-agentforce)." compatibility: "Requires an external community sf data360 CLI plugin and a Data Cloud-enabled org" metadata: version: "1.0"

harmonizing-datacloud: Data Cloud Harmonize Phase

Use this skill when the user needs schema harmonization and unification work: DMOs, field mappings, relationships, identity resolution, unified profiles, data graphs, or universal ID lookup.

When This Skill Owns the Task

Use harmonizing-datacloud when the work involves:

  • sf data360 dmo *
  • sf data360 identity-resolution *
  • sf data360 data-graph *
  • sf data360 profile *
  • sf data360 universal-id lookup

Delegate elsewhere when the user is:

  • still ingesting streams or building DLOs → preparing-datacloud
  • working on segment logic or calculated insights → segmenting-datacloud
  • running SQL, describe, or search-index workflows → retrieving-datacloud

Required Context to Gather First

Ask for or infer:

  • source DLO and target DMO names
  • whether the task is schema creation, mapping, IR, or graph-related
  • target org alias
  • whether a ruleset already exists
  • the user’s desired unified entity model

Core Operating Rules

  • Inspect DMO schema before creating mappings.
  • Run the shared readiness classifier before mutating harmonization assets: node ../orchestrating-datacloud/scripts/diagnose-org.mjs -o <org> --phase harmonize --json.
  • Prefer dmo list --all when browsing the catalog, but use first-page dmo list for fast readiness checks.
  • Use query describe or dmo get --json instead of inventing unsupported describe flows.
  • Treat identity resolution runs as asynchronous and verify results after execution.
  • Keep unified-profile work separate from STDM/session tracing work.

Recommended Workflow

1. Classify readiness for harmonize work

node ../orchestrating-datacloud/scripts/diagnose-org.mjs -o <org> --phase harmonize --json

2. Inspect the catalog

sf data360 dmo list --all -o <org> 2>/dev/null
sf data360 identity-resolution list -o <org> 2>/dev/null

3. Inspect schema before mapping

sf data360 query describe -o <org> --table ssot__Individual__dlm 2>/dev/null
sf data360 dmo get -o <org> --name ssot__Individual__dlm --json 2>/dev/null

4. Create or review mappings intentionally

sf data360 dmo mapping-list -o <org> --source Contact_Home__dll --target ssot__Individual__dlm 2>/dev/null
sf data360 dmo map-to-canonical -o <org> --dlo Contact_Home__dll --dmo ssot__Individual__dlm --dry-run 2>/dev/null

5. Run IR only after mappings are trustworthy

sf data360 identity-resolution create -o <org> -f ir-ruleset.json 2>/dev/null
sf data360 identity-resolution run -o <org> --name Main 2>/dev/null

High-Signal Gotchas

  • dmo list should usually use --all.
  • Use query describe or dmo get --json; there is no dmo describe command.
  • Mapping and related commands can be sensitive to API-version differences.
  • Unified DMO names are ruleset-specific rather than generic.
  • Data graph definitions are sensitive to field selection and relationship shape.
  • If dmo list works but identity-resolution list is gated, treat that as a phase-specific gap rather than a full Data Cloud outage.

Output Format

Harmonize task: <dmo / mapping / relationship / ir / data-graph>
Source/target: <dlo → dmo or ruleset/graph names>
Target org: <alias>
Artifacts: <json files / commands>
Verification: <passed / partial / blocked>
Next step: <segment / retrieve / follow-up>

References

  • README.md
  • ../orchestrating-datacloud/assets/definitions/dmo.template.json
  • ../orchestrating-datacloud/assets/definitions/mapping.template.json
  • ../orchestrating-datacloud/assets/definitions/relationship.template.json
  • ../orchestrating-datacloud/assets/definitions/identity-resolution.template.json
  • ../orchestrating-datacloud/assets/definitions/data-graph.template.json
  • ../orchestrating-datacloud/references/feature-readiness.md

Related skills

More from forcedotcom/sf-skills and the wider catalog.

IMimplementing-ui-bundle-agentforce-conversation-client logo

implementing-ui-bundle-agentforce-conversation-client

forcedotcom/sf-skills

Embed and configure Agentforce Conversation Client in UI Bundle projects.

2.1k installs
IMimplementing-ui-bundle-file-upload logo

implementing-ui-bundle-file-upload

forcedotcom/sf-skills

Programmatic file upload API with progress tracking for Salesforce UI bundles.

2.1k installsAudited
INintegrating-b2b-commerce-open-code-components logo

integrating-b2b-commerce-open-code-components

forcedotcom/sf-skills

Integrate Salesforce B2B Commerce open source components into your store's Experience Builder.

1.6k installs
INinvestigating-agentforce-architecture logo

investigating-agentforce-architecture

forcedotcom/sf-skills

Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins. Renders a human-readable architecture document and Mermaid invocation graph from design-time metadata (not runtime audit rows). TRIGGER when user asks to describe, diagram, inventory, audit, document, or diff (e.g. v3 vs v5) the architecture / action tree / topic structure / tool inventory of a specific agent by agent API name in a specific org. DO NOT TRIGGER for runtime session traces, conversation transcripts, generation timings, or gateway audit chains — this skill reads design-time metadata only (use investigating-agentforce-d360 for session traces).

836 installs
INinvestigating-agentforce-d360 logo

investigating-agentforce-d360

forcedotcom/sf-skills

Data Cloud 360° view of a single Agentforce session. TRIGGER when user asks to trace, inspect, summarize, or describe a specific Agentforce session by session id (Agent Session UUID `019d…` or MessagingSession id `0Mw…`). Also triggers on session discovery — find/list/search sessions by time, agent, channel, outcome, or conversation text — when the user has no session id yet. DO NOT TRIGGER for design-time architecture questions (use investigating-agentforce-architecture instead) or for runtime perf/latency/SLO questions that require platform telemetry beyond Data Cloud.

822 installs
MAmanaging-managed-event-subscription logo

managing-managed-event-subscription

forcedotcom/sf-skills

Create, read, update, and delete ManagedEventSubscription metadata in Salesforce. Use this skill for any work involving managed event subscriptions, platform event subscriptions, event channel subscribers, or .managedEventSubscription-meta.xml files. TRIGGER when: user asks to subscribe to a platform event, create a managed subscription, set up event replay, configure an event channel subscriber, update replay preset, activate or deactivate a subscription, delete a subscription, or manage ManagedEventSubscription metadata. SKIP when: user needs to create the platform event channel itself (use generating-platform-event skill) or needs Flow-based event subscriptions (use generating-flow skill).

820 installsAudited