一、开始使用 External Services
External Services 让你声明式(无需代码)集成外部托管的 REST API。本单元介绍 External Services 特性、关键术语(外部 web 服务、API 规范、invocable actions、Flow Builder),并讲解从注册 API 规范到运行时调用外部服务的完整六步工作流。
学习目标
完成本单元后,你将能够:解释 External Services 特性及什么是外部服务;描述在 Salesforce 中注册和使用外部服务的高层工作流。
为什么需要 External Services?
客户期望无缝体验——即使这些体验跨越多个平台和服务。External Services 让你声明式(无需代码!)集成外部托管、执行业务操作或计算的服务。
可集成的第三方服务示例:账户详情页的信用评分、折扣资格验证、数字支付服务、地图服务与可视化工具、Slack 实时订单通知、欺诈预防与身份验证、全渠道零售、Google 服务、政府 API、CDC、世界银行数据。只要有带 OpenAPI 规范的 REST API,External Services 就能把它带进你的 Salesforce org。
External Services 实战
两个真实用例:
- 自动用户配置——注册外部薪资应用为 External Service,操作转化为 invocable actions,构建流:新用户创建时自动启动流,把用户添加为薪资应用的协作者(获得考勤和薪资数据访问权限)。
- 下单时信用验证——注册信用验证服务,构建流接收订单金额和信用条款作为输入,调用信用服务,根据响应更新账户信用条款。
两个场景都零自定义代码:注册 → Actions → Flow → 运行时 callout,全部声明式,全部在 Salesforce 内。
术语澄清
几个易混淆的术语:
- External Services(大写)——Salesforce 产品,通过 OpenAPI 规范注册外部 web 服务,把操作带入 Salesforce 作为 invocable actions 供 Flow Builder 使用。
- 外部 web 服务(小写)——任何托管在 Salesforce 之外的功能、动作或流程,必须是基于 REST 的 HTTPS API。
- API 规范(API Spec)——JSON 格式的 OpenAPI 文件,描述 API 能做什么——输入、输出、端点、认证,人机皆可读。
- Invocable Actions——Flow Builder 和 Einstein Bots 中可用的声明式构建块,由 External Services 把注册的 API 操作转化而来。
- Flow Builder——点选工具,构建收集数据并执行操作的流——现在包括外部服务调用。
六步工作流
External Services 遵循六步工作流:
- 外部提供者托管一个基于 REST 的 API(如银行的信用检查服务)
- 提供者或开发者分享描述 API 能力的 JSON API 规范
- 管理员创建 Named Credential——用 API URL 认证 web 服务端点
- 管理员用 Named Credential 和 API 规范注册 web 服务,External Services 导入操作 → 创建 invocable actions
- 管理员用 Flow Builder 访问 invocable actions 构建流
- 运行时:流向 web 服务端点发送 callout → web 服务返回输出 → Salesforce 捕获响应供流使用
资源(单元一)
继续学习:Salesforce Help「External Services」、Trailhead「Build Flows with Flow Builder」。下一步:深入 API 规范,学习什么是有效且受支持的 schema。
二、定义 External Service 的 API 规范
API 规范是桥接外部 web 服务和 Salesforce 的关键文档。本单元学习什么是 schema 定义、为什么重要,以及什么让 API 规范既有效(符合 OpenAPI 标准)又受支持(满足 External Services 特定要求)。
学习目标(单元二)
完成本单元后,你将能够:描述 API 规范的目的;解释受支持的 External Services schema 定义的要素;列举三个会导致 API 规范失败的问题。
为什么需要 Schema 定义?
API 规范包含描述 API 能力的 schema 定义。即使不是你来创建,理解它也是必需的。API 规范包含:
- Schema 定义——org 调用外部服务的输入输出类型(如 ID 为数字输入、名称为文本输出)。
- 端点信息——API 所在的 URL。
- 认证参数——如何安全连接(通常通过 Setup 里的 Named Credential)。
示例:一个虚构的银行 API 支持四个操作——GET(检索账户)、POST(新增)、PUT(更新)、DELETE(删除)。每个操作在规范中描述其 HTTP 方法、路径、参数和响应格式。规范人可读,也结构化供机器处理。
什么是有效且受支持的 Schema?
External Services 成功消费 API 规范需满足两层要求:
- 第一层:Schema 验证(OpenAPI 规则)——schema 必须机器可读,遵循 OpenAPI 规范的结构、语法、逻辑一致性。结构错误 → API 无法通信 → External Services 无法摄取。
- 第二层:受支持的 External Services Schema——External Services 的特定要求,如文件大小超限、对象数量超限、操作数量超限。
两层都必须通过才能成功注册。构建 API 规范前,先查阅 External Services Considerations 文档。
Schema 验证入门
Schema 验证是第一关——每个 API 规范必须通过的结构、逻辑、语法检查。为什么重要:schema 人可读但也必须机器可读,必须遵循逻辑结构,结构错误 → 错误和异常 → External Services 无法摄取。
OpenAPI 规范定义了这些通用规则,标准化了 API 描述方式,省去调用外部 web 服务的猜测。关键验证点:所有必填字段存在且命名正确、数据类型匹配期望格式、端点是有效 URL、参数正确定义类型和必填/可选标记、响应结构完整。
受支持的 External Services Schema
除 OpenAPI 验证外,External Services 有自己的特定要求。常见导致注册失败的原因:
- 文件大小——规范超过最大文件大小,解决:拆分成多个小规范。
- 对象限制——schema 定义对象过多,解决:只注册真正需要的操作。
- 操作限制——定义的操作过多,解决:优先注册核心操作。
- 不支持的数据类型——用了 External Services 不识别的类型,解决:映射到支持的类型。
- 缺少认证——Named Credential 未正确配置,解决:注册前验证凭证。
始终先查阅 External Services Considerations 帮助文档。
资源(单元二)
继续学习:Salesforce Help「Register an External Service」「External Services Considerations」、Swagger Open API(schema 工具和文档)、Salesforce Developer「Apex Reserved Keywords」(命名操作和参数相关)。现在你已拥有完整的 External Services 工具包:理解工作流、定义有效 schema、声明式集成外部 API。













