通过预约预构建组件,新客户和现有客户可以进行预约。此组件使用出生日期收集预构建组件的自定义版本来收集预约日期,并使用电话号码收集和邮政编码收集预构建组件来收集有关用户和预约地点的信息。
预约原因和类型
此组件支持多种预约原因类别,并根据用户选择的原因提供不同类型的预约。
| 预约原因 | 可用的预约类型 |
|---|---|
| 贷款 | 线下、线上、手机 |
| 抵押贷款 | 线下、线上、手机 |
| 财富管理 | 线下、线上、手机 |
| 信用卡 | 线上、手机 |
| 其他 | 电话 |
您可以通过更新 prebuilt_components_arrange_appt_reason 自定义实体来修改预约类别。您可以通过更新每种预约类型的输入参数,为每个类别配置可用的预约类型。
限制
除了常见的预构建组件限制之外,此预构建组件还具有以下限制:
- 此组件不会加密任何数据。
对话示例
这些示例对话演示了此预构建组件在通过电话接听来电时处理的常见场景,这些场景会在对话开始时触发默认欢迎 intent 和第一个代理响应。
现有用户预约现场服务
- 代理识别出用户已作为现有用户通过身份验证。
- 用户提供预约原因,并选择预约面对面服务。
- 代理确认用户希望前往距离其注册地址最近的分行,并确认用户首选的日期和时间可用。
- 智能体确认时间和地点,并安排预约。
| 用户输入 | 智能体回答 |
|---|---|
| 在预约之前,我们会询问您几个问题。您能告诉我们您预约的原因吗? | |
| 我想找人咨询财富管理 | |
| 您想预约手机、视频通话还是前往我们的某个网点进行面对面咨询? | |
| 我想亲自去 | |
| 好的,您想在位于 1600 Amphitheatre Pkwy, Mountain View, CA 94043 的分行预约吗? | |
| 是 | |
| 请提供您偏好的预约日期。请说出您偏好的月份,然后说出日期和年份。请注意,我们的营业时间为周一至周五上午 9 点至下午 5 点,周六上午 9 点至下午 1 点。 | |
| 代理使用出生日期收集预构建组件收集用户的首选预约日期。 | |
| 太好了,我们已收集到您的首选日期。 请提供您的首选时间段。 |
|
| 上午 10 点 | |
| 您选择了上午 10:00。如要继续使用所选预约时间,请说“是”。 | |
| 是 | |
| 我们将预约于 2023 年 9 月 23 日上午 10:00 在银行地址 1600 Amphitheatre Pkwy, Mountain View, CA 94043 办理业务。这样可以吗? | |
| 是 | |
| 好的,我们已安排预约。您的确认码为 818452。您想再预约一次吗? | |
| 没有了 | |
| 感谢您与我们联系。祝您度过愉快的一天! |
新客户预约了多次
- 代理识别出用户之前未经过身份验证,并收集用户的电话号码。
- 用户请求进行线上预约,以讨论贷款事宜。
- 如果用户首选的日期和时间不可用,代理会向用户提供可用的时间段。
- 用户选择一个可用的时间段,预约即安排完成。
- 如果用户想预约第二次,智能体会安排预约并确认详细信息。
| 用户输入 | 智能体回答 |
|---|---|
| 代理使用电话号码收集预构建组件收集用户的电话号码。 | |
| 太好了,我们已收集完电话号码。 在预约之前,我们会询问您几个问题。您能告诉我们您预约的原因吗? |
|
| 我想获得贷款 | |
| 您想预约手机、视频通话还是到我们其中一家网点面谈? | |
| 虚拟预约没问题 | |
| 请提供您偏好的预约日期。请说出您偏好的月份,然后说出日期和年份。请注意,我们的营业时间为周一至周五上午 9 点至下午 5 点,周六上午 9 点至下午 1 点。 | |
| 代理使用出生日期收集预构建组件收集用户的首选预约日期。 | |
| 太好了,我们已收集到您的首选日期。 请提供您的首选时间段。 |
|
| 3 点对我来说比较合适 | |
| 您已选择下午 3:00。如要继续使用所选预约时间,请说“是”。 | |
| 是 | |
| 我们将为您预约顾问,时间为 2023-10-03 下午 3:00。对吗? | |
| 好的 | |
| 好的,我们已安排预约。您的确认码为 754731。 您想再预约一个时间吗? |
|
| 耶 | |
| 在预约之前,我们会询问您几个问题。您能告诉我们您预约的原因吗? | |
| 我需要预约办理信用卡 | |
| 您是否希望预约与我们的分支机构代表进行手机或视频通话? | |
| 电话 | |
| 请提供您偏好的预约日期。请说出您偏好的月份,然后说出日期和年份。请注意,我们的营业时间为周一至周五上午 9 点至下午 5 点,周六上午 9 点至下午 1 点。 | |
| 代理使用出生日期收集预构建组件收集用户的首选预约日期。 | |
| 太好了,我们已收集到您的首选日期。 请提供您的首选时间段。 |
|
| 早上 8 点可以吗? | |
| 您选择了上午 8 点。如要继续使用所选预约时间,请说“是”。 | |
| 是 | |
| 抱歉,所选时间段不可用。我们有 2023 年 10 月 6 日上午 11:30、中午 12:30、下午 1:30 和下午 3:00 的空档。您想更改时间段,还是预约其他日期? | |
| 好的,那就 1:30 吧 | |
| 您已选择下午 1:30。如要继续使用所选预约时间,请说“是”。 | |
| 是 | |
| 我们将安排您于 2023-10-06 下午 01:30 与我们的顾问会谈。对吗? | |
| 没错 | |
| 好的,我们已安排预约。您的确认码为 714637。 您想再预约一个时间吗? |
|
| 没有了 | |
| 感谢您与我们联系。祝您度过愉快的一天! |
命名规则
此预构建组件使用以下命名惯例:
| 功能 | 格式 | 示例 |
|---|---|---|
| Flow | [Component Name] | 安排预约 |
| 组件特定 intent | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_arrange_appt_change_date_slot |
| 实体类型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_arrange_appt_reason |
| 网络钩子 | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_arrange_appointment:submit_appointment |
输入参数
输入参数用于配置组件行为。流程中的条件使用这些参数来确定组件行为。您可以在组件的起始页面上设置流级作用域参数,也可以通过调用流或在起始页面上设置会话级范围的参数。
此预构建组件接受以下输入参数:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | (可选)用于身份验证的客户注册手机号码。 | 字符串 |
| $session.params.auth_level | (可选)指明调用方的身份验证级别。 | 整数 |
| $flow.all_appointment_type | 指定预约原因列表,这些原因适用于所有类型的预约。默认值为 ["loans", "wealth"]。 |
列表(字符串) |
| $flow.video_phone_appointment_type | 指定预约原因列表,其中包含所有类型的预约。默认值为 ["cards"]。 |
列表(字符串) |
| $flow.appointment_services | 指定不需要分支机构位置且不会从用户处收集分支机构位置的预约类型列表。默认值为 ["video", "phone"]。 |
列表(字符串) |
| $flow.working_hours | 指定分行的营业时间,例如 "Monday to Friday: 9 AM to 5 PM, Saturday: 9 AM to 1 PM"。 |
字符串 |
| $session.params.arrange_appointment_max_days | 指定当前日期之后允许预约的最大天数。默认情况下,此值为 90,表示预约日期不得晚于当前日期之后的 90 天。此参数在起始页 true 路由中设置。 |
整数 |
| flow.max_retry_count | 指定从用户收集信息时允许的重试次数。默认值为 3。 |
整数 |
如需为此组件配置输入参数,请展开以查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建标签页。
- 在流部分中点击导入的组件。
- 点击页面部分中的“Start Page”。
- 点击“Start Page”中的 true 路由。
- 在“Route”(路线)窗口中,根据需要修改参数预设值。
- 点击保存。
输出参数
输出参数是退出组件后仍会保持活跃状态的会话参数。这些参数包含组件收集的重要信息。此预构建组件会为以下输出参数提供值:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| phone_number | 用户的本地手机号码(不含国家/地区代码),用于识别用户。 | 字符串 |
| transfer_reason | 此参数表示流程退出的原因(如果未成功)。返回的值为以下之一:agent:用户在对话期间的某个时间点请求了人工客服。denial_of_information:用户拒绝分享组件请求的信息。max_no_input:对话达到了无输入事件的最大重试次数。请参阅无输入内置事件。max_no_match:对话达到了不匹配事件的重试次数上限。请参阅不匹配内置事件。webhook_error:发生了 webhook 错误。请参阅 webhook.error 内置事件。webhook_not_found:网络钩子网址无法访问。请参阅 webhook.error.not-found 内置事件。 |
字符串 |
基本设置
如需设置此预构建组件,请执行以下操作:
- 导入预构建组件。
- 使用描述外部服务的设置来配置提供的灵活 webhook。请参阅网络钩子设置。
Webhook 设置
如需使用此组件,您必须配置随附的灵活网络钩子,以便从外部服务中检索必要的信息。
获取账号
借助 prebuilt_components_arrange_appointment:get_account webhook,您可以检索所提供手机号码的账号详细信息(如果存在已注册的账号)。
API 请求参数
该组件提供以下参数作为 API 请求的输入:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于识别用户。 | 字符串 |
API 响应参数
该组件会从 API 响应中提取以下参数:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| account_count | 与注册手机号码关联的账号数量。 | 整数 |
| cards_count | 与注册手机号码关联的卡数量。 | 整数 |
| loans_count | 与注册手机号码关联的贷款数量。 | 整数 |
| mortgage_count | 与注册手机号码关联的抵押贷款数量。 | 整数 |
| branch_code | 与注册手机号码关联的分行代码,用于标识唯一的分行位置。 | 字符串 |
如需为此组件配置“获取账号”Webhook,请展开查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_arrange_appointment:get_account webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子设置正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
获取分支
prebuilt_components_arrange_appointment:get_branch webhook 会使用分行代码检索有关分行位置的信息。
API 请求参数
该组件提供以下参数作为 API 请求的输入:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $flow.branch_code | 用于标识唯一分行位置的分行代码。 | 字符串 |
API 响应参数
该组件会从 API 响应中提取以下参数:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| branch_address | 分支机构的地址。 | 字符串 |
如需为此组件配置“获取分支”Webhook,请展开以查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_arrange_appointment:get_branch webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子设置正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
可用的分支机构
prebuilt_components_arrange_appointment:available_branch webhook 会使用邮政编码检索最近的分行位置。
API 请求参数
该组件提供以下参数作为 API 请求的输入:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $flow.zip_code | 用户提供的邮政编码。 | 字符串 |
API 响应参数
该组件会从 API 响应中提取以下参数:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| branch_address | 分支机构的地址。 | 字符串 |
如需为此组件配置可用分支 webhook,请展开以查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_arrange_appointment:available_branch webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子设置正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
获取可预约时段
prebuilt_components_arrange_appointment:get_available_slots webhook 会检查用户首选日期和预约类型的可用时间段。
API 请求参数
该组件提供以下参数作为 API 请求的输入:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $flow.preferred_date | 用户提供的首选预约日期,格式为“YYYY-MM-DD”。 | 字符串 |
| $flow.appointment_type | 预约的预约类型。 | 字符串 |
| $flow.branch_code | 分行代码,用于标识用户选择的唯一分行位置。 | 字符串 |
API 响应参数
该组件会从 API 响应中提取以下参数:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| available_slots | 指定日期可预约的时间列表,采用“HH:MM XM”格式,例如 ["09:00 AM", "2:30 PM"]。如果没有可用时段,此参数将是一个空列表 []。 |
列表(字符串) |
如需为此组件配置“获取可用时段”Webhook,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_arrange_appointment:get_available_slots webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子设置正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
提交预约
prebuilt_components_arrange_appointment:submit_appointment webhook 允许用户根据所选日期、时间、分支、预约原因和预约类型安排预约。
API 请求参数
该组件提供以下参数作为 API 请求的输入:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于识别用户并将预约与其账号相关联。 | 字符串 |
| $flow.preferred_date | 用户提供的首选预约日期,格式为“YYYY-MM-DD”。 | 字符串 |
| $flow.preferred_slot | 用户提供的首选预约时间,采用“HH:MM XM”格式。 | 字符串 |
| $flow.appointment_reason | 预约的预约原因。 | 字符串 |
| $flow.appointment_type | 预约的预约类型。 | 字符串 |
| $flow.branch_code | 分行代码,用于标识用户提供的唯一分行位置(如果需要)。 | 字符串 |
API 响应参数
该组件会从 API 响应中提取以下参数:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| request_number | 已安排预约的请求编号。 | 整数 |
如需为此组件配置“提交预约”Webhook,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_arrange_appointment:submit_appointment webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子设置正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
完成
此预构建组件及其 webhook 现已设置完毕,可以进行测试。