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

# EspoCRM

以下の[Webhookツール](/docs/ja/reception-ai/integrations/webhooks)を使うと、受付担当はEspoCRMにすでに登録されている発信者を識別し、新しい発信者を名前、電話番号、用件とともにリードとして追加できます。これにより、チームが後から対応できます。EspoCRMのAPIでは固定APIキーとJSONリクエストボディを使用するため、EspoCRM Cloudでもセルフホスト環境でも同じように動作します。

## 始める前に

### ロールを作成する

EspoCRMで、**Administration** → **Roles** に移動し、**Leads** の読み取りと作成、および **Contacts** の読み取りができるロールを作成します。その他のスコープはすべて無効のままにしてください。

### APIユーザーを作成する

**Administration** → **API Users** に移動し、ユーザーを作成します。認証方法を **API Key** に設定し、先ほど作成したロールを割り当てます。保存してから、ユーザーの詳細画面でAPIキーをコピーします。

以下の各ツールは、`X-Api-Key` という名前のリクエストヘッダーでキーを送信します。その **Type** を **Secret** に設定してください。

> **Warning**
>
> APIキーを使うと、ロールで許可されたすべての情報を読み取り、変更できます。ロールの権限は必要最小限にし、
> キーが漏洩した場合はEspoCRMで再生成してください。

### EspoCRMのアドレスを確認する

ツールのURLは、ブラウザでEspoCRMを使用するときに開くアドレスの後に、`/api/v1/` を付けたものです。以下の表では `https://YOUR-CRM.example.com` を使用しています。ご自身のアドレスに置き換えてください。

## ツールを作成する

ツールごとに **Integrations** に移動し、**Add integration** を選択して **Webhook Tool** を選び、**Assign to agents** を **Receptionist** に設定します。以下で「常に」と記載されている各パラメーターは、**Value** を **Fixed value** に設定してください。

### リードを検索する

| フィールド                | 値                                                                                                                 |
| -------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Name**             | `find_espocrm_lead`                                                                                               |
| **Description**      | 「電話番号を使って、発信者をリードから検索します。通話の開始時に使用し、以前に問い合わせたことがあるか確認してください。」                                                     |
| **Method**           | GET                                                                                                               |
| **URL**              | `https://YOUR-CRM.example.com/api/v1/Lead`                                                                        |
| **Request Headers**  | `X-Api-Key`：APIキー                                                                                                 |
| **Query Parameters** | `textFilter`（文字列、必須）：「国番号を含む発信者の電話番号（例：+14155550123）。」  `select`（文字列）：常に `id,name,status`。  `maxSize`（整数）：常に `5`。 |

既存顧客も識別するには、同じ設定で `find_espocrm_contact` という名前の2つ目のツールを作成し、URLを `https://YOUR-CRM.example.com/api/v1/Contact` に設定します。

### 新しいリードを追加する

| フィールド               | 値                                                                                                                                                                                                                                                                 |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**            | `create_espocrm_lead`                                                                                                                                                                                                                                             |
| **Description**     | 「`find_espocrm_lead` で発信者が見つからなかった場合、新しいリードとして追加します。」                                                                                                                                                                                                             |
| **Method**          | POST                                                                                                                                                                                                                                                              |
| **URL**             | `https://YOUR-CRM.example.com/api/v1/Lead`                                                                                                                                                                                                                        |
| **Request Headers** | `X-Api-Key`：APIキー                                                                                                                                                                                                                                                 |
| **Body Parameters** | `firstName`（文字列、必須）：「発信者の名。」  `lastName`（文字列、必須）：「発信者の姓。」  `phoneNumber`（文字列、必須）：「国際形式の発信者の電話番号（例：+14155550123）。」  `emailAddress`（文字列）：「発信者から提供された場合、そのメールアドレス。」  `description`（文字列、必須）：「発信者の用件と、折り返しを希望する時間。」  `status`（文字列）：常に `New`。  `source`（文字列）：常に `Call`。 |

新しいリードを1人の営業担当者に割り当てるには、そのユーザーのIDを固定値として `assignedUserId`（文字列）に追加します。EspoCRMでそのユーザーを開くと、アドレスバーでIDを確認できます。

各ツールで **Enable** を選択し、見積もりを依頼する新規発信者として[受付担当をテスト](/docs/ja/reception-ai/receptionist/testing)します。リードが **New** ステータス、**Call** ソースでEspoCRMに表示されます。

> **Tip**
>
> [手順](/docs/ja/reception-ai/receptionist/rules-and-procedures)を追加し、受付担当が最初に検索して、
> 一致する情報が見つからない場合にのみリードを追加するようにしてください。

> **Warning**
>
> 検索では名前やメールアドレスも照合されるため、発信者が別の人を検索しようとする可能性があります。
> 受付担当がCRMのレコードを発信者に読み上げないようルールを追加し、**select** は
> `id,name,status` のみに制限してください。

## 制限事項

* `textFilter` はEspoCRMの検索ボックスと同じ検索機能で、名前、メールアドレス、電話番号を検索します。電話番号で検索すると、同じ数字から始まる別のレコードに一致する場合もあるため、受付担当は発信者の名前を確認する必要があります。
* これらのツールでは、既存のリードや連絡先にメモやタスクを追加できません。通話の詳細は、新しいリードの説明に保存されます。
* ツールではチームを設定できません。EspoCRMはチームをチームIDのリスト（`teamsIds`）として受け取り、Webhookツールは常に会話からリストを入力します。そのため、すべてのリードを同じチームに割り当てることはできず、受付担当がチームを選択することも避ける必要があります。代わりに `assignedUserId` を使ってリードを割り当ててください。

## トラブルシューティング

| 問題                         | 確認事項                                                                                                             |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| EspoCRMから401が返される          | ヘッダー名が `X-Api-Key` で、APIユーザーの詳細画面にあるキーが設定されている必要があります。APIユーザーが有効か確認してください。                                       |
| EspoCRMから403が返される          | APIユーザーのロールに、リードの読み取りまたは作成権限がありません。**Administration** → **Roles** でロールを編集してください。                                 |
| リードの追加時に409が返される           | EspoCRMが、同じ名前やメールアドレスを持つリードなど、重複している可能性のあるデータを検出しました。受付担当は最初に検索する必要があります。                                        |
| 既知の発信者が見つからない              | 電話番号を `+14155550123` のような国際形式で保存し、その番号がアカウントだけでなく、リードまたは連絡先にも登録されていることを確認してください。                                 |
| `status` または `source` のエラー | 値は、**Administration** → **Entity Manager** → **Lead** で設定されたリードの **Status** および **Source** オプションと完全に一致する必要があります。 |