---
title: "Salesforce + OmniChannels.ai：用 Flow 和 Apex 向客户发消息"
description: "通过 Salesforce Flow HTTP Callout 或 Apex 调用 OmniChannels.ai API 发送 WhatsApp 和短信，并把送达状态回写到 Salesforce 记录。"
canonical: "https://omnichannels.ai/zh/integrations/salesforce/"
language: "zh"
updated: "2026-10-10"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
---

# Salesforce + OmniChannels.ai：用 Flow 和 Apex 向客户发消息

Canonical: https://omnichannels.ai/zh/integrations/salesforce/
Language: zh
Publisher: OmniChannels.ai by BroadNet Technologies

**简而言之:** Salesforce 通过 Flow HTTP Callout 或 Apex callout 调用 REST API 发送 WhatsApp 和短信，令牌存于 Named Credential，状态经 webhook 回写；无 AppExchange 包。

通过 API 和 Webhook 连接

## 您可以做什么

### 跟进新线索

网页表单生成线索后，由记录触发的 flow 向线索的手机号发送短信或 WhatsApp 模板（前提是对方已同意接收）。

### 提醒客户预约

基于事件、服务预约或自定义对象的定时路径，在到访前发送提醒。

### 商机阶段变化时发消息

当商机进入「赢单」等阶段时，向主要联系人发送欢迎或上线引导消息。

### 发送续约提醒

定时 flow 查找临近续约日期的合同或资产，并发送已审核的 WhatsApp 模板。

### 在记录上登记状态与回复

中间件从我们的 webhook 接收状态和入站回复，并在相关记录上创建任务或更新字段。

## 连接方式

出站消息由 Salesforce 直接调用我们的 API。创建一个添加 Authorization: Bearer 请求头的 External Credential，以及指向 https://api.broadnet.me 的 Named Credential，然后使用 Flow HTTP Callout 动作或 Apex callout。Flow 中的 HTTP Callout 适合 POST /sms/sendSms 这类 JSON 请求。群发和大多数其他渠道的发送使用 multipart/form-data，通常需要 Apex 或中间加一层自动化工具。

回传方向上，我们的平台把送达状态和入站消息推送到您账户上配置的唯一 webhook URL。将其指向您自己掌控的中间件，或 n8n、Make、Zapier 等自动化工具，由其匹配您保存的消息 ID，并通过 Salesforce REST API 或连接器更新 Salesforce。

- 凭据：Named Credential 加保存 Bearer 令牌的 External Credential
- JSON 请求用 Flow HTTP Callout；multipart 和复杂逻辑用 Apex
- 把返回的消息 ID 存在记录上，以便日后匹配状态
- 24 小时窗口之外由企业发起的消息需使用已审核的 WhatsApp 模板
- Callout 受 Salesforce 限额约束，请用批处理作业群发，而不是逐条记录发送

## 设置步骤

1. **申请 API 访问权限:** 申请测试权限并获取 API 令牌。测试发送只会发往您自己已验证的号码。 (指南: https://omnichannels.ai/developers/authentication/)
2. **创建凭据:** 在 Setup 中创建带自定义请求头 Authorization: Bearer <token> 的 External Credential，以及指向 https://api.broadnet.me 的 Named Credential，并通过权限集授予访问权限。
3. **添加 callout:** 在 Flow Builder 中，使用 Named Credential 创建 POST /sms/sendSms 的 HTTP Callout 动作；对于 multipart 渠道发送，则编写 Apex 类。 (指南: https://omnichannels.ai/developers/sms/)
4. **从 flow 中触发:** 在记录触发或定时 flow 中调用该动作，并把返回的消息 ID 保存到记录上。
5. **把状态带回来:** 请我们的团队把您账户的 webhook 指向中间件或自动化工具，由其更新对应的 Salesforce 记录。 (指南: https://omnichannels.ai/developers/webhooks/)
6. **在沙盒中测试:** 在沙盒中用带有您已验证号码的测试记录运行 flow，然后检查记录上的状态。

## 示例工作流程

Salesforce Flow 或 Apex (线索创建、阶段变化或到达续约日期) → OmniChannels.ai API (通过 Named Credential 发起 HTTP callout) → 客户手机 (短信或 WhatsApp 模板已送达) → 送达状态 webhook (推送到您的中间件或自动化工具) → 更新 Salesforce (状态或回复写入相关记录)

## 常见问题

### AppExchange 上有 OmniChannels.ai 的安装包吗？

没有。Salesforce 使用自身的 HTTP callout 功能（Flow HTTP Callout 或 Apex），通过保存您令牌的 Named Credential 调用我们公开的 REST API。

### Flow 不写代码就能发送所有渠道吗？

Flow HTTP Callout 适合单条短信这类 JSON 请求。群发和大多数其他渠道的发送使用 multipart/form-data，通常需要 Apex callout 或中间加一层自动化工具。

### 我们的 webhook 能直接写入 Salesforce 吗？

无法以可用的形式直接写入，因为载荷字段随渠道而异，需要映射到您的记录。请发送到中间件或自动化工具，由其映射字段并调用 Salesforce API。

### API 令牌应该存放在哪里？

存放在 Named Credential 引用的 External Credential 中，切勿放在 flow 变量或 Apex 代码里，这样令牌会被加密，访问也可通过权限集控制。

## 开发者指南

- https://omnichannels.ai/developers/authentication/
- https://omnichannels.ai/developers/sms/
- https://omnichannels.ai/developers/webhooks/
- https://omnichannels.ai/developers/openapi/

## 厂商文档

- [Named Credentials — Salesforce Help](https://help.salesforce.com/s/articleView?id=sf.named_credentials_about.htm&type=5)
- [Invoking callouts using Apex — Apex Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_callouts.htm)

## 相关集成

- https://omnichannels.ai/zh/integrations/hubspot/
- https://omnichannels.ai/zh/integrations/dynamics-365/
- https://omnichannels.ai/zh/integrations/n8n/
- https://omnichannels.ai/zh/integrations/zapier/

Salesforce 是其所有者的商标。OmniChannels.ai 与 Salesforce 无关联，也未获得 Salesforce 的认可；本页介绍的是利用 Salesforce 自身的 MCP、HTTP 或 Webhook 功能建立的连接。

更新于: 2026-10-10