连接 Salesforce
导入联系人记录,用你们真实的客户来构建人群。只需管理员在你们自己的 Salesforce 组织里创建一次只读的 External Client App。
你们的客户是谁,Salesforce 里记得清清楚楚。导入他们的联系人字段,人群才真正是你们的客户,而不只是一群看上去说得通的人。
从 Spring '26 版本起,Salesforce 不再允许任何组织新建 Connected App,所以现在注册的集成,都要用 External Client App。没有现成的 iMario 公共应用可以直接授权,需要你们组织的管理员自己建一个本地应用,iMario 用它读取数据,而且只读你选中的字段。
管理员一次性配置
-
在 Salesforce 里打开 Setup → 搜索 External Client App Manager → New External Client App。
-
填一个同事一看就认得出的名字,比如“iMario”,再填一个联系邮箱。
-
把 Distribution State 设为 Local。这样应用只留在你们组织内部,装不到其他任何地方。
-
在 API (Enable OAuth Settings) 下勾选 Enable OAuth,把 Callback URL 设为下面这个地址,一个字符都不能差:
https://api.imario.ai/api/connections/callback -
OAuth Scopes 只加下面这两项,别的都不要加:
权限范围 iMario 能读取的内容 Manage user data via APIs ( api)联系人记录和你选中的字段 Perform requests at any time ( refresh_token, offline_access)这样耗时较长的导入不会中途断掉 不要授予 Full access (
full)。iMario 不需要这个权限,也不会用它。 -
保持勾选 Require Proof Key for Code Exchange (PKCE)。iMario 会带上 PKCE challenge,所以保持默认就对了,不用为此降低安全要求。
-
点击 Create。然后重新打开这个应用,进入 Policies 标签页,点编辑,把刷新令牌策略设为 Refresh token is valid until revoked。
-
在 Settings 标签页里打开 Consumer Key and Secret,把两个值都复制下来。
在 iMario 里连接
- 在 Create audience 里点击 Connect a data system,选择 Salesforce。
- 粘贴第 8 步复制的 Consumer Key 和 Consumer Secret。
- 如果你们组织用的是 My Domain 域名,就把它填进去(比如
acme.my.salesforce.com)。留空的话,会通过login.salesforce.com登录。 - 点击 Connect to Salesforce,在 Salesforce 自己的页面上确认授权。
- 页面会列出你的联系人字段,并标出每个字段的填写完整度,这个比例是从一批真实联系人里抽样算出来的。勾选能描述你们客户的那些字段。
- 点击 Import。
iMario 读取的内容
只读联系人记录,而且只读你勾选的字段。每条记录会带上自己的 Salesforce ID 作为关联字段,再带上邮箱地址作为跨系统的别名。问卷回答或访谈内容,就是靠这两样落到同一个人身上的。这两项既不算回答,也不算人口统计属性。
业务机会、个案和活动历史,iMario 一概不读,也从不向 Salesforce 写入任何内容。
导入时,只有确实对应某个人口统计维度的字段才会改名,其余字段都保留原名。构建人群之前,字段映射要先经过你确认。
问题排查
提示“redirect_uri_mismatch”。Callback URL 是逐个字符比对的。检查末尾是不是多了斜杠,再确认填的就是第 4 步里的地址。
导入后一条记录都没有。连接用的那个用户,简档允许看什么,导入时就只能看到什么。确认授权的用户对联系人对象和你勾选的字段都有读取权限。
记录都导入了,字段却是空的。连接用户的简档受字段级安全性限制,看不到这些字段。遇到这种情况,Salesforce 不会报错,而是直接返回不带这些字段的记录。