Introducing Salesforce Industries and OmniStudio for Architects

Anup ☁ Jadhav
Salesforce Architects
8 min readFeb 23, 2021

--

This is a first in a series of posts focused on the technology and capabilities powered by Salesforce Industries and OmniStudio.

Content last updated February 2021. Roadmap corresponds to Summer ’21 projections. Our forward-looking statement applies to roadmap projections.

With the Vlocity acquisition in 2020, Salesforce now has the ability to offer a combination of the core platform and specific industry models, processes, and solutions with Salesforce Industries. This tailoring of cloud solutions addresses distinct industry-specific business processes as well as legal, regulatory, and security requirements. Salesforce Industries also provides enhanced data models that cater to various industries such as Financial Services (including Insurance), Health, Government, Manufacturing, Consumer Goods, Communications, Media & Entertainment, and Energy & Utilities.

Salesforce Industries capability map

Salesforce OmniStudio is powerful suite of task-based components — including OmniScript, DataRaptor, Integration Procedure, and FlexCards — that empower you to consolidate applications, speed new users to productivity, and reduce your overall cost-to-serve. Both solutions exist as 100% native managed packages that add functionality to your existing Salesforce solution.

As an architect, you might find yourself working on a project where the requirements are industry-specific and you need the out-of-the-box declarative capabilities of the Salesforce Platform. If so, this post will give you a bird’s-eye view of the various components that make up the Salesforce Industries and OmniStudio portfolio.

Salesforce Industry Clouds

Data model

Representative data model (subject to change in future releases)

Salesforce Industries provides industry-specific data models, built on top of the Salesforce object model. The data model is 100% additive. It either enhances standard sObjects and fields or adds new custom objects and fields; it does not duplicate any existing entity.

For example, the Insurance and Financial Services data model (shown above) is a comprehensive data model covering everything needed to address the complexities and challenges faced by cloud-based insurance and financial services systems across all insurance markets. The model covers concepts including customer management, producer management, insurance product management, policy rating and quoting, policy issuance and administration, claims management, and much more. And, just like core Salesforce, you can enhance the Salesforce Industries data model with custom fields and objects to suit your specific business needs.

OmniScript

To keep the bogeyman of maintenance and technical debt at bay, we encourage implementers and architects to choose declarative solutions over code where appropriate. Along with Flows (see this Architect Decision Guide for a detailed comparison), which are a strong option for employee-facing use cases, you can now add a new declarative tool named OmniScript to your arsenal. It can create pixel-perfect, dynamic guided digital experiences embedded in a website or your console, and should be the default option for external personas and industry-specific use cases.

OmniScript is a way for a application builder to design a business process by configuring interactions using declarative tools that are easy to use, yet implement complex functionality behind the scenes. It enables you to craft dynamic customer interactions without code and deploy to multiple channels and devices.

You would typically create an OmniScript to guide users through complex sales or service processes with seamless integration to enterprise applications and data.

OmniScript screenshot

You create OmniScripts using an intuitive drag-and-drop editor that enables you to group various elements such as actions (extract data, send email), functions (formulas), input fields, and branching logic. In the end, you get an LWC component that you can deploy and launch from Communities, Object detail pages, and FlexCards.

OmniScript configuration animation

Key capabilities of OmniScript include:

  • The ability to configure interactive, easy-to-use business processes with branching, which means different pages and groups of fields can be shown based on choices the user makes.
  • A drag-and-drop editor that you can use to build the structure of the OmniScript, before previewing and debugging your work using the built-in troubleshooting tools.
  • Deployment on any device and channel, such as a mobile device or a customer portal. If you are making use of a CMS or mobile app off of the Salesforce Platform, you can use OmniOut (expect a deep-dive on OmniOut in a future post) to deploy LWC OmniScripts as pure web components that run natively in those systems.
  • A modular architecture that separates the JSON metadata structure, the templates, and the data from each other. This enables you to rapidly prototype user experiences and promotes reuse.
  • With the help of DataRaptor, OmniScript can access data in both Salesforce and external data sources such as a legacy system or a REST API.
  • You can automatically generate an LWC and deploy it to the organization, where it can be used in the Lightning App Builder or launched from a FlexCard.

DataRaptor

DataRaptor is what you get when you cross an awesome native extract, transform, load (ETL) tool with a velociraptor. In 99% of any business process or customer interaction there is a need to extract data, display data, or save data after the user changes it. DataRaptor provides a configurable (there’s a theme here) service for retrieving, transforming, and updating data.

OmniStudio DataRaptor capabilities

DataRaptor has three components:

  • DataRaptor Extract — Retrieve and transform data from Salesforce. With DataRaptor Turbo Extract (a relatively new offering) you can retrieve data from a single Salesforce object type. It has a simpler configuration and better performance at runtime.
  • DataRaptor Load — Transform and save data to Salesforce.
  • DataRaptor Transform — Transform any data.

Dataraptor is typically used to provide data to an OmniScript or FlexCard from Salesforce and write updates from an OmniScript or FlexCard back to Salesforce. A DataRaptor or Integration Procedure (covered next) can also auto-generate Apex REST endpoint so it can be invoked from external systems.

Integration Procedure

An Integration Procedure is a declarative, server-side process that executes multiple actions in a single server call. It is very similar to Salesforce auto-launched flows (a future post in this series will cover OmniScript vs Flow) in that it can read data from and write data to Salesforce, and/or from external systems (via REST calls). It can also execute Apex code without any user interaction and can be called from an OmniScript, Apex method, or API. It is usually a data source for FlexCards.

Integration Procedure Engine

Some key capabilities of Integration Procedure:

  • Handles multiple data sources including Salesforce, any external system that can be reached over REST, and Apex classes.
  • Can be used as a data source for an OmniScript, FlexCard, API, or Apex.
  • Geared for performance and has the ability to trim the data being returned to the browser from the server, thereby minimizing client/server data transfer.
  • Able to process large amounts of data (batch processing).
  • Optimal when you need to retrieve and transform data from third-party sources and no user interaction is required.
  • Just like Flows, Integration Procedure is a click-based configuration tool and is much easier to build and maintain than Apex classes.
  • Auto-generates Apex REST endpoints so they can be invoked from external systems.
  • Supports Declarative Platform Cache configuration to improve performance and reduce server processes when handling a large volume of requests.

FlexCards

Salesforce provides many out-of-the-box options for designing forms, but when it comes to displaying data you have limited choice in page layouts (classic) or Lightning App Builder. Salesforce Industries includes FlexCards, an application that enables you to build customer-centric, industry-specific UI components and applications using the LWC framework. Since FlexCards are LWCs, they can be easily deployed in App Builder and Community Builder.

FlexCards display information from one or more data sources (such as a DataRaptor, Integration Procedure, Apex, REST, SOQL, and more). For example, you could use a DataRaptor to return a list of Cases for an Account and then render each Case as its own FlexCard, only surfacing the relevant data to the user. In this way, instead of the user having to click on multiple different Case records and then filter through all the fields on each record, they can see everything in one place. Data can be dynamically displayed and the look-and-feel of the FlexCard can change depending on the data. For example, you can put a red border around any Case record that has been open for over 30 days. You can also use clickable actions to launch OmniScripts, Record pages, and more in the context of the record. For example, you can launch an OmniScript to help troubleshoot a router if the Case Type is “Router Issue”.

OmniStudio FlexCards

FlexCards help combat information overload and streamline business processes by enabling the user (e.g., a sales or service agent) to focus on relevant information and actions required to be effective. A FlexCard contains pertinent information and links to processes within a specific context. The links are actions that can further launch an OmniScript, fire an event, display a flyout (e.g., an OmniScript or child FlexCard in a modal), or even update a field value.

Key capabilities of FlexCards:

  • Use them to show summarized contextual information at a glance.
  • When combined with contextual and relevant actions, they help streamline and optimize business processes.
  • Deploy them to any device or channel, such as a customer portal or a mobile device.
  • Use them to aggregate and display data from multiple sources like Salesforce and external systems.
  • Create them with a declarative WYSIWYG editor and no-code styling.
  • Automatically generate and deploy LWCs.

Conclusion

There you have it — a broad overview of the capabilities enabled by Salesforce Industries. These capabilities will continue to evolve and grow as the features become more entwined with those of the core platform.

The next post in this series will delve deeper into some of the tools available to you with an industry-specific example of how Salesforce Industries reduces total cost of ownership (TCO) and provides quick value.

About the author

Anup Jadhav is a Senior Program Architect at Salesforce working with Insurance, Health, and Life Sciences customers as a trusted advisor. He has over 11 years of Salesforce experience including 3+ years of Vlocity (now Salesforce Industries) experience.
Twitter: @anup

--

--