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

# ERPNext

Grâce aux [outils webhook](/docs/fr/reception-ai/integrations/webhooks) ci-dessous, votre réceptionniste peut reconnaître les appelants déjà enregistrés comme prospects dans ERPNext, enregistrer de nouveaux appelants comme prospects avec leur nom, leur numéro de téléphone et une note sur leurs besoins, et laisser un commentaire sur les prospects existants afin que votre équipe commerciale puisse les rappeler. ERPNext et le framework Frappe acceptent une clé et un secret d’API statiques ainsi que des corps de requête JSON. Cette configuration fonctionne donc sur Frappe Cloud comme sur les sites auto-hébergés.

## Avant de commencer

### Créer un utilisateur API

Dans ERPNext, créez un utilisateur pour Reception.ai, par exemple `reception@yourcompany.com`, et attribuez-lui uniquement le rôle **Sales User**. Les requêtes API s’exécutent avec les autorisations de cet utilisateur. N’utilisez donc pas de compte administrateur.

### Générer les clés

Ouvrez l’utilisateur, sélectionnez l’onglet **Settings**, développez **API Access**, puis sélectionnez **Generate Keys**. Copiez immédiatement l’**API Secret** affiché dans la fenêtre contextuelle : ERPNext ne l’affiche qu’une seule fois. L’**API Key** reste visible dans la même section.

Chaque outil ci-dessous envoie un en-tête de requête nommé `Authorization` avec la valeur `token API_KEY:API_SECRET`, où votre clé et votre secret sont séparés par deux-points. Définissez son **Type** sur **Secret**.

> **Warning**
>
> La clé et le secret permettent de lire et de modifier tout ce que le rôle **Sales User** autorise. Ne les conservez pas dans
> des documents partagés et sélectionnez à nouveau **Generate Keys** pour les remplacer s’ils sont divulgués.

### Trouver l’adresse de votre site

Les URL de vos outils commencent par l’adresse que vous ouvrez dans votre navigateur pour utiliser ERPNext. Les tableaux ci-dessous utilisent `https://YOUR-SITE.example.com` ; remplacez-la par la vôtre.

## Créer les outils

Pour chaque outil, accédez à **Integrations**, sélectionnez **Add integration**, choisissez **Webhook Tool**, puis définissez **Assign to agents** sur **Receptionist**. Pour chaque paramètre marqué « Always » ci-dessous, définissez **Value** sur **Fixed value**.

### Rechercher un prospect

| Champ                     | Valeur                                                                                                                                                                                                                                                                                                |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nom**                   | `find_erpnext_lead`                                                                                                                                                                                                                                                                                   |
| **Description**           | « Recherchez l’appelant parmi nos prospects à l’aide de son numéro de téléphone. Utilisez cet outil au début d’un appel pour vérifier s’il nous a déjà contactés. »                                                                                                                                   |
| **Méthode**               | GET                                                                                                                                                                                                                                                                                                   |
| **URL**                   | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                                                                                                                     |
| **En-têtes de requête**   | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                           |
| **Paramètres de requête** | `or_filters` (chaîne, obligatoire) : « Filtrez les sept derniers chiffres du numéro de l’appelant, exactement comme `[["mobile_no","like","%5550123%"],["phone","like","%5550123%"]]`. »  `fields` (chaîne) : toujours `["name","lead_name","status"]`.  `limit_page_length` (entier) : toujours `5`. |

### Enregistrer un nouveau prospect

| Champ                   | Valeur                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nom**                 | `create_erpnext_lead`                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Description**         | « Enregistrez l’appelant comme nouveau prospect lorsque `find_erpnext_lead` ne le trouve pas. »                                                                                                                                                                                                                                                                                                                                                                                 |
| **Méthode**             | POST                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **URL**                 | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **En-têtes de requête** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Paramètres du corps** | `first_name` (chaîne, obligatoire) : « Prénom de l’appelant. »  `last_name` (chaîne) : « Nom de famille de l’appelant. »  `mobile_no` (chaîne, obligatoire) : « Numéro de téléphone de l’appelant au format international, par exemple +14155550123. »  `email_id` (chaîne) : « Adresse email de l’appelant, s’il en a fourni une. »  `lead_owner` (chaîne) : toujours l’adresse email du commercial qui rappelle les nouveaux prospects.  `notes` (tableau) : voir ci-dessous. |

Pour définir la provenance des prospects, ajoutez `source` (chaîne) comme valeur fixe correspondant exactement à l’un de vos enregistrements **Lead Source**. Dans ERPNext 16 et les versions ultérieures, le champ est plutôt `utm_source` et doit correspondre à un enregistrement **UTM Source**.

`notes` renseigne l’onglet **Notes** du prospect. Attribuez-lui la description « Envoyez exactement un élément indiquant les besoins de l’appelant. » Sous **Each item**, choisissez `object`, puis sélectionnez **Add field** pour chacun des éléments suivants :

* `note` (chaîne, obligatoire) : « Les besoins de l’appelant et le moment auquel il souhaite être rappelé. »
* `added_by` (chaîne) : toujours l’adresse email de l’utilisateur API.

### Enregistrer les détails de l’appel

| Champ                   | Valeur                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nom**                 | `add_erpnext_lead_comment`                                                                                                                                                                                                                                                                                                                                                                                          |
| **Description**         | « Ajoutez un commentaire au prospect de l’appelant indiquant ses besoins. Utilisez cet outil lorsque `find_erpnext_lead` a trouvé l’appelant, avec le nom du prospect, par exemple CRM-LEAD-2026-00012. »                                                                                                                                                                                                           |
| **Méthode**             | POST                                                                                                                                                                                                                                                                                                                                                                                                                |
| **URL**                 | `https://YOUR-SITE.example.com/api/method/frappe.desk.form.utils.add_comment`                                                                                                                                                                                                                                                                                                                                       |
| **En-têtes de requête** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                                                                                                                                         |
| **Paramètres du corps** | `reference_doctype` (chaîne) : toujours `Lead`.  `reference_name` (chaîne, obligatoire) : « Nom du prospect, issu de `find_erpnext_lead` ou de `create_erpnext_lead`. »  `content` (chaîne, obligatoire) : « Les besoins de l’appelant et le moment auquel il souhaite être rappelé. »  `comment_email` (chaîne) : toujours l’adresse email de l’utilisateur API.  `comment_by` (chaîne) : toujours `Reception.ai`. |

Sélectionnez **Enable** sur chaque outil, puis [testez votre réceptionniste](/docs/fr/reception-ai/receptionist/testing) en vous faisant passer pour un nouvel appelant qui demande à être rappelé. Le prospect apparaît dans votre liste **Lead**, attribué à votre commercial et accompagné du commentaire de votre réceptionniste.

> **Tip**
>
> Ajoutez une [procédure](/docs/fr/reception-ai/receptionist/rules-and-procedures) pour les appelants : recherchez le
> prospect, puis enregistrez-le avec une note s’il n’est pas trouvé, ou consignez les détails de l’appel sur le
> prospect trouvé. Ajoutez une règle interdisant à votre réceptionniste de communiquer aux appelants le contenu des fiches prospects.

> **Warning**
>
> Votre réceptionniste rédige le filtre de recherche à partir de la conversation. Un appelant pourrait donc tenter de lui faire
> rechercher les prospects d’autres personnes. L’outil ne renvoie que cinq noms et statuts au maximum, mais conservez
> la règle ci-dessus. Si **Sales User** accorde davantage d’accès que vous ne le souhaitez, par exemple aux clients et aux
> devis, créez un rôle personnalisé qui peut uniquement lire, créer et commenter des prospects.

## Limites

* La recherche porte sur les sept derniers chiffres du numéro. Les numéros enregistrés avec des espaces ou des tirets au sein de ces chiffres ne sont pas trouvés, et deux appelants peuvent partager les mêmes sept derniers chiffres.
* Cette configuration ne couvre que les prospects. Votre réceptionniste ne recherche pas les contacts ni les clients et ne crée pas d’opportunités.

## Résolution des problèmes

| Problème                                                   | À vérifier                                                                                                                                                                                                       |
| ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Erreur 401 ou 403 d’ERPNext                                | La valeur de l’en-tête doit être `token`, suivi d’un espace, puis de la clé et du secret séparés par deux-points. Vérifiez que l’utilisateur est activé et dispose du rôle **Sales User**.                       |
| Les appelants connus ne sont pas trouvés                   | Enregistrez les numéros sans espaces ni tirets et vérifiez que le numéro figure dans le champ **Mobile No** ou **Phone** du prospect.                                                                            |
| Erreur concernant le propriétaire ou la source du prospect | `lead_owner` doit être l’adresse email d’un utilisateur activé, et `source` doit correspondre exactement à une **Lead Source** (`utm_source` et une **UTM Source** dans ERPNext 16 et les versions ultérieures). |
| Erreur concernant le numéro de téléphone                   | ERPNext vérifie les numéros de téléphone. Indiquez à votre réceptionniste d’envoyer uniquement des chiffres, précédés éventuellement d’un `+`.                                                                   |
| Erreur concernant `added_by`                               | `added_by` dans `notes` doit être l’adresse email d’un utilisateur activé, par exemple celle de l’utilisateur API.                                                                                               |
| Le commentaire n’est pas ajouté                            | `reference_name` doit être le nom d’un prospect existant, par exemple `CRM-LEAD-2026-00012`. Vérifiez que l’outil de recherche ou de création a été exécuté en premier.                                          |