跳转到正文
OmniChannels.ai

CRM

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

通过 API 和 Webhook 连接更新于

简而言之

Salesforce 通过 Flow HTTP Callout 或 Apex callout 调用 REST API 发送 WhatsApp 和短信,令牌存于 Named Credential,状态经 webhook 回写;无 AppExchange 包。

您可以做什么

  • 跟进新线索

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

  • 提醒客户预约

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

  • 商机阶段变化时发消息

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

  • 发送续约提醒

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

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

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

连接方式

通过 API 和 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. 1

    申请 API 访问权限

    申请测试权限并获取 API 令牌。测试发送只会发往您自己已验证的号码。

    指南: Authentication
  2. 2

    创建凭据

    在 Setup 中创建带自定义请求头 Authorization: Bearer <token> 的 External Credential,以及指向 https://api.broadnet.me 的 Named Credential,并通过权限集授予访问权限。

  3. 3

    添加 callout

    在 Flow Builder 中,使用 Named Credential 创建 POST /sms/sendSms 的 HTTP Callout 动作;对于 multipart 渠道发送,则编写 Apex 类。

    指南: SMS API
  4. 4

    从 flow 中触发

    在记录触发或定时 flow 中调用该动作,并把返回的消息 ID 保存到记录上。

  5. 5

    把状态带回来

    请我们的团队把您账户的 webhook 指向中间件或自动化工具,由其更新对应的 Salesforce 记录。

    指南: Webhooks and delivery statuses
  6. 6

    在沙盒中测试

    在沙盒中用带有您已验证号码的测试记录运行 flow,然后检查记录上的状态。

厂商文档

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

示例工作流程

一个典型请求如何从 Salesforce 传到您的客户,再返回。

  1. 01

    Salesforce Flow 或 Apex

    线索创建、阶段变化或到达续约日期

  2. 02

    OmniChannels.ai API

    通过 Named Credential 发起 HTTP callout

  3. 03

    客户手机

    短信或 WhatsApp 模板已送达

  4. 04

    送达状态 webhook

    推送到您的中间件或自动化工具

  5. 05

    更新 Salesforce

    状态或回复写入相关记录

1. Salesforce Flow 或 Apex: 线索创建、阶段变化或到达续约日期 2. OmniChannels.ai API: 通过 Named Credential 发起 HTTP callout 3. 客户手机: 短信或 WhatsApp 模板已送达 4. 送达状态 webhook: 推送到您的中间件或自动化工具 5. 更新 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 代码里,这样令牌会被加密,访问也可通过权限集控制。

获取 API 与 MCP 访问权限

请告诉我们您的渠道、国家和使用场景。工程师会签发测试凭证并验证您的测试号码。