npx skills add ...
npx skills add forcedotcom/sf-skills --skill preparing-datacloud
Salesforce Data Cloud Prepare phase. Use this skill when the user creates or manages Data Cloud data streams, DLOs, transforms, or Document AI configurations. TRIGGER when: user creates or manages Data Cloud data streams, DLOs, transforms, or Document AI configurations, or asks about ingestion into Data Cloud. DO NOT TRIGGER when: the task is connection setup only (use connecting-datacloud), DMOs and identity resolution (use harmonizing-datacloud), or query/search work (use retrieving-datacloud).
npx skills add forcedotcom/sf-skills --skill preparing-datacloud
Use this skill when the user needs ingestion and lake preparation work: data streams, Data Lake Objects (DLOs), transforms, Document AI, unstructured ingestion, or the handoff from connector setup into a live stream.
Use preparing-datacloud when the work involves:
sf data360 data-stream *sf data360 dlo *sf data360 transform *sf data360 docai *Delegate elsewhere when the user is:
Ask for or infer:
node ../orchestrating-datacloud/scripts/diagnose-org.mjs -o <org> --phase prepare --json.2>/dev/null for normal usage.Profile, Engagement, or Other before creating the stream.Use these rules when suggesting categories:
| Category | Use for | Typical requirement |
|---|---|---|
Profile | person/entity records | primary key |
Engagement | time-based events or interactions | primary key + event time field |
Other | reference/configuration/supporting datasets | primary key |
When the source is ambiguous, ask the user explicitly whether the dataset should be treated as Profile, Engagement, or Other.
Use the smaller refresh scope that matches the user goal:
data-stream run is the closest match to a stream-level refresh or re-scan.connection run-existing runs at the connection level and can be useful for some connector workflows, but it is not a reliable replacement for stream refresh on unstructured sources.data-stream run when the goal is to re-scan newly added or changed files.For SharePoint-style document ingestion, a minimal unstructured DLO payload can look like:
Use the UI for the first-time unstructured setup when the user needs the richer end-to-end pipeline. The UI path can seed additional document metadata fields and downstream assets that a bare CLI DLO create flow may not provision automatically.
For external systems pushing records into Data Cloud:
sf data360 connection schema-upsertexamples/ingestion-api/Key details:
202 means the payload was accepted for processing, not that records are queryable immediatelyOnce the stream and DLO are healthy, hand off to harmonizing-datacloud.
sf data360 data-stream run and sf data360 connection run-existing are not interchangeable; prefer stream-level refresh for unstructured rescans.SFDC streams sync on a platform-managed schedule; data-stream run is not the general control path for CRM connector refresh.__c → _c transformations.CdpDataStreams means the stream module is gated for the current org/user; guide the user to provisioning/permissions review instead of retrying blindly.