Skip to main content
skill CX Codex

omnistudio-datapacks-deploy — Claude Code skill: DataPack deploys

A skill for deploying OmniStudio and Vlocity DataPacks with Vlocity Build: export, deploy, retries and migration error triage.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a claude-code
Open on GitHub

What omnistudio-datapacks-deploy does

The skill walks an agent through DataPack work in Salesforce Industries. It covers the vlocity commands packDeploy, packRetry, packContinue, packExport, packGetDiffs and validateLocalData, helps shape a job file with projectPath, expansionPath, manifest and queries, and triages dependency, matching-key and GlobalKey failures during org-to-org migration.

Before a full deploy it recommends a quality gate: run validateLocalData, optionally packGetDiffs, then packDeploy. Retry loops with packRetry make sense while error counts drop; once retries stop improving results, stop and investigate. For auth, prefer -sfdx.username <alias> over username and password files.

There is a gotcha table for common symptoms: No match found, duplicate GlobalKey records, No Configuration Found from outdated settings, unprocessed records after a settings mismatch, and template compile failures. The skill also lays out a CI/CD pipeline shape and hands off adjacent work — standard metadata deploys with sf project deploy go to platform-metadata-deploy. It needs npm and npx 9.0.0 or newer, sf 2.0.0 or newer, and vlocity 1.16.0 or newer.

What it helps with

  • deploy DataPacks from one org to another
  • build a job file with manifest and queries
  • triage a "No match found" deploy error
  • set up a CI/CD pipeline for DataPacks
  • compare DataPack state after a deploy

Example prompts for the agent

  • validate the local DataPack data and tell me what will break
  • deploy the DataPacks to the target org and keep running packRetry while errors drop
  • diff the DataPacks between orgs with packGetDiffs and show what drifted

How to install omnistudio-datapacks-deploy

1Skills CLI (Vercel)

npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a claude-code

2Manually: put the files in place

~/.claude/skills/omnistudio-datapacks-deploy/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/omnistudio-datapacks-deploy/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about omnistudio-datapacks-deploy

How do I install omnistudio-datapacks-deploy in Claude?

Run npx skills add forcedotcom/sf-skills --skill omnistudio-datapacks-deploy -a claude-code. The skill file then sits at ~/.claude/skills/omnistudio-datapacks-deploy/SKILL.md.

What does omnistudio-datapacks-deploy do?

It orchestrates Vlocity DataPack deploys: export, deploy, retries, resuming interrupted jobs and diffing orgs. It also helps fix dependency and matching-key errors.

How is it different from platform-metadata-deploy?

It works on DataPacks through vlocity commands rather than sf project deploy. Plain Salesforce metadata deploys are handed to platform-metadata-deploy.

Source text

SKILL.md · Apache-2.0
---
name: omnistudio-datapacks-deploy
description: "Salesforce Industries DataPack deployment automation using Vlocity Build. TRIGGER when: user deploys or validates OmniStudio/Vlocity DataPacks with vlocity commands (packDeploy/packRetry/packExport/packGetDiffs), sets up DataPack CI/CD pipelines, or troubleshoots DataPack migration errors. DO NOT TRIGGER when: deploying Salesforce metadata with sf project deploy (use platform-metadata-deploy), authoring OmniStudio artifacts (use omnistudio-*-build), or writing Apex/LWC business logic (use platform-apex-generate/experience-lwc-generate)."
metadata:
  version: "1.0"
  domains: ["OmniStudio"]
  relatedSkills:
    - "experience-lwc-generate"
    - "omnistudio-epc-catalog-generate"
    - "omnistudio-flexcard-generate"
    - "omnistudio-integration-procedure-generate"
    - "omnistudio-omniscript-generate"
    - "platform-apex-generate"
    - "platform-apex-logs-debug"
    - "platform-metadata-deploy"
  cliTools:
    - tool: ["npm"]
      semver: ">=9.0.0"
    - tool: ["npx"]
      semver: ">=9.0.0"
    - tool: ["sf"]
      semver: ">=2.0.0"
    - tool: ["vlocity"]
      semver: ">=1.16.0"
---

# omnistudio-datapacks-deploy: Vlocity Build DataPack Deployment

Use this skill when the user needs **Vlocity DataPack deployment orchestration**: export/deploy workflow, manifest-driven deploys, failure triage, and CI/CD sequencing for OmniStudio/Industries DataPacks.

---

## Scope

Use `omnistudio-datapacks-deploy` when work involves:
- `vlocity packDeploy`, `packRetry`, `packContinue`, `packExport`, `packGetDiffs`, `validateLocalData`
- DataPack job-file design (`projectPath`, `expansionPath`, `manifest`, `queries`)
- org-to-org DataPack migration and retry loops
- troubleshooting DataPack dependency, matching-key, and GlobalKey issues

Delegate elsewhere when the user is:
- deploying standard metadata with `sf project deploy` -> [platform-metadata-deploy](../platform-metadata-deploy/SKILL.md)
- building OmniScripts, FlexCards, IPs, or Data Mappers -> `omnistudio-*-build`
- designing Product2 EPC bundles -> [omnistudio-epc-catalog-generate](../omnistudio-epc-catalog-generate/SKILL.md)
- writing Apex/LWC code -> [platform-apex-generate](../platform-apex-generate/SKILL.md), [experience-lwc-generate](../experience-lwc-generate/SKILL.md)

---

## Critical Operating Rules

- Use **Vlocity Build (`vlocity`)** commands for DataPacks, not `sf project deploy`.
- Prefer Salesforce CLI auth integration (`-sfdx.username <alias>`) over username/password files when available.
- Always run a **pre-deploy quality gate** before full deploy:
  1) `validateLocalData`
  2) optional `packGetDiffs`
  3) then `packDeploy`
- Use `packRetry` repeatedly when error counts are dropping; stop when retries no longer improve results.
- Keep matching-key strategy and GlobalKey integrity consistent across source and target orgs.

---

## Required Context to Gather First

Ask for or infer:
- source org and target org aliases
- job file path and DataPack project path
- deployment scope (full project, manifest subset, or specific `-key`)
- whether this is export, deploy, retry, continue, or diff-only
- namespace model (`%vlocity_namespace%`, `vlocity_cmt`, or core)
- known constraints (new sandbox bootstrap, trigger behavior, matching key customizations)

Preflight checks:

```bash
vlocity help
sf org list
sf org display --target-org <alias> --json
test -f <job-file>.yaml
```

---

## Recommended Workflow

### 1. Ensure tool readiness
```bash
npm install --global vlocity
vlocity help
```

### 2. Validate project data locally
```bash
vlocity -sfdx.username <source-alias> -job <job-file>.yaml validateLocalData
```

Use `--fixLocalGlobalKeys` only when explicitly requested and after explaining impact.

### 3. Export from source (when needed)
```bash
vlocity -sfdx.username <source-alias> -job <job-file>.yaml packExport
vlocity -sfdx.username <source-alias> -job <job-file>.yaml packRetry
```

### 4. Deploy to target
```bash
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packDeploy
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packRetry
```

### 5. Continue interrupted jobs
```bash
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packContinue
```

### 6. Verify post-deploy parity
```bash
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packGetDiffs
```

Job-file starter: [references/job-file-template.md](references/job-file-template.md)

---

## Gotchas

| Error / symptom | Likely cause | Default fix direction |
|---|---|---|
| `No match found for ...` | missing dependency in target org | include missing DataPack key and redeploy |
| `Duplicate Results found for ... GlobalKey` | duplicate records in target | clean duplicates and re-run deploy |
| `Multiple Imported Records ... same Salesforce Record` | source duplicate matching-key records | remove duplicates in source and re-export |
| `No Configuration Found` | outdated DataPack settings | run `packUpdateSettings` or enable `autoUpdateSettings` |
| `Some records were not processed` | settings mismatch / partial dependency state | refresh settings both orgs, then retry |
| SASS / template compile failures | missing referenced UI template assets | export/deploy referenced template dependencies first |

Detailed matrix: [references/troubleshooting-matrix.md](references/troubleshooting-matrix.md)

---

## CI/CD Guidance

Default pipeline shape:
1. authenticate orgs (`sf org login ...`)
2. validate local DataPack integrity (`validateLocalData`)
3. export changed scope (`packExport` or manifest-driven export)
4. deploy (`packDeploy`)
5. retry loop (`packRetry`) until stable
6. compare (`packGetDiffs`) and publish deployment report

For incremental deploy optimization, use job-file options such as:
- `gitCheck: true`
- `gitCheckKey: <folder>`
- `manifest` for deterministic scope control

---

## Cross-Skill Integration

| Need | Delegate to | Reason |
|---|---|---|
| metadata deploy outside DataPacks | [platform-metadata-deploy](../platform-metadata-deploy/SKILL.md) | Metadata API workflows |
| OmniStudio component authoring | `omnistudio-*-build` | build artifacts before deploy |
| EPC product and offer payload authoring | [omnistudio-epc-catalog-generate](../omnistudio-epc-catalog-generate/SKILL.md) | Product2/DataPack model quality |
| Apex trigger/log error diagnosis | [platform-apex-logs-debug](../platform-apex-logs-debug/SKILL.md), [platform-apex-generate](../platform-apex-generate/SKILL.md) | automation-side root-cause fixes |

---

## Output Expectations

After completing a DataPack operation, deliver a completion block:

```text
DataPack goal: <export / deploy / retry / diff / ci-cd>
Source org: <alias or N/A>
Target org: <alias or N/A>
Scope: <job file + manifest/key/full>
Result: <passed / failed / partial>
Key findings: <errors, dependencies, retries, diffs>
Next step: <safe follow-up action>
```

---

## Reference File Index

| File | When to read |
|------|-------------|
| `references/job-file-template.md` | Before advising on job file structure — load as baseline configuration reference |
| `references/troubleshooting-matrix.md` | When user reports deploy failures — load to diagnose DataPack errors and apply fix directions |
| `examples/business-internet-plus-bundle/TRANSCRIPT.md` | Example of validation planning and execution for a Product2 bundle |
| `examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml` | Example job file for scope-limited `validateLocalData` run |
| `examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md` | Example of full deploy cycle including `packDeploy` and `packRetry` outcomes |
| `examples/business-internet-plus-bundle-deploy/deploy-business-internet-plus-bundle.yaml` | Example job file for staged deployment with manifest targeting |

© forcedotcom · Apache-2.0 · forcedotcom/sf-skills

Similar skills

All skills for DevOps and infrastructure →

From the same set181

data360-schema-get Pulls the list of Data Lake and Data Model objects from Salesforce Data Cloud, plus field-level schema for one object. Handy before you write a query. CX Codex +1 5,000installs data360-code-extension-generate Generates, tests, and deploys Salesforce Data Cloud Python code extensions using the SF CLI plugin. Useful when building batch scripts or real-time functions for DLO and DMO transformations. CX Codex +1 4,900installs mobile-apps-create Routes Salesforce native iOS and Android development to the right child skills for Mobile SDK, Agentforce SDK, or both. CX Codex +1 4,800installs omnistudio-epc-catalog-generate Builds and reviews Salesforce Industries EPC catalogs with Product2 records, attributes, and offer bundles. Use it when authoring DataPack JSON for catalog changes. CX Codex +1 4,800installs omnistudio-flexcard-generate Generates and validates Salesforce OmniStudio FlexCards with a 130-point scoring rubric. Connects UI components to Integration Procedures with SLDS styling. CX Codex +1 4,800installs omnistudio-integration-procedure-generate Build and validate OmniStudio Integration Procedures with Data Mapper, Apex, HTTP actions, and control flow. Use it for server-side processes that combine multiple steps. CX Codex +1 4,800installs omnistudio-callable-apex-generate A skill for generating and reviewing callable Apex in Salesforce Industries: it builds System.Callable classes, scores them against a 120-point rubric and migrates legacy VlocityOpenInterface code. CX Codex +1 4,800installs omnistudio-dependencies-analyze Audits OmniStudio components in Salesforce orgs, detects namespaces, and builds Mermaid dependency graphs across OmniScripts, FlexCards, and Data Mappers. CX Codex +1 4,800installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor