
简介
3CX 提供了与 Salesforce 的 CRM 集成。该集成是在 3CX 服务端生效,非常简单直观。Salesforce 与 3CX 的集成具有以下功能:
- 联系人同步 – 当有电话呼入时,系统会触发到 CRM 查找联系人的机制,并将查找到的联系人信息添加到 3CX 联系人中。同时在你接收到的这通通话上会显示该联系人的姓名。
- 呼叫弹屏 – 当使用 3CX 网页客户端,当有来自 CRM 的呼叫,系统会自动弹出到 CRM 的联系人页面。
- 呼叫记录 – 与客户的呼叫会在 CRM 里记录。
- 点击拨号 – 在 Salesforce 点击号码后直接使用 3CX 外呼,需使用 点击拨号 插件。
接下来我们将演示如何一步一步对接 3CX 和 Salesforce。
Salesforce 配置
通用配置
登录 Salesforce 的账户,或者创建一个 开发者账户 。需要注意的是:Salesforce 账户需要开启 REST API 功能。该功能只可以在 Salesforce 的 Developer, Unlimited, Enterprise 以及一些 Professional 版本上启用。
登录到 Salesforce 后点击右上角的齿轮图标,点击 “Setup” 。

在左边的导航栏,PLATFORM TOOLS 区域下选择 “Apps > App Manager“。点击 网页上的 “New Connected App” 按钮。输入 App 的名称,联系人邮箱点击保存。这里以 CXPBX 为例。

向下滚动到 API(Enable OAuth Settings) 并勾上 “Enable OAuth Settings” 复选框。并在 Callback URL 里填入:https://localhost/callback
。在 Selected OAuth Scopes 中将以下几项选到右边:
- Access and manage your data (api).
- Access your basic information.
- Access to your unique identifier (openid).
- Full Access.
- Perform requests on your behalf at any time.
- Provide access to your data via the Web.
设置完后点击保存。
接下来在 “Apps > App manager” 中找到我们创建的 App,点击 View:

复制 API(Enable OAuth Settings) 下方的 “Consumer key” 和 “Consumer secret” – 后面我们需要将他们复制到 3CX 中。

在最上方点击 “Manage“,然后点击 “Edit Policies“,找到 OAuth policies 区域下面将权限设置为 “All users may self-authorize“。点击保存。

点击右上角头像的 Settings,在左侧导航栏选择 “Reset My Security Token“,点击 Reset Securtiy Token,新的 token 会发送到你的邮箱中。

呼叫记录
如果你想将 3CX 的通话记录到 Salesforce 中,你需要在用户专用字段中填写分机号。这样,3CX 可以将接收呼叫的坐席的分机号映射到 Salesforce 的用户。
点击右上角的齿轮图标 > “Setup“


在侧边栏的 ADMINISTRATION 下面选择 “Users > Users“。打开一个用户,点击 Edit:
在 Extension 字段填入用户的分机号:

3CX CRM 服务端配置
联系人批判策略
Salesforce 的查找要求使用号码的最后 4 或 7 位,任何其他位数查找,Salesforce 都不会返回任何数据。
在 3CX 管理控制台 – 高级 – 通讯录 – 选项 – 将来电匹配到通讯录条目设置为 4 或 7.

通用设置
进入 3CX 管理控制台 > 设置 > CRM 整合 – 服务端,在下拉菜单里选择 Salesforce。
填入 Salesforce 的信息,其中包含我们在上面创建的:

呼叫记录
如果要启用呼叫记录,勾选 Enable Call Journaling 选项。⚠该功能只在 V16 及更新版本可用。

呼叫记录的参数:
- “Call Subject”** – 呼叫的主题。
- “Answered Inbound Call” – 对于接听来电的描述。
- “Missed Call” – 对于未接来电的描述。
- “Answered Outbound Call” – 对于接听的外呼进行描述。
- “Unanswered Outbound Call” – 对于未接通的外呼描述。
你也可以在 “Call Journaling” 中加入参数,参数都用中括号括起: [参数]
,比如 [Number]
。可以使用的参数有以下几个:
- CallType – 呼叫的类型,有 “Inbound” “Outbound” “Missed” 和 “Unanswered”。
- Number – 外部联系人的号码。呼出时候拨打的号码,呼入时候的来电号码。
- Agent – 接听呼叫的分机号。
- Duration – 呼叫时长,格式是 “hh:mm:ss”。
- DurationTimeSpan – 呼叫时长记录为 TimeSpan 对象,使用用户自定义的格式。
- DateTime – 呼叫开始的日期和时间,本地时区,格式为 3CX 服务器的本地时区。
- CasllStartTimeLocal – 呼叫开始的日期和时间,本地时区,使用用户自定义的格式记录为 Datetime 对象。
- CallStartTimeUTC – 呼叫开始的日期和时间,UTC 时区,使用用户自定义的格式记录为 Datetime 对象。
- CallEndTimeLocal – 呼叫结束的日期和时间,本地时区,使用用户自定义的格式记录为 Datetime 对象。
- CallEndTimeUTC – 呼叫结束的日期和时间,UTC 时区,使用用户自定义的格式记录为 Datetime 对象。
Contact Creation
当来电的是 CRM 中不存在的未知号码时,会在 CRM 中自动创建联系人。创建联系人的时候会使用下列参数:

- “New Contact First Name” – 自动创建联系人的名字。
- “New Contact First Name” – 自动创建联系人的姓氏。
这里你也可以使用变量:
- Number – 外部联系人的号码。呼出时候拨打的号码,呼入时候的来电号码。