此语音集成利用 Twilio Open CTI 集成将 Twilio Flex 呼叫中心引入您的 Salesforce 实例。
Agent Assist 使用 Twilio Flex 通话中的媒体流,在 Salesforce Lightning Service Console 中为客服人员提供建议。
准备工作
如需将 Agent Assist 界面模块与 Salesforce 集成,您需要能够访问以下资源:
-
按照建议的安装说明操作,完成操作系统安装。
-
按照建议的安装说明操作,完成操作系统安装。
-
按照说明安装
gcloud命令,并使用gcloud auth login进行身份验证。 Salesforce
- 在实例网址或 Salesforce 登录页面中登录,并注意以下事项:
- 您的 Salesforce “我的网域”网址。请按以下步骤查找我的网域网址:
- 前往菜单栏 > 设置菜单。
- 点击 Setup(设置)。
- 在快速查找框中,输入我的网域。域名采用以下格式:
MY-DOMAIN-NAME.develop.my.salesforce.com。
- 您的 Salesforce 组织 ID。请按以下步骤查找组织 ID:
- 前往菜单栏 > 设置菜单。
- 点击 Setup(设置)。
- 在快速查找框中,输入公司信息。 注意:这些集成步骤仅在 Salesforce Developer Edition 中经过测试。如果您使用其他版本,功能许可和 Salesforce 界面可能会有所不同。
-
- 按照说明设置集成。
- 在运行部署脚本之前,请使用
deploy.sh或在项目根目录的.env文件中配置以下环境变量: AUTH_OPTION:将此项设置为SalesforceLWC。SALESFORCE_DOMAIN:与YOUR_SUBDOMAIN.develop.lightning.force.com类似的域名。您已在 Salesforce 前提条件中记下此值。请注意,您不应添加https://。SALESFORCE_ORGANIZATION_ID:您已在 Salesforce 前提条件中记下此值。APP_AUTH_OPTION:将此项设置为Twilio。TWILIO_ACCOUNT_SID:将此项设置为您的 Twilio 账号 SID。
第 1 步:设置 Twilio Flex
在此集成中,Twilio Flex 充当软电话。您可以登录 Twilio 控制台来设置 Flex 账号。访问 Twilio 设置页面,详细了解如何创建 Flex 账号。
安装 SIPREC 连接器插件
借助 SIPREC 连接器插件,您的 Twilio Flex 账号可以创建语音通话媒体流的 SIPREC 分叉,并将其发送给 Agent Assist。请按照以下步骤安装 SIPREC 连接器插件。
- 依次前往 Twilio 主页 > Marketplace > 目录 > Twilio > Siprec 连接器。
- 依次点击安装 > 条款及条件确认复选框 > 安装。
- 在配置标签页上,按如下所示配置插件:
- 唯一名称:
SipRec1 - 会话记录服务器:
sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
- 如需详细了解如何预配 GTP 号码,请参阅电话集成文档。您可以忽略 SBC 配置和验证步骤,因为 Twilio Siprec 连接器已完成这些步骤。
- 唯一名称:
- 依次前往 Twilio 主页 > Functions and Assets。
- 如果侧边栏中未显示函数和资源,请从探索产品中将其固定。
- 点击创建服务。
- 将新服务命名为
ui-connector-auth。 - 在随即显示的编辑器中,依次点击添加 + > 添加函数。
- 将函数命名为
conversation-name。 - 点击 ,然后将函数公开范围更改为公开。
- 将 GitHub 代码库中
ui-connector-auth.js的全部内容复制并粘贴到编辑器中。 - 点击保存。
- 点击全部部署。
使用 Flex Studio 配置 IVR
IVR 包含使用 Twilio Studio 配置的程序化调用流程,以将媒体流的 SIPREC 分叉发送到 Agent Assist。它还会执行 HTTP POST 请求,以与 Agent Assist 分享手机号码和对话 ID。请按以下步骤使用 Flex Studio 配置 IVR。
- 前往 Twilio 控制台
- 依次点击开发 > 电话号码 > 管理 > 有效号码。表格中应有一行包含为您的 Flex 账号预配的默认 Twilio 号码。
- 在 Voice - Studio Workflow 部分中,点击 Voice IVR。
- 将发出 HTTP 请求 widget 拖到流程中。
- 断开来电与 SendCallToAgent widget 的输入之间的连接。
- 将来电连接到发出 HTTP 请求 widget 的输入。
- 使用以下详细信息配置发出 HTTP 请求 widget:
- 微件名称:
register_twilio - 请求方法:
POST - 请求网址:
<your-ui-connector-cloud-run-url>.run.app/register-app - 内容类型:application/json
- 请求正文:
{ "accountSid": "<yourTwilioAccountSid>", "authToken": "<yourTwilioAccountAuthToken>" }
- 微件名称:
- 将运行函数 widget 拖动到流程中。
- 将 register_twilio widget 的 Success 和 Fail 输出连接到 Run Function widget 的输入。
- 创建具有以下详细信息的 widget:
- 微件名称:
conversation_name - 服务:
ui-connector-auth - 环境:
ui - 函数:
conversation-name - 函数形参:
- token:
{{ widgets.register_twilio.parsed.token }}
- 端点:
<your-ui-connector-cloud-run-url>.run.app/conversation-name - 手机:
{{ trigger.call.From | replace_first:'+','' }}
- conversationName:
projects/<project>/locations/<location>/conversations/TW-{{ trigger.call.From | replace_first:'+','' }}-{{ trigger.call.CallSid }}
- token:
- 微件名称:
- 将侧边栏中的 Fork Stream widget 拖动到流程中。
- 将 Make HTTP Request widget 的 Success 和 Fail 输出连接到 Fork Stream widget 的输入。
- 将分叉流 widget 的下一个节点连接到 SendCallToAgent widget。
按如下方式配置 Fork Stream widget:
- Stream Action: Start
- Stream Type(信息流类型):Siprec
- 连接器名称:
Siprec1 - 课程:两类课程
数据流参数:
- 键:
conversation 值:
projects/<gcp-project-id>/conversations/TW-{{trigger.call.From | replace_first:'+','' }}-{{trigger.call.CallSid}}
- 键:
依次点击保存 > 发布。
账号详细信息
请按照此步骤收集您的 Twilio Flex 账号详细信息。您需要此信息才能稍后在 Salesforce 中配置 Flex CTI。
- 依次前往 Twilio 首页 > 账号信息中心,然后记下以下信息:
- 账号 SID
- 我的 Twilio 手机号码
第 2 步:设置开发项目
如需开始集成 Agent Assist 界面模块,请按以下步骤操作。
- 运行以下代码,克隆 Agent Assist 集成代码库并打开您的项目:
git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations cd salesforce/aa-lwc
- 运行以下命令,下载稍后将部署为静态资源的 UI 模块 JavaScript 文件。Salesforce 要求静态资源加载第三方 JavaScript。
npm run generate-static-resources npm install
第 3 步:设置 Salesforce 环境
您可以在特定环境(例如生产环境或开发环境)中集成 Agent Assist 界面模块。Salesforce 将这些环境称为“组织 (org)”。
使用 Salesforce CLI 配置组织
按照以下步骤操作,使用 Salesforce CLI 配置组织以实现智能助理集成。
- 运行以下代码,然后使用您通常使用的 Salesforce 登录详细信息对 CLI 进行身份验证。
npm run login
- 运行以下代码,将 LWC 部署到组织。
npm run deploy
第 4 步:创建外部客户端应用
Salesforce LWC 使用客户端凭据 OAuth 2.0 流程对您进行身份验证。外部客户端应用可启用客户端凭证流程。使用应用的使用方密钥和使用方密钥来配置 Salesforce LWC,以便通过 Salesforce 验证用户身份。
- 依次前往菜单栏 > 设置菜单,然后点击设置。在快速查找框中,输入外部客户端应用管理器。
- 依次点击外部客户端应用管理器 > 新建外部客户端应用 > 创建,然后输入以下信息。
- 外部客户端应用名称:lwc auth
- API 名称:lwc_auth
- 联系电子邮件地址:
your_email@example.com - API (Enable OAuth Settings) > Enable OAuth:已选中
- API (Enable OAuth Settings) > Callback 网址: https://login.salesforce.com/services/oauth2/callback
- API (Enable OAuth Settings) > Selected OAuth Scopes:访问身份网址服务
- API (Enable OAuth Settings) > Enable Client Credentials Flow:已选择
- 点击创建。
- 依次前往菜单栏 > 设置菜单,然后点击设置。在快速查找框中,输入外部客户端应用管理器。
- 依次点击外部客户端应用的名称 > 修改。
- 依次前往 OAuth 政策 > OAuth 流程和外部客户端应用增强。
- 确保选中启用客户端凭证流程。
- 在以此身份运行字段中,输入您的登录用户名。
- 点击保存。
- 依次前往菜单栏 > 设置菜单,然后点击设置。在快速查找框中,输入外部客户端应用管理器。
- 依次点击外部客户端应用的名称 > 修改。
- 依次前往 OAuth 设置 > 应用设置 > Consumer Key 和 Secret。
- 输入发送到您电子邮件地址的验证码。
- 将使用方密钥和使用方密钥复制到安全的地方。您将在后续步骤中用到这些信息。
建立 CORS 和内容安全政策
- 依次前往菜单栏 >“设置”菜单,然后点击设置。
- 在快速查找框中,输入 CORS,然后点击修改。
- 选择为 OAuth 端点启用 CORS。
- 点击保存。
- 依次前往菜单栏 >“设置”菜单,然后点击设置。
- 在快速查找框中,输入可信网址,然后点击新建可信网址。
- 输入 API 名称:ui_connector
- 输入您使用 Agent Assist 集成后端部署的界面连接器 Cloud Run 服务端点的 网址。您可以在 Cloud Run 控制台中找到此网址。例如:
https://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app。 - 选中 CSP 指令下的所有复选框。
- 点击保存并新建。
- 输入您使用 Agent Assist 集成后端部署的界面连接器 Cloud Run 服务端点的 网址。您可以在 Cloud Run 控制台中找到此网址。例如:
- 输入 API 名称:ui_connector_wss
- 输入您使用 Agent Assist 集成后端部署的界面连接器 Cloud Run 服务端点的 网址。您可以在 Cloud Run 控制台中找到此网址。将协议更改为 wss,以用于 WebSockets 流量。例如:
wss://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app。 - 选中 CSP 指令下的所有复选框。
- 点击保存并新建。
- 输入您使用 Agent Assist 集成后端部署的界面连接器 Cloud Run 服务端点的 网址。您可以在 Cloud Run 控制台中找到此网址。将协议更改为 wss,以用于 WebSockets 流量。例如:
- 输入 API 名称:salesforce_domain
- 输入您的 Salesforce 网域的 网址,格式如下:
https://<var>YOUR_SUBDOMAIN</var>.my.salesforce.com。 - 选中 CSP 指令下的所有复选框。
- 点击保存。
- 输入您的 Salesforce 网域的 网址,格式如下:
第 5 步:安装 Twilio Flex CTI 插件
Salesforce 提供 Salesforce Open CTI,以便将第三方软电话与您的 Salesforce 实例集成。
Twilio Flex CTI 使用 Salesforce Open CTI,让您可以在 Salesforce 实例中直接使用 Flex。按照 Twilio 的说明在 Salesforce 实例中设置 Twilio Flex CTI。
第 6 步:安装 Salesforce Lightning Web 组件
请按照以下步骤操作,使用 Lightning Experience 编辑器将 Salesforce Lightning Web 组件添加到联系人页面,以便在有新来电时打开 Twilio Flex CTI。
- 前往服务控制台,然后选择联系人。
- 选择相应联系人记录。
- 依次点击“设置”菜单 > 修改网页。
- 依次点击模板 > 更改。
- 选择标题和两个等分区域。
- 点击下一步。
- 将每个区域映射到新区域。
- 点击完成。
- 从组件侧边栏中,将
agentAssistContainerModule移入侧边栏。注意:npm deploy命令提供了此组件。 - 点击您在上一步中放置的组件,然后填写表单字段,如下所示,以添加配置详细信息。
- 端点:集成后端的界面连接器的网址。例如,Cloud Run 控制台中的网址,如:
https://<var>UI_CONNECTOR_ENDPOINT</var>.<var>GCP_REGION</var>.run.app。 - 功能:Agent Assist 功能。必须在对话配置文件中启用这些功能。一些可用的功能包括
CONVERSATION_SUMMARIZATION、KNOWLEDGE_ASSIST_V2和AGENT_COACHING。请注意,某些功能(例如SMART_REPLY)不适用于voice。 - 渠道:表示集成适用于
voice。 - 平台:指明平台为
twilio。 - conversationProfile:Agent Assist 对话配置文件资源名称。例如
projects/<var>GCP_PROJECT_ID</var>/locations/<var>GCP_REGION</var>/conversationProfiles/<var>CONVERSATION_PROFILE_ID</var> - consumerKey:第 3 步中的外部客户端使用方密钥。
- consumerSecret:第 3 步中的外部客户端应用使用方密钥。
- 端点:集成后端的界面连接器的网址。例如,Cloud Run 控制台中的网址,如:
第 7 步:测试集成
您可以通过拨打 Salesforce 呼叫中心的测试电话来测试语音集成。
- 通过 Service Console 登录 Twilio Flex。
- 拨打您的 Twilio Flex 号码。您在第 1 步中记下了此信息。
- 在服务控制台中,接听来电。屏幕应打开来电号码的新联系人页面或现有联系人页面。
- 如果这是新联系人页面,请保存相应联系人。当联系人页面加载时,Salesforce Lightning Web 组件应在边栏中加载。
- 测试对话双方,确保 Agent Assist 功能按您配置的方式运行。