
After completing this Session, you’ll be able to:
Explain the function of FlexCards.
List key capabilities of FlexCards.
Explain how to access the FlexCard Designer.
Explain how the FlexCard Designer header and canvas operate.
Describe the Build, Properties, Style, and Setup panels.
Summarize how to preview and publish your FlexCard in real time.
Describe the in-product help and tooltips features.
After completing this session, you’ll be able to:
List the steps the Data Source Wizard takes to create a FlexCard.
Explain how to define the FlexCard.
Explain how to select the data source type.
Explain how to select the data source.
Explain how to configure the data source inputs
Explain the purpose of Text and Field elements.
Describe the various FlexCard elements.
After completing this session, you’ll be able to:
Describe features of the Style panel.
Describe how to enable Style panel element responsiveness.
List examples of FlexCard styling.
After completing this session, you’ll be able to:
Explain how and why to use parent and child FlexCards.
Make a collapsible block.
Describe how to configure data sources for child and parent FlexCards.
Explain the purpose of Block elements.
Clone a FlexCard.
After completing this session, you’ll be able to:
Explain the purpose of Icon elements.
Explain the purpose of Menu and Action elements
After completing this session, you’ll be able to:
List potential external data sources for FlexCards.
Configure a data source to display external data.
Create a flyout action to display data.
Create a table to display data.
Add an image to a FlexCard.
After completing this session, you’ll be able to:
Create a conditional state to display data.
Explain FlexCard versioning.
After completing this session, you’ll be able to:
Describe the publish options for an activated FlexCard.
Add a FlexCard Lightning web component to a Lightning page.
Add a FlexCard Lightning web component to a Community page.
After completing this session, you’ll be able to:
Explain what OmniScripts are and why you use them.
Explain how to build OmniScripts with the OmniScript Designer.
Describe features and panels of the OmniScript Designer.
After completing this session, you’ll be able to:
Explain how to build OmniScripts with the OmniScript Designer.
Describe features and panels of the OmniScript Designer.
After completing this session, you’ll be able to:
Explain what makes an OmniScript unique.
Add a Step with Inputs to an OmniScript.
Configure element properties.
Describe how data flows into and out of an OmniScript.
Configure OmniScript Action elements.
After completing this session, you’ll be able to:
Describe how a Type Ahead Block works.
Configure a Type Ahead Block.
Enhance the Type Ahead UI and UX.
After completing this session, you’ll be able to:
Build branches into OmniScripts.
Add conditional branching to an OmniScript.
Use element properties to change the UI and UX of an OmniScript.
Manipulate and inspect OmniScript JSON.
After completing this session, you’ll be able to:
Explain why it’s important to prevent user errors.
Prevent errors with a Set Values element.
Ensure data is complete with a Set Errors element.
Once activated, enable OmniScript access in one of three ways: standalone, embedded, or Vlocity Aura Wrapper.
1.Standalone
Once Activated, the OmniScript is compiled and deployed as a standalone Lightning Web Component. Access the LWC in the Salesforce Lightning App Builder in the Custom section and drag it onto the page.
2.Embedded
Once Activated, you can embed the component into any Aura or LWC component using the component tag. The component attribute "prefill" accepts string or javascript object.
3. Vlocity Aura Wrapper
Once Activated, the OmniScript can be accessed using Vlocity’s prebuilt Aura component.
Since Lightning Web Components are not yet URL addressable, you can use this method to pass additional parameters into the OmniScript.
Example
this[NavigationMixin.Navigate]({
type: 'standard__component',
attributes: {
componentName: '__vlocityLWCOmniWrapper'
},
state: {
c__target: 'c:testSubTypeEnglish',
c__layout: 'lightning', // or 'newport'
c__tabIcon: 'custom:custom18'
}
})
Embed a FlexCard Lightning Web Component in an OmniScript by using the Custom LWC Element. FlexCards can receive data from the OmniScript and perform any action available in the FlexCard. Note: unlike other elements, custom LWCs only display in an OmniScript preview if the OmniScript is active.
After completing this session, you’ll be able to:
Summarize what DataRaptors are.
List the four types of DataRaptors.
Describe the capabilities of each DataRaptor type.
Describe the features of the DataRaptor Designer.
Explain the purpose of formulas and functions.
After completing this session, you’ll be able to:
Build a DataRaptor Turbo Extract.
After completing this session, you’ll be able to:
Build a DataRaptor Extract.
After completing this session, you’ll be able to:
Build a DataRaptor Turbo Extract.
Build a DataRaptor Load.
Explain how a DataRaptor Load decides to create or update records.
DataRaptor Transforms let you perform intermediate data transformations without reading from or writing to Salesforce. Formulas are supported.
Convert JSON input to XML output, and vice versa
Restructure input data and rename fields
Substitute values in fields (all DataRaptors can substitute values)
Convert data to PDF, DocuSign, or Document Template format
DataRaptor Transforms are essential for OmniScripts that must populate a DocuSign template
You can also transform data in many ways using Set Values components in Integration Procedures. See Set Values for Integration Procedures.
You can invoke any type of DataRaptor using the DataRaptor REST API. To update Salesforce objects using a DataRaptor Load, issue a POST request that includes a JSON payload that is formatted to comply with the input that the DataRaptor load expects. To retrieve data from Salesforce, issue a GET call to a DataRaptor Extract, specifying the Id or parameters identifying the data to be retrieved. The data is returned in the response in JSON format.
To call a DataRaptor from Apex, call the vlocity_ins.DRGlobal.processObjectsJSON() method, specifying the name of the DataRaptor and the input data that it requires.
Specify the input as follows:
For a JSON object, use Map<String, Object>. Set the String to the JSON key and the Object to the JSON value.
For an array of JSON objects, use List<Map<String, Object>>. Set the String to the JSON key and the Object to the JSON value.
As an alternative, you can specify the input as a string containing the JSON input required by the DataRaptor.
For details about the methods of the DRGlobal class, which offer multiple ways to call DataRaptors,
After completing this session, you’ll be able to:
Explain what OmniStudio Integration Procedures are.
List some Integration Procedure capabilities and uses.
Explain the benefits of Integration Procedures.
After completing this session, you’ll be able to:
Explain what the Integration Procedure Designer is.
Describe how to work with Group and Action elements.
After completing this session, you’ll be able to:
Describe where Integration Procedures fit within the data flow.
Build a simple Integration Procedure to get data for an OmniScript.
Build a simple Integration Procedure to save updated data to Salesforce.
The Set Values action sets values in the data JSON of an Integration Procedure literally, using merge fields, or using formulas. This action has many uses
Error Handling in Integration Procedures
You can configure the conditions for success or failure of an Integration Procedure action or group of actions.
In each step, you can set the following properties:
Failure Conditional Formula: Specify a formula that evaluates to TRUE if the step has failed to execute successfully. See the second example in Handle Errors Using Try-Catch Blocks.
Fail On Step Error: Enable this option to terminate the Integration Procedure if the conditional formula determines that the step has failed.
Note
An action that returns a list cannot use returned data in its Failure Conditional Formula.
2. Try Catch Block
A Try-Catch Block lets you "try" running the steps inside it and then "catch" the error if a step fails
3. DataRaptor Post Action
The DataRaptor Post Action calls a DataRaptor Load (post) to write data to Salesforce.
A Remote Action calls the specified Apex class and method or the specified Invocable Action. You can also pass in invocation options and data. The Apex class must implement the Callable interface.
If the data a Remote Action returns isn't in Map<String, Object> format, an Integration Procedure or DataRaptor might not be able to process it. You can convert the data in one of these ways:
In the Remote Action, under Remote Options, add a Key named reserialize with a Value of true.
In a subsequent Set Values step, use the RESERIALIZE function on the Remote Action's output.
For information about related functions such as DESERIALIZE and SERIALIZE
An error message that begins with Invalid conversion from runtime type String often indicates a need to reserialize data.
You can use either a GET or a POST call to run an Integration Procedure and retrieve the result. The only difference is that a GET call can't include a JSON request body.
After completing this unit, you’ll be able to:
Summarize what Calculation Matrices are and why and when we use them.
Explain how to read a Calculation Matrix.
Standard Calculation Matrix (omnistudio document page: 710 (726 / 866))
All calculation matrices have the characteristics that standard calculation matrices have. Other types have
characteristics that standard calculation matrices lack. All calculation matrices have input columns, output
columns, and versions.
A calculation matrix is a Vlocity rating table that is structured and stored as follows:
One input column or a set of input columns
Input column header names must match inputs, such as attributes and remote options
Each input or set of inputs must be unique
Vlocity stores all input column header names and all input data in one JSON
One output column or a set of output columns
Outputs and sets of outputs don't need to be unique
Vlocity stores all output column header names and all output data in one JSON
2. Grouped Calculation Matrix (omnistudio document page: 721 (737 / 866))
You can create groups of calculation matrices, and subgroups within each group.
Grouped calculation matrices have several benefits:
Grouped calculation matrices are designed to work best for insurance carriers that have lots of matrices which are almost exactly alike: same input headers and same output headers.
Grouped calculation matrices improve management and reduce size requirements .
Vlocity uses only one SOQL query to query a group of matrix versions.
Insurance carrier staff members who keep the calculation matrix data up to date can create and enable
new versions of a matrix without touching any other versions.
However, grouped matrices have some limitations. Each matrix in a group must have all the same input and output column headers.
3. Row-Versioned Calculation Matrix (omnistudio document page: 723 (739 / 866))
If you're wrangling large calculation matrices that can't be sectioned cleanly into groups and subgroups, you
can create calculation matrices that are versioned by row.
After completing this session, you’ll be able to:
Summarize what Calculation Procedures are, and why and when we use them.
Explain how to read a Calculation Procedure.
You can call a Calculation Matrix from either tool using the Matrix Action.
OmniStudio
OmniStudio provides a suite of services, components and data model objects that combine to create Industry Cloud applications. Create guided interactions using data from your Salesforce organization and external data.
With OmniStudio, you can create:
OmniScripts, which contain the interaction logic.
DataRaptors, which transfer and transform data between Salesforce and OmniScripts, FlexCards and integration procedures.
Integration procedures, which consolidate server-side operations for efficiency and reuse.
FlexCards, which display data and initiate actions.
OmniScript Basics
A Vlocity OmniScript guides users through complex processes with fast, personalized and consistent responses. For example, you can create an OmniScript to guide:
A customer service agent to add a new customer
An insurance agent to update a policy
An end user to complete a self-service interaction such as troubleshooting.
You can create a guided interaction to match your process flow. OmniScript is a declarative scripting tool, which means you create it with clicks, not code. To create the structure of an OmniScript, you drag and drop different types of elements.
OmniStudio FlexCards
Build customer-centric, industry-specific UI components and applications on the Salesforce platform with OmniStudio FlexCards. Display Salesforce object information along with distinct, clickable actions that change according to the context in which they appear and based on the information that they contain.
Create and design FlexCards with the FlexCard Designer, a declarative tool with a drag interface, WYSIWYG editing, and graphic user interfaces to style individual elements. FlexCards are built with the Lightning Web Components programming model Creating UI components with FlexCards is all about sourcing the data and displaying and organizing the returned information in a meaningful way
OmniStudio DataRaptors
A DataRaptor is a mapping tool that enables you to read, transform, and write Salesforce data. There are four types of DataRaptor: Turbo Extract, Extract, Transform, and Load.
OmniStudio Integration Procedures
OmniStudio Integration Procedures are declarative, server-side processes that execute multiple actions in a single server call. Integration procedures can read and write data from Salesforce and from external systems (using REST calls) and can call Apex code. An Integration Procedure can be called from an OmniScript, an API, or an Apex method, and can be a data source for a FlexCard.