Agentforce 360 平台开发基础

Salesforce Platform 是元数据驱动的应用开发平台,让你用无代码工具快速构建、用低代码工具增强、用代码实现无限定制。本文讲解平台与构建块、元数据的力量、Flow Builder 与 App Builder 等无代码/低代码工具,深入 Lightning Web Components、Apex 与 Node.js 等开发语言,并介绍 REST/SOAP 等 API、平台事件、Heroku 与 Agentforce Agents 如何扩展平台。...

📅 2026/10/7 ✍️ ponybai 🏷️ salesforce, headless

一、Salesforce 平台入门

slide_2

本单元介绍 Salesforce 平台开发的基础:什么是平台、它的构建块、如何在其上开发、示例应用,以及安装 Dreamhouse 应用。

学完本单元,你将能够:描述 Salesforce 平台、列出平台的优势,并定位 Sample App Gallery 查看平台功能。

Salesforce 平台是什么?

slide_4

Salesforce Platform 是扩展 CRM 系统能力与应用范围的应用开发平台。它最显著的特点是自带大量开箱即用的功能,让你几乎不用写代码(甚至完全不写)就能开始使用平台。低代码工具和自动化让组织里的任何人都能创建有效、安全的应用——管理员可以打造各种灵活功能,而程序员则专注于定制功能和编写更复杂的应用。

平台具备几个关键特性:多租户(共享基础设施、隔离数据)、元数据驱动(定制以元数据形式定义)、API 优先(一切可通过 API 访问)、可扩展(处理数十亿事务)。

平台构建块

slide_4

每个 Salesforce 应用都由相同的基础构建块组成:

  • 数据模型:对象(表,标准与自定义)、字段(列)、关系(Lookup、Master-Detail、Hierarchical)。
  • 业务逻辑:验证规则、公式、流程(无代码自动化)、Apex(程序化逻辑)。
  • 用户界面:页面布局、Lightning App Builder(拖拽式 UI)、Lightning Web Components(自定义组件)。
  • 集成:REST、SOAP、Metadata、Streaming、Tooling 等 API,以及外部服务。

这些构建块组合起来就构成完整的应用。平台不仅支撑 Sales Cloud、Service Cloud 等核心产品,还能让你从零构建满足特定业务需求的功能。

在平台上开发

slide_5

Salesforce 支持多种开发方式,可根据任务选择合适工具:

  • 声明式(无代码/低代码):Flow Builder 可视化自动化、App Builder 拖拽建 UI、Schema Builder 图形化设计数据模型——适合管理员、分析师、业务用户。
  • 程序化(代码):Apex 服务端逻辑(类似 Java)、Lightning Web Components 客户端 UI(JavaScript)、Salesforce CLI + VS Code 开发工具——适合专业开发者。

最常见的做法是混合:用声明式工具追求速度与可维护性,用代码处理复杂逻辑和自定义 UI。两种方式都产出元数据,平台对它们一视同仁。先点,需要时再加代码。

Salesforce 示例应用

slide_5

Salesforce 提供示例应用加速学习、启动你自己的开发。其中 Dreamhouse 是一个房产经纪应用,包含房源列表、经纪人管理、客户门户,展示了自定义对象、流程和 AI 功能,贯穿 Trailhead 各平台模块。其他示例应用还有 E-Bikes(产品与订单管理)、Recipes(Apex 代码示例与最佳实践)等。

示例应用的价值在于:看到真实、可运行代码中的最佳实践;理解构建块如何组合成完整应用;作为你自己项目的起点;可安装进 Trailhead Playground 进行动手学习。它们不只是演示,而是可学习、可借鉴的生产级代码。

安装 Dreamhouse 应用

slide_6

在 Trailhead Playground 中安装 Dreamhouse 应用:1) 启动 Playground → Playground Starter 应用;2) Install a Package 标签 → Package ID 粘贴 04t3h000004bhxlAAA;3) Install for All Users → 批准第三方访问;4) 等待安装完成;5) App Launcher → Dreamhouse → Settings → Import Data。

安装后即可探索:自定义对象(Property、Broker 等)、流程(房源创建)、Lightning 页面、AI 功能。Dreamhouse 展示了完整的 Salesforce 应用长什么样——也是你将要能构建的东西。

二、无代码开发

slide_7

本单元探索元数据如何驱动平台,以及无代码和低代码工具如何让每个人都能构建强大的自动化与应用。

学完本单元,你将能够:描述元数据驱动开发模型的好处,并定义无代码与低代码定制并举出示例。

元数据的力量

slide_9

元数据是"关于数据的数据"——承载客户、业务流程或其他任何你想收集信息的内容外壳。当你看 Salesforce 里的数据,你看到的其实是数据库的抽象,由平台元数据感知架构驱动。在这个抽象里,数据库表是对象、列是字段、行是记录、应用是支持特定业务功能的一组对象、字段和流程等功能。

元数据驱动开发模型是平台开发与外部开发的关键区别之一。因为平台元数据感知,它能自动生成大部分用户体验——对话框、记录列表、详情视图、表单等,这些在别的平台你得自己开发,在 Salesforce 里是免费的。你还免费获得创建、读取、更新、删除(CRUD/CRED)自定义对象记录的全部功能。这些预置功能把开发时间省下来,让你专注于更复杂的定制功能。

Dreamhouse 示例应用包含两个支撑核心功能的自定义对象——Brokers(合作经纪人信息)和 Properties(在售房源的照片与信息)。可用 Schema Builder 工具查看对象关系模型:Setup → 输入 Schema → Schema Builder → 选 Custom Objects → 勾选 Broker 和 Property → Auto-Layout。

无代码与低代码工具

slide_10

Salesforce 为不同技能水平和使用场景提供一整套工具:

  • 无代码工具(点击而非编码):Flow Builder(可视化流程自动化)、App Builder(拖拽建 UI)、Schema Builder(图形化数据模型设计)。
  • 低代码工具(少量编码):Prompt Builder(AI 提示模板编辑器)、External Services(声明式连接外部 API)、Einstein Bots(配置式对话 AI)。

平台哲学:用点击解决 80% 的需求,用代码处理独特的 20%。

无代码定制与自动化

slide_10

无代码工具无需编程,管理员和业务用户就能构建复杂的解决方案:

  • Flow Builder 是无代码自动化的核心:屏幕流(引导式用户交互)、记录触发流(记录变化时自动运行)、计划触发流(按日历运行)、自动启动流(被其他流程调用)。
  • App Builder 创建自定义用户界面:把标准与自定义组件拖到 Lightning 页面上,使用动态表单按条件显示/隐藏字段。
  • Schema Builder 可视化数据模型:查看所有对象及其关系,可视化创建对象、字段和关系。

所有无代码定制都产出元数据——可部署、可版本化、升级安全。

低代码工具与自动化

slide_10

低代码工具在最小化编码的同时,提供比纯无代码更强的灵活性和能力:

  • Prompt Builder:AI 内容生成,创建带合并字段的提示模板,把响应锚定在 Salesforce 数据(Data 360)上,用于流程、agent 和应用。
  • External Services:导入 OpenAPI/Swagger 规范注册外部服务,从流程中调用外部 API 而无需代码,可视化映射请求/响应字段。
  • Einstein Bots:对话式 AI,用对话配置构建聊天机器人,连接流程执行后端操作。

低代码弥合了无代码与专业代码之间的鸿沟——你不必从零编写一切就能获得强大能力。

三、用 Salesforce 语言编写代码

slide_12

本单元探索 Salesforce 开发的程序化一面:Lightning Web Components 用于 UI、Apex 用于服务端逻辑、Node.js 用于现代 JavaScript 工具。

学完本单元,你将能够:列出 Salesforce 开发语言、解释各语言的优势,并描述 Apex 如何支持开发。

了解你的选择

slide_13

当声明式工具到达极限时,Salesforce 提供多种程序化选择:

  • 服务端(在 Salesforce 服务器上运行):Apex(面向对象,类似 Java)、SOQL/SOSL(数据访问查询语言)。
  • 客户端(在浏览器中运行):Lightning Web Components(现代 JavaScript 框架)、Aura Components(旧版组件框架)。
  • 开发工具:Salesforce CLI、VS Code + Salesforce 扩展、SFDX 项目格式。

另外 Node.js 是一个异步、事件驱动的 JavaScript 运行时,Salesforce 用它做开发者工具(用 force:project:create 创建项目时带有一组 Node.js 脚本),用于格式化(Prettier)、代码检查(ESLint)、测试 LWC(Jest)等,但不在平台上用它编码。

选择依据:需要自定义 UI → LWC;需要服务端逻辑 → Apex;需要自动化测试 → Apex 测试类;需要实时事件 → Platform Events。你的代码与声明式定制并存——都产出平台管理的元数据。

Lightning Web Components

slide_14

Lightning Web Components(LWC) 是 Salesforce 的现代、基于标准的 UI 框架。它基于 Web 标准(自定义 HTML 元素 + JavaScript,使用原生浏览器 API,无重型框架),因此更快、更轻、更符合标准。关键特性:响应式数据绑定、组件组合、Lightning Data Service(无需写 Apex 即可读写 Salesforce 数据)、组件间通信。

开发者体验:用 VS Code + Salesforce 扩展本地开发,可部署到任意 org,用 Jest 单元测试、Selenium UI 测试,可打包分发到 AppExchange。

以 Dreamhouse 的房产地图组件为例:HTML 文件用 <template> 标签存放 HTML 片段,JavaScript 文件包含定义组件行为的方法,可能还有 .css 文件做样式(这个地图组件没有 .css)。LWC 还便于验证移动端就绪——用移动模拟器检查和调试,确保移动用户不会遇到问题。

Apex

slide_14

Apex 是 Salesforce 的服务端编程语言,语法类似 Java,针对 Lightning 平台优化。它能在 Salesforce 服务器上执行业务逻辑、用 SOQL 查询和 DML 操作数据、创建自定义 API 和 Web 服务、与外部系统集成。

关键特性:强类型、面向对象;受平台限额约束(防止资源垄断);在多租户环境中运行(自动隔离);内置测试框架(要求 75% 代码覆盖率)。

常见 Apex 模式:触发器(记录变化时执行逻辑)、类(可复用逻辑与服务层)、Batch Apex(异步处理大数据量)、REST/SOAP Web 服务(把逻辑暴露为 API)。

以 Dreamhouse 的地理编码为例:GeocodingAddress 和 Coordinates 内部类的属性用 @InvocableVariable 注解以向流程传数据,geocodeAddresses 方法用 @InvocableMethod 注解以便被流程调用,它通过 HTTP 调用第三方服务基于地址生成坐标。扩展 Flow 只是 Apex 的众多用法之一。

四、扩展 Agentforce 360 平台

slide_16

本单元探索如何通过 API、集成模式、平台事件、Heroku 和 Agentforce Agents 把平台扩展到原生能力之外。

学完本单元,你将能够:描述 API 如何集成外部系统、讨论 Heroku 平台的特性,并描述如何定制 Agentforce 以满足业务需求。

认识 Salesforce 平台 API

slide_18

API 是"结缔组织"——让任何东西都能与 Salesforce 通信。当你走向更程序化的后端开发,会发现一组强大的 API 让你以多种方式访问 Salesforce 数据。简单说,org 里的每个对象都有一个 API 名称让你访问该对象的数据(代码里的 __c 表示自定义对象或字段)。

常用 API 一览:SOAP API(用标准 SOAP 协议集成)、REST API(用标准 REST 协议访问对象)、Metadata API(管理定制、构建管理元数据模型的工具)、Tooling API(构建平台应用的自定义开发工具)、Marketing Cloud API(REST/SOAP 暴露营销功能)、Bulk API(加载、删除、异步查询大数据集)、Streaming API(安全高效地收发通知)、Connect REST API(为 Commerce、CMS 等构建 UI)、Pub/Sub API(发布订阅平台事件的单一接口)、GraphQL(单一端点一次性请求所有数据)。

其他集成 Salesforce 的选项

slide_18

API 不是集成 Salesforce 与外界的唯一方式。你可以用 API 在 Salesforce 内部同步数据,也可以把数据传入/传出到做 Salesforce 做不到之事的外部系统——例如与薪资应用集成,或用 DocuSign 让购房者安全签署过户文件。

其他集成方案包括:Heroku Connect(双向同步 Salesforce 与 Heroku Postgres 数据)、MuleSoft(Anypoint 平台的 API 主导连接)、External Services(用 OpenAPI 规范声明式调用外部 API)、Salesforce Connect(虚拟集成,实时访问外部数据而不存储)、Apex(自定义集成逻辑)。

平台事件

slide_19

平台事件(Platform Events) 是另一种集成类型,让 Salesforce 采用事件驱动架构。你可以把自定义事件消息发布到事件总线,订阅者实时接收事件,发布者与订阅者解耦。

例如:给侄子订生日礼物,礼物发货和送达时你会收到消息;或订阅的新闻源推送突发新闻。平台事件用流程、Flow 或 Apex 在 Salesforce 内外通信,也可通过 Salesforce API 连接外部应用。用例包括订单履行(通知外部系统)、线索分配(实时路由)、审计日志、系统集成等。事件驱动让系统实时响应变化,而不是轮询更新。

用 Heroku 释放应用

slide_19

API 既可用于 Salesforce 内部,也可用于外部系统;而 Heroku 专注于与外界交互。Heroku 是弹性扩展的解决方案,快速构建、部署和扩展 Web 应用。

Heroku 的一大优势是语言灵活性:Java 粉丝写 Java,Python 死忠写 Python,PHP 爱好者尽兴写 PHP。它构建在 AWS 上,标准 Web 开发中的很多基础设施顾虑都被代为处理;Heroku Connect 把你的 Salesforce 数据与 Heroku Postgres 数据统一起来,无需自己管理数据迁移。

以 eCars 示例应用为例(一个基于虚构电动汽车制造商的汽车销售与服务应用),客户通过面向公众的 Heroku Web 应用配置新车时,用 API 无缝地与 eCars 的 Salesforce 数据交互。

用 Agentforce Agents 释放生产力

slide_19

Agentforce 是一组集成的 AI 技术,把人类、应用、数据和 AI agent 的力量带入你的 Salesforce 生态,改变你的企业与世界互动的方式。Agentforce 自带大量开箱即用功能(常用的子 agent、使用新流程/提示/Apex 代码的动作)、优化 agent 的观察工具、测试 agent 性能的 Testing Center,全部由 Einstein Trust Layer 包裹以保护你的数据和客户。

可配置 Agentforce agents 做的事包括:客服 agent(为寻求支持的客户提供即时、数据驱动的帮助)、订单与物流管理 agent(处理订单查询、配送、追踪、退货退款)、销售 agent(管理线索、促进增销)、金融服务 agent(处理账单支付、争议、识别欺诈)、知识 agent(访问知识库提供文档)、账户与会员管理 agent(处理会员咨询、开户)。


文章来源:Trailhead - Agentforce 360 Platform Development Basics