
Building Omnistudio Integration Procedure
Author Salesforce OmniStudio Integration Procedures with DataRaptor extract steps, Set Values, and a structured validation scorecard for orchestrated server-side flows.
Overview
Building OmniStudio Integration Procedure is an agent skill for the Build phase that helps you create and validate Salesforce OmniStudio Integration Procedure JSON for DataRaptor and Set Values orchestration steps.
Install
npx skills add https://github.com/forcedotcom/sf-skills --skill building-omnistudio-integration-procedureWhat is this skill?
- JSON templates for DataRaptor Extract Action and Set Values OmniProcess elements
- Parent OmniProcess shell with Integration Procedure flags and LWC runtime property sets
- SequenceNumber and PropertySetConfig patterns for chainOnStep and failOnStepError
- Six-category validation report scoring from 0–110 points (e.g. Design & Structure)
- WebComponentKey and versioning fields for English OmniProcess definitions
- 6-category validation scoring (0–110 points)
- Design & Structure example bucket 18/20 (90%)
Adoption & trust: 572 installs on skills.sh; 513 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need a Salesforce Integration Procedure with correct OmniProcess elements and PropertySetConfig JSON but Designer-only workflows are slow and easy to misconfigure.
Who is it for?
Indie Salesforce integrators building OmniStudio IPs who want agent-generated JSON aligned to DataRaptor bundles and sequencing conventions.
Skip if: Teams not licensed for OmniStudio, pure Apex-only integrations, or front-end-only LWC work with no server orchestration.
When should I use this skill?
Creating or extending Salesforce OmniStudio Integration Procedures with DataRaptor actions, Set Values, and pre-activation validation.
What do I get? / Deliverables
You get templated OmniProcess element definitions and a six-category validation score framework ready to import, tune, and activate in OmniStudio.
- OmniProcess element JSON for Extract and Set Values steps
- Integration Procedure shell record template
- Validation report outline with category scores
Recommended Skills
Journey fit
Integration Procedures are built while wiring Salesforce omnichannel experiences and backend orchestration, which is core Build work. OmniStudio IPs connect DataRaptor bundles, transforms, and response paths—integration-layer composition rather than visual UI alone.
How it compares
Skill-backed IP scaffolding and scoring, not a managed MCP connector or generic REST API boilerplate generator.
Common Questions / FAQ
Who is building-omnistudio-integration-procedure for?
Salesforce developers and solo consultants implementing OmniStudio Integration Procedures with DataRaptor extracts and structured validation.
When should I use building-omnistudio-integration-procedure?
During Build integrations when creating new IPs, adding extract or Set Values steps, or preparing a validation report before go-live.
Is building-omnistudio-integration-procedure safe to install?
It describes org configuration patterns only; confirm licensing and data-handling in your org and review the Security Audits panel on this page.
SKILL.md
READMESKILL.md - Building Omnistudio Integration Procedure
{ "OmniProcessId": "{{ParentProcessId}}", "Name": "{{ElementName}}", "Type": "DataRaptor Extract Action", "Description": "{{Description}}", "IsActive": true, "Level": 0, "SequenceNumber": {{SequenceNumber}}, "PropertySetConfig": "{\"bundle\":\"{{DataRaptorName}}\",\"chainOnStep\":false,\"disableUniqueSFDCObjectCheck\":false,\"failOnStepError\":true,\"ignoreCache\":false,\"postTransformBundle\":\"\",\"preTransformBundle\":\"\",\"remoteOptions\":{},\"responseJSONNode\":\"\",\"responseJSONPath\":\"\",\"sendOnlyFailedResponse\":false,\"vlcSI\":{\"bundleName\":\"\",\"interfaceName\":\"\",\"remoteMethodName\":\"\"}}" } { "OmniProcessId": "{{ParentProcessId}}", "Name": "{{ElementName}}", "Type": "Set Values", "Description": "{{Description}}", "IsActive": true, "Level": 0, "SequenceNumber": {{SequenceNumber}}, "PropertySetConfig": "{\"ElementValueMap\":{\"{{OutputKey}}\":\"{{OutputValue}}\"},\"chainOnStep\":false,\"failOnStepError\":true}" } { "Name": "{{Type}}_{{SubType}}", "Type": "{{Type}}", "SubType": "{{SubType}}", "Language": "English", "VersionNumber": 1, "IsActive": false, "IsIntegrationProcedure": true, "Description": "{{Description}}", "PropertySetConfig": "{\"persistentComponent\":true,\"trackingCustomData\":{},\"enableLWCRuntime\":true}", "WebComponentKey": "{{Type}}/{{SubType}}/English/1" } Validation Report Format — 6-Category Scoring (0–110 points) Score: 95/110 Very Good |- Design & Structure: 18/20 (90%) |- Data Operations: 23/25 (92%) |- Error Handling: 18/20 (90%) |- Performance: 18/20 (90%) |- Security: 13/15 (87%) |- Documentation: 5/10 (50%) Thresholds: 90–110 ✅ Deploy 67–89 ⚠️ Review — address findings before deploying <67 ❌ Block — fix required before any deployment # Credits & Acknowledgments This skill was built upon the collective wisdom of the Salesforce OmniStudio community. We gratefully acknowledge the following resources whose ideas, patterns, and best practices have shaped this skill. --- <!-- Parent: building-omnistudio-integration-procedure/SKILL.md --> # Integration Procedure Best Practices > **Version**: 1.0.0 > **Applies to**: OmniStudio Integration Procedures (Core namespace and Vlocity managed package) This guide consolidates best practices for building maintainable, performant, and reliable Integration Procedures. --- ## Table of Contents **Strategy & Planning** 1. [When to Use an Integration Procedure](#1-when-to-use-an-integration-procedure) 2. [IP vs Flow vs Apex: Decision Framework](#2-ip-vs-flow-vs-apex-decision-framework) **Design & Structure** 3. [Element Ordering and Execution Flow](#3-element-ordering-and-execution-flow) 4. [Naming Conventions](#4-naming-conventions) 5. [Input/Output Contract Design](#5-inputoutput-contract-design) **Error Handling** 6. [Error Handling Patterns](#6-error-handling-patterns) 7. [Conditional Rollback](#7-conditional-rollback) **Data Operations** 8. [Response Mapping from Data Mappers](#8-response-mapping-from-data-mappers) 9. [Bounded Extracts and Pagination](#9-bounded-extracts-and-pagination) **Performance** 10. [Caching Strategies](#10-caching-strategies) 11. [Batch vs Sequential Execution](#11-batch-vs-sequential-execution) 12. [Reducing Redundant Calls](#12-reducing-redundant-calls) **Maintenance** 13. [Versioning with Type/SubType](#13-versioning-with-typesubtype) 14. [Documentation Standards](#14-documentation-standards) --- ## 1. When to Use an Integration Procedure Integration Procedures are optimal when: - You need **declarative multi-step orchestration** combining reads, writes, transforms, and callouts - The process involves **multiple data sources** (Salesforce objects + external APIs) - You need **server-side execution** without user interaction (unlike OmniScripts) - The orchestration requires **conditional branching** or **loop iteration** over collections - You want **reusability** — the same IP can be c