Data Kit template
Salesforce CLI workflows and verified operation limits for Kit template: DataKitObjectTemplate.
Last updated: October 28, 2026, 17:17 (UTC+1).
Verification scope: Live-org reads and the explicitly described bounded operations were tested. The operation-specific limitations still apply; this badge does not verify untested writes or general CRUD support.
Back to Data Cloud with Salesforce CLI. Start with its setup, placeholders and safety guidance before running these examples.
Data Kit template — DataKitObjectTemplate.
A data kit groups configuration for reuse. Its definition describes the kit, templates store component settings, and membership files link the two. Instantiation or installation creates live components from that saved configuration; copying files alone does not do this. A payload is simply the content carried inside a field or request.
A kit template is a snapshot, not the live component. A Data Graph template can contain projected fields, joins and refresh settings; an Identity Resolution template can contain matching and reconciliation rules. Segment templates omit live publish schedule/status.
| Retrieve | Create | Update | Delete |
|---|---|---|---|
Yes
|
Partial
|
Partial
|
? |
Yes: a usable scoped workflow is supplied. Partial: a usable bounded, combined or incomplete asynchronous workflow is supplied. Neither means universal capability. No: proven unavailable in an explicit scope. ?: unknown, untested or no usable workflow supplied. Neither No nor ? displays method icons. means dedicated CLI commands;
means API-led requests or facades, even when invoked through the CLI. Two icons identify alternatives, not equivalent coverage. Read each operation's prerequisites and limits. An available operation tab may explain an illustrative mechanism without supplying a usable summary workflow.
Retrieve
- CLI — Available: Retrieve the stored template snapshot, not the live component.
- API — Unknown: No separate API retrieval workflow is supplied.
- sf-plugin-data — Unknown: Not implemented in this guide; no workflow is supplied.
CLI
sf project retrieve start --metadata DataKitObjectTemplate:CustomerGraph --target-org SOURCE_ALIAS --api-version 65.0 --wait 10 --json
The response points to force-app/main/default/dataKitObjectTemplates/CustomerGraph.dataKitObjectTemplate-meta.xml. Its entityPayload is XML-escaped JSON:
<DataKitObjectTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<entityPayload><!-- XML-escaped JSON payload omitted. --></entityPayload>
<sourceObjectType>DataGraph</sourceObjectType>
<templateVersion>1</templateVersion>
<!-- Other retrieved template attributes omitted. -->
</DataKitObjectTemplate>
Other template types use IdentityResolution or MarketSegment. Preserve complete payloads and references: source IDs, generated objects/transforms and external DLO references can prevent replay elsewhere. Existing snapshots do not automatically update when a live component changes.
Create
- CLI — Available: Store a complete existing Data Graph template only; no runtime creation or kit installation.
- API — Unknown: No separate API creation workflow is supplied.
- sf-plugin-data — Unknown: Not implemented in this guide; no workflow is supplied.
CLI
A complete Data Graph template can be stored without a parent kit. Use the existing, dependency-reviewed file at force-app/main/default/dataKitObjectTemplates/CustomerGraph.dataKitObjectTemplate-meta.xml:
sf project deploy start --metadata DataKitObjectTemplate:CustomerGraph --target-org TARGET_ALIAS --api-version 65.0 --wait 10 --json
{ "status": 0, "result": { "success": true, "status": "Succeeded", "files": [{ "fullName": "CustomerGraph", "type": "DataKitObjectTemplate", "state": "Created" }] } }
This stores the template; it does not create a runtime graph or install a kit. Retrieve it again to compare the decoded payload. The excerpt under Retrieve is not a complete creation file.
Update
- CLI — Available: Only the description inside a Data Graph template payload is verified; not runtime graph updates.
- API — Unknown: No separate API update workflow is supplied.
- sf-plugin-data — Unknown: Not implemented in this guide; no workflow is supplied.
CLI
The verified edit is the description inside entityPayload of a Data Graph template. Decode the JSON, change only the description, then encode it as XML text again. Keep the root, fields, keys, types and other settings:
sf project deploy start --metadata DataKitObjectTemplate:CustomerGraph --target-org TARGET_ALIAS --api-version 65.0 --wait 10 --json
{ "status": 0, "result": { "success": true, "files": [{ "fullName": "CustomerGraph", "type": "DataKitObjectTemplate", "state": "Changed" }] } }
This updates stored template content, not an instantiated graph. Retrieve and compare the decoded payload. Arbitrary payload changes, full graph updates through templates, and whole-container repeat/update behavior have not been verified.
Delete
Removing a stored Data Graph template has been demonstrated, but an exact reproducible standard CLI delete invocation is not established here. No command is offered. Template deletion would not by itself prove runtime graph or supporting-artifact cleanup.
- CLI — Unknown: Deletion was demonstrated, but no exact reproducible standard CLI invocation is established here.
- API — Unknown: No API template-deletion workflow is supplied.
- sf-plugin-data — Unknown: Not implemented in this guide; no workflow is supplied.
For the shared distinction between metadata transport and runtime installation, see Moving a kit is not installing it.