Salesforce OmniStudio产品研究

一、Salesforce OmniStudio产品研究:

如需动手实践,可以注册一个OmniStudio的Developer Org用于操作,注册链接:https://trailhead.salesforce.com/zh-CN/promo/orgs/omnistudiotrails

OmniStudio Org注册
也可以根据trailhead上面进行系统性学习:https://trailhead.salesforce.com/zh-CN/content/learn/trails/get-to-know-omnistudio
实践操作的视频可以参考这个:https://www.youtube.com/watch?v=qfXn0l2FnnY&t=711s

1. Salesforce OmniStudio产品介绍

OmniStudio 是Industry Cloud的一套数字产品,主打的就是一个低代码化,通过一些简单的配置,可以创建出具有Lightning Web组件的界面效果和DML数据操作,并且他的数据源可以来自于salesforce,也可以是外部系统,中间不需要写SQL,也不需要写代码进行集成,都是通过拖拖拽拽,配置的形式就可以完成,并且更加灵活性,支持导入导出的方式,部署也方便。

OmniStudio 是 Einstein Automate 的一部分,它集成了跨 Platform、Einstein、MuleSoft、Industries 和 AppExchange 的 Salesforce 自动化功能,以提供高效的端到端工作流平台

OmniStudio 提供的几个组件层:Digital Experience、Service Management、Developer Experience
在这里插入图片描述
Digital Experience包括两个主要的用户界面 (UI) 组件。

  • OmniStudio FlexCards:以一目了然的格式显示你想要看到数据的上下文信息和操作的卡片
  • OmniScripts:构建引导式的页面操作流程

这些声明性工具提供了易于理解的丰富用户交互体验。它们基于 Salesforce Lightning Web 组件 (LWC) 构建,这些组件在 Salesforce 内部运行并提高了 UI 性能。

Service Management :包括读取、写入、转换、计算和跟踪 Salesforce 内外数据的数据服务。

  • OmniStudio DataRaptors:用于检索、转换和更新数据的可配置服务
  • OmniStudio Integration Procedures :在单个服务器调用中执行多个操作的声明式服务器端进程

DataRaptors 和 Integration Procedures 向 UI 组件传送数据,或从 UI 组件传送数据。他们协调对 Apex 类、计算引擎和外部应用程序编程接口 (API) 的调用,以执行流程所需的任何业务逻辑。

Developer Experience是一个应用程序生命周期工具层,供开发人员在环境之间管理和移动 OmniStudio 组件的更改。这些开发人员工具是:

  • IDX 构建工具:命令行自动化工具,以源代码控制友好的格式打包和迁移 OmniStudio 数据包
  • IDX Workbench:桌面应用程序,使开发人员能够将数据包和 Salesforce 元数据从一个组织迁移到另一个组织或从一个组织迁移到 Git 存储库

对于简单的迁移,开发人员可以将组件作为数据包导出和导入,Datapack 是打包在一起用于导出和导入目的的 OmniStudio 组件的集合。例如,开发人员可以导出和导入具有特定集成过程的 FlexCard。

对于大型或复杂的迁移,开发人员可以使用 IDX Build Tool 或 IDX Workbench。

IDX 构建工具保留依赖关系、验证数据并验证迁移是否成功。

IDX Workbench 包括一个测试控制台,用户可以在其中运行测试程序并查看其逐步性能的甘特图。测试过程是一个集成过程,它对集成过程可以调用的几乎所有内容执行单元测试,例如 DataRaptor、计算矩阵、Apex 类,甚至另一个集成过程。

2. FlexCard

Flexcards 使我们能够在 Salesforce 平台及其他平台上构建以客户为中心、行业特定的 UI 组件和应用程序。FlexCard 组件在基于数据源的特定上下文中包含数据和流程链接的组合。默认情况下,FlexCard 循环遍历从其数据源返回的记录,并在称为卡片的容器中显示记录列表。在 Lightning 或社区页面上发布的活动 FlexCard 组件。说句通俗易懂的话,就相当于前端页面,可配置型的,可以调整样式

以下是 FlexCards 数据源参考的选项列表(建议使用DataRaptor作为数据源)

  • SOQL 查询:使用 Salesforce 对象查询语言 (SOQL) 搜索组织的 Salesforce 数据以获取特定信息。例如,SELECT Name, Id FROM Account LIMIT 5。注意:如果安全是一个问题,请使用DataRaptor 而不是 SOQL 查询,因为 DataRaptors 完全支持字段级安全。
  • SOSL 搜索:使用 Salesforce 对象搜索语言 (SOSL) 针对搜索索引构建基于文本的搜索查询。
  • Apex Remote:使用 Apex Remote 类和方法返回数据。Apex Remote 类是实现VlocityOpenInterface 的标准 Apex 类。
  • Apex REST:使用 Apex 类的 REST 端点返回数据。
  • DataRaptor:使用 DataRaptor Extract 接口返回数据。完全支持字段级安全性。
  • REST:命名凭证,使用标准 REST API 调用从标注端点的 URL 返回数据及其在一个定义中所需的身份验证参数。REST Web,使用标准 REST API 调用从标注端点的 URL 返回数据。
  • 集成程序:使用集成程序返回数据。集成过程是声明性的服务器端进程,可在单个服务器调用中执行多个操作。
  • Streaming Channel:使用 Salesforce Streaming API 发送与 Salesforce 数据更改无关的一般事件通知。
  • Platform Event:使用 Salesforce 的 Platform Events 企业消息传递平台,该平台结合了PushTopic 和 Streaming Channel,使应用程序能够在 Salesforce 内部和外部进行通信。平台事件不使用 sObject,而是使用自定义对象。
  • PushTopic:使用 SOQL 查询返回结果,通知侦听器 Salesforce 组织中记录的更改。PushTopic 定义了一个Streaming API 通道。
  • 自定义:使用示例 JSON 设置 FlexCard,其中临时数据最终会被另一个数据源替换。这允许您将自定义 JSON 直接嵌入到布局中,而不依赖于外部数据。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.OmniScripts

是引导用户完成复杂的任务。它被称为引导路径。通过分支配置交互式、易于使用的业务流程的能力意味着可以根据用户所做的选择显示不同的页面和字段组。通俗一点就是,可以像屏幕流一样引导用户操作,但它比屏幕流更强大。

OmniScript 是您通过点击创建的声明性脚本工具,而不是代码。使用 OmniScript Designer(稍后将在本模块中探讨),您可以拖放项目以构建 OmniScript 的结构,然后使用内置的故障排除工具预览和调试您的工作。
在这里插入图片描述这意味着您可以快速创建并轻松维护 OmniScript,从而节省大量时间。

在任何设备和任何渠道上使用 OmniScript

OmniScript 不限于 OmniStudio Interaction Console 供代理使用。您可以将它们部署在任何设备和任何渠道上,例如移动设备或消费者门户。这是 OmniScript 在移动设备和在线上查看时的样子。
在这里插入图片描述无需更改配置即可在多个通道上查看相同的 OmniScript 是另一个节省时间的方法!

OmniScript 具有模块化架构
在这里插入图片描述OmniScript 的外观(前端)与其功能(后端)是分开的。OmniScript 将 JavaScript 对象表示法 (JSON) 元数据结构 (1)、样式表 (2) 和数据 (3) 彼此分开。

这种模块化架构支持原型设计和快速构建用户体验。它还促进使用来自任何地方的数据、重用 JSON 元数据以及轻松应用品牌标准。

显示来自多个数据源的数据

OmniScript 可以显示来自 Salesforce 的内部数据和来自网站或第三方遗留系统的外部数据。

OmniScript 的面向数据的 Actions 元素调用应用程序编程接口 (API)、OmniStudio 集成程序和其他工具以从任何地方访问数据。您可以集成来自多个来源(Salesforce 或第三方)的数据、处理数据并将其发送回其来源,所有这些都在 OmniScript 中完成。数据以标准 JSON 格式捕获。
在这里插入图片描述

4.DataRaptor(获取数据)

DataRaptor 是一种映射工具,可让您读取、转换和写入 Salesforce 数据。可以这样想:对于每个数字客户交互或业务流程,您的系统都需要提取数据来显示它。当用户更改该数据或输入新数据时,也必须保存它。这就是 OmniStudio DataRaptors 的用武之地。

有四种不同类型的 DataRaptors(我们很快将详细介绍每种类型),但一般来说,DataRaptors 从 Salesforce 向 OmniScripts 和 OmniStudio FlexCards 提供数据,并将来自 OmniScripts 和 FlexCards 的更新写回 Salesforce。他们通常通过 OmniStudio Integration Procedures来执行此操作。

  • 获取数据: OmniScript 调用 DataRaptor Extract(通过Integration Procedures)以从 Salesforce 读取数据。例如,编辑帐户 OmniScript 需要显示帐户名称、电话号码和网站等数据。
  • 操作数据: OmniScript 根据用户输入捕获更改的和新的数据。例如,代理更改帐户电话号码。
  • 保存数据: OmniScript 调用 DataRaptor Load(通过Integration Procedures调用Load)将数据写回 Salesforce。例如,将更新后的账户电话号码保存回账户记录。

虽然 Apex 类可以读取、写入和转换数据,但 DataRaptors 提供了更多的好处。DataRaptors 的创建时间更短并且更易于维护;这就是我们推荐使用 DataRaptors 作为最佳实践的原因。

创建DataRaptors 时,需选择类型
在这里插入图片描述
DataRaptors 的类型有四种:

  • DataRaptor Extract : 它从 Salesforce 中提取数据,读取 Salesforce 数据并通过复杂的字段映射以 JSON、XML 或自定义格式返回结果。您通常使用 DataRaptor Extracts 为 OmniScript 和 FlexCards 提供它们需要显示的任何内部 Salesforce 数据。它们支持公式和复杂的输出映射。
    如果您属于以下情况,请使用 DataRaptor Extracts:
    • 从单个对象中提取数据:例如,从 Salesforce 中的客户对象中检索客户名称等客户数据和其他详细信息。
    • 从三个相关对象中提取数据:例如,创建一个 DataRaptor Extract 供案例处理 OmniScript
      使用。办案人员需要通过案号查找案件,需要能够查看到账户名称、案件描述以及该账户的所有联系人。
    • 使用数据值或偏移值对排序数据进行分页:如果您希望 DataRaptor Extract
      检索大量记录,请使用分页根据字段值或偏移值一次检索几条记录。例如,按帐户 ID 或按姓氏翻阅一长串帐户。
  • DataRaptor Turbo Extract : 从单个 Salesforce 对象类型检索和过滤数据,支持相关对象的字段。您可以过滤数据并选择要返回的字段。与标准 DataRaptor Extract不同,DataRaptor Turbo Extract 不支持公式或复杂的输出映射。 与标准 DataRaptor Extract 相比,它有两个优势。
    • 更简单的配置
    • 更好的运行时性能
  • DataRaptor Load: DataRaptor Loads 从 JSON 或 XML 输入将数据写入 Salesforce 对象。DataRaptor Load 使用更改的数据更新记录并同时创建新记录。如果您属于以下情况,请使用 DataRaptor Loads:
    • 创建联系人并使用公式: DataRaptor Load 创建一个新的联系人记录。公式检​​查联系人是否超过 18
      岁;如果是这样,自定义授权字段将设置为 true。
    • 为现有帐户创建联系人: DataRaptor Load 创建新的联系人记录。指向具有特定 ID
      的客户记录的链接可确保新联系人与该客户相关。 DataRaptors 可以访问外部对象和自定义元数据以及 Salesforce
      对象。不需要特殊的语法或额外的配置来执行此操作。
  • DataRaptor Transform: 处理来自 Salesforce 内部或外部的任何数据,DataRaptor 转换执行以下操作。
    • 将 JSON 输入转换为 XML 输出,反之亦然。
    • 重组输入数据并重命名字段。
    • 替换字段中的值(所有 DataRaptors 都可以替换值)。
      在以下示例中,一家保险公司实施了 DataRaptor Transform,以便其标签对用户更有意义。策略信息存储在 Salesforce Asset sObject 中,但 DataRaptor Transform 将用户看到的标签从“Asset”更改为“Policy”。它还将“vlocity_ins__AnnualPremium__c”更改为“Annual Premium”。它将联系人的两个标签从“Contact”更改为“Policy Holder”,从“Contact”更改为“Policy Beneficiary”。
      在这里插入图片描述

下面介绍一下Extract类型,页面中一共有这些元素:提取标签、公式选项卡、输出选项卡、选项标签、预览选项卡

  • EXTRACT:在 Extract 选项卡 (1) 上,指定您希望 DataRaptor 查询的 Salesforce 对象以及确定要从该对象返回的数据的筛选器。
    在这里插入图片描述
    参数设置为: “$Vlocity.NULL”的意思是,检索出id不等于空的Account数据

  • 公式选项卡(FORMULAS):在公式选项卡 (2) 上,您可以定义公式。三种类型的 DataRaptors(提取、转换和加载)支持公式。当您定义公式时,您将其输出映射到输出 JSON(用于提取和转换)或 Salesforce 对象字段(用于加载)
    在这里插入图片描述
    下面是我们常用到的公式函数这是我们常用到的公式函数

  • 输出选项卡(OUTPUT):在输出选项卡 (3) 上,您将数据从提取步骤 JSON 映射到输出 JSON。
    在这里插入图片描述

  • 选项标签(OPTIONS):在选项选项卡 (4) 上,您可以设置高级选项,例如是否在执行 DataRaptor 之前检查用户对字段的访问权限。将平台缓存类型设置为会话缓存以获取与用户及其登录会话相关的数据,或将所有其他类型的数据设置为组织缓存。Time to Live in Minutes 设置决定了数据在缓存中保留的时间。
    在这里插入图片描述

  • 预览标签(PREVIEW):在预览选项卡 (5) 上,您测试 DataRaptor 的输出。您以键/值对的形式提供输入参数,然后单击执行。结果显示在响应部分。
    在这里插入图片描述

4. Integration Procedure(集成程序)

那么 OmniStudio Integration Procedure到底是什么?它们是用于从 Salesforce 和外部系统读取和写入数据的应用程序。可以从 OmniStudio 组件(例如 OmniScript 或 FlexCard)、API 甚至 Apex 方法调用Integration Procedure。

可以这样想:当您需要访问和转换来自第三方来源的数据并且不需要用户交互时,并且希望将工作负载从客户端转移到服务器时,这就是您想要使用 OmniStudio 集成程序的时候。
OmniStudio 集成程序是声明性的服务器端进程,可在单个服务器调用中执行多个操作。让我们分解一下,以便更好地理解它的含义。

  • 声明式: 在 Integration Procedure Designer 中使用拖放元素来构建流程结构。
  • 服务器端处理:这可以实现更快的性能,因为在大多数情况下,服务器处理数据的速度比客户端快。
  • 单个服务器调用中的多个操作:这可以防止往返服务器。尽量减少客户端/服务器调用是有益的,因为更多的往返意味着更慢的性能。

更简单地说,集成过程是一种在幕后获取、保存和操作数据的方法。它们在以下场景中特别有用。

  • 您需要访问和转换来自第三方来源的数据。
  • 不需要用户交互。
  • 将工作负载从客户端转移到服务器是更可取的。

归功于一系列令人敬畏的功能,集成程序可以完成他们所做的事情。让我们来看看一些。

集成过程处理多个数据源。他们从 Salesforce、外部系统(使用代表性状态传输 [REST]/应用程序编程接口 [API] 调用)和 Apex 类读取数据。它看起来有点像这样:
在这里插入图片描述
集成程序充当多种技术的数据源。它们从 OmniScript 和 OmniStudio FlexCards 调用并返回数据。它们还用作 API 和 Apex 代码的数据源。一探究竟:
在这里插入图片描述
集成程序是可移植的。这意味着您一次构建一个集成过程并在所有地方使用它。您可以在 FlexCard 和 OmniScript 中使用同一个。

集成程序只发送和接收您需要的数据。一个经常被忽视的性能因素是浏览器和服务器之间发送的数据量。Integration Procedure 的 Response 操作允许您修剪从服务器返回到浏览器的数据。这最大限度地减少了客户端/服务器数据传输,如果您使用的是慢速网络或使用移动连接,这是一个关键因素。
在这里插入图片描述
这是一个例子。集成过程使用 HTTP 操作通过 API 密钥调用数据。数据以 JavaScript 对象表示法 (JSON) 的形式出现,并包含无关信息 (1)。您使用操作元素 (2) 的属性来修剪 JSON 并仅将需要的节点发送到 DataRaptor 转换操作 (3)。这使您不仅可以进一步修剪 JSON,还可以在将数据发送到调用它的工具之前重新映射数据。

集成程序执行批处理。他们处理大量数据而不会导致 Salesforce 超时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值