> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# ERPNext

使用下面的 [webhook 工具](/docs/zh/reception-ai/integrations/webhooks)，接待员可以识别已是 ERPNext 潜在客户的来电者，将新来电者登记为潜在客户并记录姓名、电话号码和需求备注，还可以在现有潜在客户下留言，方便销售团队回电。ERPNext 和 Frappe 框架支持静态 API 密钥、密钥以及 JSON 请求体，因此可用于 Frappe Cloud 和自行托管的网站。

## 开始前

### 创建 API 用户

在 ERPNext 中，为 Reception.ai 创建一个用户，例如 `reception@yourcompany.com`，并只授予 **Sales User** 角色。API 请求将使用该用户的权限执行，因此不要使用管理员账户。

### 生成密钥

打开该用户，选择 **Settings** 标签页，展开 **API Access**，然后选择 **Generate Keys**。立即从弹窗复制 **API Secret**：ERPNext 只会显示一次。**API Key** 会继续显示在同一部分中。

下方每个工具都会发送名为 `Authorization` 的请求标头，其值为 `token API_KEY:API_SECRET`，即用冒号连接密钥和密钥。将其 **Type** 设为 **Secret**。

> **Warning**
>
> 该密钥和密钥可读取和更改 **Sales User** 角色允许的一切内容。请勿将它们放在
> 共享文档中；如果泄露，请再次选择 **Generate Keys** 进行更换。

### 查找站点地址

工具的 URL 应以你在浏览器中打开 ERPNext 时使用的地址开头。下表使用 `https://YOUR-SITE.example.com`；请替换为自己的地址。

## 创建工具

对于每个工具，前往 **Integrations**，选择 **Add integration**，选择 **Webhook Tool**，并将 **Assign to agents** 设为 **Receptionist**。对于下方标为“Always”的每个参数，将 **Value** 设为 **Fixed value**。

### 查找潜在客户

| 字段       | 值                                                                                                                                                                                                        |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **名称**   | `find_erpnext_lead`                                                                                                                                                                                      |
| **描述**   | “按电话号码在潜在客户中查找来电者。请在通话开始时使用，以确认对方之前是否联系过我们。”                                                                                                                                                             |
| **方法**   | GET                                                                                                                                                                                                      |
| **URL**  | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                        |
| **请求标头** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                              |
| **查询参数** | `or_filters`（字符串，必填）：“根据来电者号码后 7 位进行筛选，格式必须完全如 `[["mobile_no","like","%5550123%"],["phone","like","%5550123%"]]`。”  `fields`（字符串）：始终为 `["name","lead_name","status"]`。  `limit_page_length`（整数）：始终为 `5`。 |

### 登记新潜在客户

| 字段       | 值                                                                                                                                                                                                              |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **名称**   | `create_erpnext_lead`                                                                                                                                                                                          |
| **描述**   | “当 `find_erpnext_lead` 未找到来电者时，将其登记为新潜在客户。”                                                                                                                                                                    |
| **方法**   | POST                                                                                                                                                                                                           |
| **URL**  | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                              |
| **请求标头** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                    |
| **正文参数** | `first_name`（字符串，必填）：“来电者的名字。”  `last_name`（字符串）：“来电者的姓氏。”  `mobile_no`（字符串，必填）：“来电者的国际格式电话号码，例如 +14155550123。”  `email_id`（字符串）：“来电者提供的电子邮箱地址。”  `lead_owner`（字符串）：始终为负责回电联系新潜在客户的销售人员邮箱地址。  `notes`（数组）：见下文。 |

如需设置潜在客户来源，请将 `source`（字符串）添加为固定值，且必须与某条 **Lead Source** 记录完全一致。在 ERPNext 16 及更高版本中，该字段改为 `utm_source`，且必须匹配一条 **UTM Source** 记录。

`notes` 会填充潜在客户的 **Notes** 标签页。将描述设为“仅发送 1 个项目，内容为来电者的需求。”在 **Each item** 下选择 `object`，然后针对以下每项选择 **Add field**：

* `note`（字符串，必填）：“来电者的需求，以及希望何时回电。”
* `added_by`（字符串）：始终为 API 用户的邮箱地址。

### 记录通话详情

| 字段       | 值                                                                                                                                                                                                                                            |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **名称**   | `add_erpnext_lead_comment`                                                                                                                                                                                                                   |
| **描述**   | “在来电者的潜在客户记录下留言，说明其需求。若 `find_erpnext_lead` 找到来电者，请使用该工具，并提供潜在客户名称，例如 CRM-LEAD-2026-00012。”                                                                                                                                                  |
| **方法**   | POST                                                                                                                                                                                                                                         |
| **URL**  | `https://YOUR-SITE.example.com/api/method/frappe.desk.form.utils.add_comment`                                                                                                                                                                |
| **请求标头** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                  |
| **正文参数** | `reference_doctype`（字符串）：始终为 `Lead`。  `reference_name`（字符串，必填）：“来自 `find_erpnext_lead` 或 `create_erpnext_lead` 的潜在客户名称。”  `content`（字符串，必填）：“来电者的需求，以及希望何时回电。”  `comment_email`（字符串）：始终为 API 用户的邮箱地址。  `comment_by`（字符串）：始终为 `Reception.ai`。 |

在每个工具中选择 **Enable**，然后以请求回电的新来电者身份[测试接待员](/docs/zh/reception-ai/receptionist/testing)。潜在客户会出现在 **Lead** 列表中，归属对应销售人员，并附有接待员的评论。

> **Tip**
>
> 为来电者添加一项[流程](/docs/zh/reception-ai/receptionist/rules-and-procedures)：先查找潜在客户；如果未找到，
> 则登记并添加备注；如果已找到，则在该潜在客户记录中记录通话详情。添加一条规则，要求接待员绝不向来电者复述潜在客户记录。

> **Warning**
>
> 接待员会根据对话编写搜索筛选条件，因此来电者可能试图让它搜索其他人的潜在客户。
> 该工具最多只会返回 5 个姓名和状态，但仍应保留上述规则。如果 **Sales User** 提供了超出预期的访问权限，
> 例如访问客户和报价单，请创建一个只能读取、创建和评论潜在客户的自定义角色。

## 限制

* 搜索会匹配号码的后 7 位。若这几位数字中包含空格或连字符，将无法找到；两位来电者也可能拥有相同的后 7 位。
* 此设置仅适用于潜在客户。接待员不会搜索联系人或客户，也不会创建商机。

## 故障排除

| 问题                   | 检查项                                                                                                             |
| -------------------- | --------------------------------------------------------------------------------------------------------------- |
| ERPNext 返回 401 或 403 | 标头值必须为 `token`、一个空格，然后是用冒号连接的密钥和密钥。确认用户已启用且拥有 **Sales User**。                                                   |
| 找不到已知来电者             | 请在存储号码时不要包含空格或连字符，并确认号码位于潜在客户的 **Mobile No** 或 **Phone** 字段中。                                                   |
| 潜在客户负责人或来源出错         | `lead_owner` 必须是已启用用户的邮箱地址，`source` 必须与 **Lead Source** 完全匹配（ERPNext 16 及更高版本使用 `utm_source` 和 **UTM Source**）。 |
| 电话号码出错               | ERPNext 会验证电话号码。告知接待员只能发送数字，开头可选 `+`。                                                                           |
| `added_by` 出错        | `notes` 中的 `added_by` 必须是已启用用户的邮箱地址，例如 API 用户的邮箱。                                                               |
| 未添加评论                | `reference_name` 必须是现有潜在客户的名称，例如 `CRM-LEAD-2026-00012`。确认先运行了查找或创建工具。                                           |