OmniStudio Architecture

OmniStudio Architecture can be broken down into this three layers:

Digital Experience, Service Management, and Developer Experience as discrete layers inside OmniStudio.

Let’s go over each and I’ll cover each of them in detail in future post

Digital Experience

This layer entails the primary UI components or the front end, these components are built from Lightning Web Component framework.

  • FlexCards – displays contextual information
  • OmniScripts – guided scripts, forms or screens to complete a business process.

Service Management

Includes data services used for create, read, update, delete (CRUD) operations. We can also do transform, calculation and track data in this layer which technically is the back end.

  • Integration Procedures – declarative configuration for server side processes that execute multiple actions in a single server call
  • DataRaptors – configuration services for retrieving, transforming and updating data
    • 4 types of DataRaptors
      • Turbo Extract – get data from a single SObject
      • Extract – get one or more SObjects
      • Load – save data on one or more SObjects
      • Transform – manipulate any data from inside/outside Salesforce
  • Calculation Procedures and Matrices – run a detailed set of mathematical steps when complex calculations are required. Calculation procedures can call one more more calculation matrices(lookup tables)

Developer Experience

This layer we can loosely put as the devops entailing the deployment details.

  • IDX Build Tools – command line automation tool that packages and migrates omnistudio datapacks  in source control friendly format. Preserves dependencies, validates data and verifies the success of migration
  • IDX Workbench – a desktop application that migrates datapacks and salesforce metadata from one org to another
    • Run Test Procedures – an integration procedure that performs unit test of almost anything an integration procedure can invoke
      • dataraptor
      • calculation matrix
      • apex class
      • or another integration procedure

Leave a Reply

Your email address will not be published. Required fields are marked *