OmniStudio in one page
The Industries toolkit ships four things worth learning cold:
- OmniScript — declarative UI + workflow (form → API → decision → confirmation)
- FlexCard — data-driven card UI, hoverable, embeddable in Lightning + LWR
- DataRaptor — declarative Extract / Transform / Load between Salesforce and JSON
- Integration Procedure (IP) — server-side orchestration, headless, cacheable
Rule of composition: UI → OmniScript → IP → DataRaptor → SObject/API. Don't skip layers.
DataRaptor variants
- Extract — SOQL → JSON (queryable, formula, translations)
- Load — JSON → DML (upsert, external-id resolution)
- Transform — JSON → JSON (map, filter, format)
- Turbo Extract — high-perf, single object, no formulas (use for lists)
DataRaptor Extract: GetAccountWithContacts
Object: Account (by Id)
Related: Contacts (max 50, ordered by LastActivityDate desc)
Formula: FullName = FirstName + ' ' + LastName
Output shape: { account: {...}, contacts: [...] }
Integration Procedure
Headless orchestration. Every step is one of: DataRaptor / HTTP Action / Remote Action (Apex) / Response Action / DecisionMatrix / Set Values.
IP: quoteInsurancePolicy
1. Get quote payload (Response step)
2. Call rating microservice (HTTP)
3. Persist quote (DataRaptor Load)
4. Decision Matrix: eligibility rules
5. Return { quoteId, premium, decision }
Cache: 5 min (for read-heavy IPs)
Cacheable IPs move most of the load off the platform.
Business Rules Engine (BRE)
Product bundling, pricing tiers, eligibility — model as Lookup / Decision / Calculation matrices. Version them; deploy through the same pipeline as code.
Decision Matrix: EligibilityAutoInsurance
Inputs: driverAge, state, priorClaims
Output: tier, requiresManualReview
Row: age 25-70 AND state='CA' AND claims=0 → tier=Preferred, review=false
Row: claims>=2 → tier=Standard, review=true
Industry-specific packs
- Communications Cloud — CPQ + Enterprise Product Catalog, order decomposition, MACD
- Insurance Cloud — Policy Admin, Claims, Rating hooks
- Utilities Cloud — meter-to-cash, service point, outage
- Public Sector — Licensing, Benefits, Grants
- Automotive — Vehicle lifecycle, dealer management
Each ships a reference model — extend, don't rewrite.
Testing OmniStudio
- IP Debugger — replay any IP with saved input JSON
- OmniScript Preview — simulate at each step
- Selenium/Provar for UI regression on OmniScripts
- Version everything; publish only signed-off versions to end users
Migration gotchas
- Legacy Vlocity managed package → OmniStudio managed → standard OmniStudio (Common Components). Different metadata namespaces at each stage.
- Do not mix Aura and LWR runtime for the same OmniScript.
- Cache-buster on IP name change is manual — bump version, publish, promote.
IndustriesVlocityOmniStudio
