How to install deploying-omnistudio-datapacks
npx skills add https://github.com/forcedotcom/sf-skills --skill deploying-omnistudio-datapacksFull instructions (SKILL.md)
Source of truth, from forcedotcom/sf-skills.
name: deploying-omnistudio-datapacks 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 deploying-metadata), authoring OmniStudio artifacts (use building-omnistudio-*), or writing Apex/LWC business logic (use generating-apex/generating-lwc-components)." metadata: version: "1.0"
deploying-omnistudio-datapacks: 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 deploying-omnistudio-datapacks 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-> deploying-metadata - building OmniScripts, FlexCards, IPs, or Data Mappers ->
building-omnistudio-* - designing Product2 EPC bundles -> modeling-omnistudio-epc-catalog
- writing Apex/LWC code -> generating-apex, generating-lwc-components
Critical Operating Rules
- Use Vlocity Build (
vlocity) commands for DataPacks, notsf 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:
validateLocalData- optional
packGetDiffs - then
packDeploy
- Use
packRetryrepeatedly 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:
vlocity help
sf org list
sf org display --target-org <alias> --json
test -f <job-file>.yaml
Recommended Workflow
1. Ensure tool readiness
npm install --global vlocity
vlocity help
2. Validate project data locally
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)
vlocity -sfdx.username <source-alias> -job <job-file>.yaml packExport
vlocity -sfdx.username <source-alias> -job <job-file>.yaml packRetry
4. Deploy to target
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packDeploy
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packRetry
5. Continue interrupted jobs
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packContinue
6. Verify post-deploy parity
vlocity -sfdx.username <target-alias> -job <job-file>.yaml packGetDiffs
Job-file starter: 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
CI/CD Guidance
Default pipeline shape:
- authenticate orgs (
sf org login ...) - validate local DataPack integrity (
validateLocalData) - export changed scope (
packExportor manifest-driven export) - deploy (
packDeploy) - retry loop (
packRetry) until stable - compare (
packGetDiffs) and publish deployment report
For incremental deploy optimization, use job-file options such as:
gitCheck: truegitCheckKey: <folder>manifestfor deterministic scope control
Cross-Skill Integration
| Need | Delegate to | Reason |
|---|---|---|
| metadata deploy outside DataPacks | deploying-metadata | Metadata API workflows |
| OmniStudio component authoring | building-omnistudio-* | build artifacts before deploy |
| EPC product and offer payload authoring | modeling-omnistudio-epc-catalog | Product2/DataPack model quality |
| Apex trigger/log error diagnosis | debugging-apex-logs, generating-apex | automation-side root-cause fixes |
Output Expectations
After completing a DataPack operation, deliver a completion block:
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 |
Related skills
More from forcedotcom/sf-skills and the wider catalog.
generating-apex
Primary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.
generating-apex-test
Generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking strategies, assertion best practices, and disciplined test-fix loops. Use this skill when creating new Apex test classes, improving test coverage, debugging and fixing failing Apex tests, running test execution and coverage analysis, or implementing testing patterns for triggers, services, controllers, batch jobs, queueables, and integrations. Triggers on *Test.cls, *_Test.cls files, sf apex run test workflows, coverage reports, test-fix loops. Do NOT trigger for production Apex code (use generating-apex) or Jest/LWC tests.
generating-lwc-components
Lightning Web Components with PICKLES methodology and 165-point scoring. Use this skill when the user creates or edits LWC components, builds wire service patterns, or writes Jest tests for LWC. TRIGGER when: user creates/edits LWC components, touches lwc/**/*.js, .html, .css, .js-meta.xml files, or asks about wire service, SLDS, or Jest LWC tests. DO NOT TRIGGER when: Apex classes (use generating-apex), Aura components, or Visualforce.
generating-flow
Generate Salesforce Flows using the MCP tool execute_metadata_action. Use when the user asks to create, build, or generate a flow — including Screen, Autolaunched, Record-Triggered (before/after-save), Scheduled. Also trigger for flow-like requests such as \"when a record is created\", \"trigger daily at\", \"send an email when\", \"update the field when\", \"automate\", \"workflow\", or \"flow XML/metadata\". This is the only skill for Salesforce Flow generation.
querying-soql
SOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
generating-custom-object
Use this skill when users need to create, generate, or validate Salesforce Custom Object metadata. Trigger when users mention custom objects, creating objects, object metadata, .object files, sharing models, name fields, or validation rules on objects. Also use when users say things like \"create a custom object\", \"generate object metadata\", \"set up an object for...\", or when they're troubleshooting object deployment errors especially around sharing models and Master-Detail relationships. Always use this skill for any custom object metadata work.