Skip to main content

Get to Know OmniOut

Learning Objectives 

After completing this unit, you’ll be able to:

  • Define what OmniOut is.
  • Understand how OmniOut works.
  • Identify your approach for using OmniOut.

What Is OmniOut?

When you decided to use OmniStudio in your org, you spent a lot of time developing FlexCards to present information and creating OmniScripts that allow end-users to more intuitively create records and make updates. Wouldn’t it be nice to compile the Lightning web component (LWC) FlexCards and OmniScripts into standard web components to run them off-platform on third-party websites or apps? 

Well, great news! Using OmniOut, you can embed FlexCards and OmniScripts inside a custom app or deploy them to a content management system (CMS) that connects back to Salesforce. Yes, with OmniOut, you can deploy OmniScripts and FlexCards as standard web components to Adobe Experience Manager (AEM), Heroku, and other cloud application platforms to run them outside the Salesforce platform. 

Let’s look at how it works.

How Does OmniOut Work?

OmniOut allows you to autogenerate web components from LWCs without writing code. Why is this important? Well, web components offer framework interoperability. You can also embed them without an iFrame… handy right? 

With OmniOut, a customer can start a process off-platform, save the progress, and an agent can complete the process on-platform. For example, a customer logs in to an off-platform website to view their account status. They see an offer for a phone upgrade and start the process to select a new phone, but they’re interrupted. Later that day, they call the customer service center with a question. The good news is that the agent can see the incomplete customer upgrade and finish the upgrade process on-platform.

Even better, OmniOut uses standard OmniStudio tools, such as Omnistudio Data Mappers and Integration Procedures. 

Corresponding diagram of OmniOut architecture

Let's understand this better.

  1. An OmniOut web form or app displays data or handles user input and stores the data in a client-side JSON object on a CMS or web server.
  2. Any calls to Salesforce from this web form or app use Apex REST.
  3. OmniScripts and FlexCards are added to an OmniOut project. Then, the OmniOut project is integrated into the application and deployed to the CMS or web server.
  4. If the implementation requires a proxy server for security, you can configure one to work with the CMS or web server.
  5. OmniOut web components on the CMS or web server pull dependencies from an npm repository.

While data is sent and received from Salesforce and other APIs, the solution stores data locally to optimize performance. You can also add an API gateway to cache responses from Salesforce or limit the number of API requests to further improve performance and reduce costs.

Note

In this module, we assume you’re an OmniStudio developer with the proper permissions to take these actions. If you’re not a developer for OmniStudio, that’s OK. Read along to learn how a developer would take the steps in a production org.

Before you can use OmniOut to practice the steps in this module, you need to have OmniScripts and FlexCards working with data. You must also have your CMS configured. 

This module focuses on what you need to do in OmniStudio to deploy FlexCards and OmniScripts that are already built. Use the OmniStudio trail for step-by-step instructions on setting up FlexCards and OmniScripts. Use your CMS help files for information on setting it up.

What Approach to Use for OmniOut?

Meet Robert Bullard. He’s a technical architect at Get Cloudy Consulting and one of the most knowledgeable people in the Salesforce community. Robert writes a blog called the Bullard Report that gets thousands of views weekly.

Robert Bullard

Because OmniOut is CMS agnostic, Robert has a lot of flexibility in how he deploys OmniScripts and FlexCards. This flexibility is why Robert uses OmniOut with his OmniStudio clients who want to deploy their apps outside of Salesforce. The size of the project doesn’t matter. 

Let’s look at four of his current OmniStudio projects, where Robert plans to deploy off-platform with OmniOut. Afterward, he'll write a blog about the process to delight his many followers.

Simply Solar: Deploying with JSforce to Heroku

Simply Solar is an OmniStudio energy customer. They've created an OmniScript that allows customer service representatives to help customers track the energy their panels generate and give back into the grid. 

Simply Solar wants Robert to help deploy this OmniScript off-platform in a Heroku app. To Robert, it’s easy peasy, because this is a relatively simple project. He can use Salesforce JSforce to do the job. JSforce is an isomorphic JavaScript library that uses the Salesforce APIs. To learn more, check out Resources.

Europa Communications: Deploying with Multilanguage Support

Europa Communications is a communications service provider based in Germany with customers across Europe. Robert helped Europa Comm develop a console using FlexCards to give service agents information on customers’ current mobile phones and service plans. Agents launch multilanguage OmniScripts from the console to guide them in working with customers. 

Now, Europa Comm wants to deploy the FlexCards and OmniScripts to its client website. Robert has deployed OmniOut before, but he’s still excited to tackle the new requirement of multilanguage OmniScript support. 

Healthy Benefits: Deploying to AEM

Healthy Benefits is a large health insurance company based in the US. It uses OmniStudio FlexCards to give insurance agents details on customers’ current plans and OmniScripts to enable agents to update existing plans and add new ones. 

Healthy Benefits has a customer self-service site on AEM, where it wants to deploy the FlexCards and OmniScripts. This project focuses on AEM, and it’s Robert’s first time working with an AEM app. He studies up on the specifics of deploying OmniOut to AEM. 

Bull Market Investments: Deploying CSS to Its Own App

Bull Market Investments is a global financial services company. Robert has worked with Bull Market over the years and understands its complex security requirements, not to mention its love of custom style sheets. When Bull Market asks Robert to help deploy FlexCards and OmniScripts on its customer self-service site, he’s happy to take on the challenge.

This is the most complex scenario. Robert needs to build a middleware connection between Salesforce and the customer self-service site to meet Bull Market’s specific security requirements. The middleware connection is outside OmniOut, but he feels confident, because he’s set up this type of connection before. 

Different Customers, Different Requirements? No Problem

As you can see, companies have different needs for their OmniOut solutions, and Robert's got them covered.  

Robert Bullard sits at his desk and talks to a colleague about OmniOut.

He takes a similar approach for each customer to prepare their orgs before he downloads the FlexCards and OmniScripts for off-platform deployment. We look more closely at prerequisites in the next unit. 

Resources 

Share your Trailhead feedback over on Salesforce Help.

We'd love to hear about your experience with Trailhead - you can now access the new feedback form anytime from the Salesforce Help site.

Learn More Continue to Share Feedback