data360-harmonize
forcedotcom/sf-skills
Harmonize and unify data in Salesforce Data Cloud with DMOs, mappings, identity resolution, and unified profiles.
What is data360-harmonize?
This skill handles the Harmonize phase of Salesforce Data Cloud: schema unification, field mappings, identity resolution, data graphs, and unified profiles. Use it when working with DMOs, relationships, or universal IDs—not for streams, segments, or retrieval.
- Create and inspect Data Model Objects (DMOs) and unified entity schemas
- Map source DLOs to target DMOs with field-level transformations
- Configure and run identity resolution rulesets for record matching
- Build data graphs and relationship definitions across entities
- Manage unified profiles and universal ID lookups
How to install data360-harmonize
npx skills add https://github.com/forcedotcom/sf-skills --skill data360-harmonize- Node.js >=18.0.0
- Salesforce CLI (sf) >=2.0.0
- Access to a Salesforce org with Data Cloud enabled
- Source DLOs already created via data360-prepare skill
How to use data360-harmonize
- 1.Run the readiness classifier to verify your org is ready for harmonize work: `node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase harmonize --json`
- 2.List available DMOs and identity resolution rulesets: `sf data360 dmo list --all -o <org>` and `sf data360 identity-resolution list -o <org>`
- 3.Inspect the target DMO schema before mapping: `sf data360 dmo get -o <org> --name <dmo-name> --json`
- 4.Create or review field mappings from source DLO to target DMO: `sf data360 dmo mapping-list -o <org> --source <dlo> --target <dmo>`
- 5.Test mappings with dry-run before execution: `sf data360 dmo map-to-canonical -o <org> --dlo <dlo> --dmo <dmo> --dry-run`
- 6.Create and run identity resolution ruleset: `sf data360 identity-resolution create -o <org> -f ir-ruleset.json` then `sf data360 identity-resolution run -o <org> --name <ruleset-name>`
Use cases
- Map customer data from multiple source systems into a single unified Individual DMO
- Run identity resolution to deduplicate and match records across DLOs before creating unified profiles
- Define relationships between DMOs (e.g., Individual → Account) for data graph construction
- Inspect DMO schema and validate mappings before executing harmonization
- Verify unified profile creation and universal ID assignment after identity resolution
- Data architects designing unified data models in Salesforce Data Cloud
- Data engineers building mappings and identity resolution rulesets
- Analytics teams preparing harmonized data for segmentation and insights
- Salesforce administrators managing Data Cloud configuration
data360-harmonize FAQ
Use data360-prepare for ingesting streams and building DLOs. Use data360-harmonize once DLOs exist and you need to map them to DMOs, resolve identities, or create unified profiles.
A DLO (Data Lake Object) is a raw ingested data object from a source system. A DMO (Data Model Object) is a unified, harmonized entity (like a single Individual record) created by mapping and merging data from multiple DLOs.
Yes. Identity resolution matches and deduplicates records across DLOs so that unified profiles represent unique entities rather than duplicates.
The classifier verifies that your org has the necessary Data Cloud features, permissions, and configuration to perform harmonization work before you attempt commands.
No. Use data360-segment for segment logic and calculated insights, and data360-query for SQL queries, search, and retrieval workflows.
Full instructions (SKILL.md)
Source of truth, from forcedotcom/sf-skills.
name: data360-harmonize 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 data360-prepare), segments/insights (use data360-segment), retrieval/search (use data360-query), or STDM/session tracing (use agentforce-observe)." metadata: cliTools: - tool: ["node"] semver: ">=18.0.0" - tool: ["sf"] semver: ">=2.0.0" relatedSkills: - "agentforce-observe" - "data360-orchestrate" - "data360-prepare" - "data360-query" - "data360-segment" version: "1.0" domains: ["Data 360"]
data360-harmonize: 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 data360-harmonize 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 → data360-prepare
- working on segment logic or calculated insights → data360-segment
- running SQL, describe, or search-index workflows → data360-query
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 ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase harmonize --json. - Prefer
dmo list --allwhen browsing the catalog, but use first-pagedmo listfor fast readiness checks. - Use
query describeordmo get --jsoninstead 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 ../data360-orchestrate/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 listshould usually use--all.- Use
query describeordmo get --json; there is nodmo describecommand. - 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 listworks butidentity-resolution listis 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
- ../data360-orchestrate/assets/definitions/dmo.template.json
- ../data360-orchestrate/assets/definitions/mapping.template.json
- ../data360-orchestrate/assets/definitions/relationship.template.json
- ../data360-orchestrate/assets/definitions/identity-resolution.template.json
- ../data360-orchestrate/assets/definitions/data-graph.template.json
- ../data360-orchestrate/references/feature-readiness.md
Related skills
More from forcedotcom/sf-skills and the wider catalog.

data360-orchestrate
Multi-phase Salesforce Data Cloud orchestrator for connect→prepare→harmonize→segment→act pipelines.

data360-prepare
Manage Salesforce Data Cloud data streams, DLOs, transforms, and Document AI ingestion.

data360-query
Query, search, and inspect Salesforce Data Cloud objects with SQL, vector search, and metadata introspection.

data360-schema-get
Retrieve Data Lake Object and Data Model Object schema from Salesforce Data Cloud

data360-segment
Create, publish, and troubleshoot Salesforce Data Cloud segments and calculated insights.

debugging-apex-logs
Analyze Salesforce debug logs to diagnose governor limits, stack traces, and performance bottlenecks.