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

# ERPNext

아래 [웹훅 도구](/docs/ko/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` (배열): 아래를 참조하세요. |

리드 유입 경로를 설정하려면 **Lead Source** 레코드 중 하나와 정확히 일치하는 고정 값으로 `source` (문자열)를 추가하세요. ERPNext 16 이상에서는 필드가 `utm_source`이며, **UTM Source** 레코드와 일치해야 합니다.

`notes`는 리드의 **Notes** 탭을 채웁니다. 설명에 "발신자에게 필요한 사항을 포함해 정확히 하나의 항목을 전송합니다."라고 입력하세요. **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/ko/reception-ai/receptionist/testing)하세요. 리드는 영업 담당자가 소유한 상태로 **Lead** 목록에 표시되며, 리셉셔니스트의 댓글도 함께 표시됩니다.

> **Tip**
>
> 발신자를 위한 [절차](/docs/ko/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`와 같이 기존 리드의 이름이어야 합니다. 먼저 찾기 또는 생성 도구가 실행되었는지 확인하세요.                                   |