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

# ERPNext

Con las [herramientas de webhook](/docs/es/reception-ai/integrations/webhooks) que encontrarás a continuación, tu recepcionista puede identificar a quienes llaman y ya son leads de ERPNext, registrar a quienes llaman por primera vez como leads con su nombre, teléfono y una nota sobre lo que necesitan, y dejar un comentario en leads existentes para que tu equipo de ventas pueda devolverles la llamada. ERPNext y el framework Frappe aceptan una clave y un secreto de API estáticos, así como cuerpos de solicitud JSON, por lo que funciona tanto en Frappe Cloud como en sitios autoalojados.

## Antes de empezar

### Crea un usuario de API

En ERPNext, crea un usuario para Reception.ai, por ejemplo `reception@yourcompany.com`, y asígnale únicamente el rol **Sales User**. Las solicitudes de API se ejecutan con los permisos de este usuario, así que no uses un administrador.

### Genera las claves

Abre el usuario, selecciona la pestaña **Settings**, despliega **API Access** y selecciona **Generate Keys**. Copia inmediatamente el **API Secret** de la ventana emergente: ERPNext solo lo muestra una vez. La **API Key** seguirá visible en la misma sección.

Cada herramienta de abajo envía una cabecera de solicitud llamada `Authorization` con el valor `token API_KEY:API_SECRET`, donde la clave y el secreto están unidos por dos puntos. Establece su **Type** como **Secret**.

> **Warning**
>
> La clave y el secreto pueden leer y modificar todo lo que permita el rol **Sales User**. No los incluyas en
> documentos compartidos y vuelve a seleccionar **Generate Keys** para reemplazarlos si se filtran.

### Busca la dirección de tu sitio

Las URL de tus herramientas empiezan con la dirección que abres en el navegador para usar ERPNext. Las tablas de abajo usan `https://YOUR-SITE.example.com`; sustitúyela por la tuya.

## Crea las herramientas

Para cada herramienta, ve a **Integrations**, selecciona **Add integration**, elige **Webhook Tool** y establece **Assign to agents** como **Receptionist**. Para cada parámetro marcado como "Always" a continuación, establece **Value** como **Fixed value**.

### Busca un lead

| Campo                      | Valor                                                                                                                                                                                                                                                                                                   |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nombre**                 | `find_erpnext_lead`                                                                                                                                                                                                                                                                                     |
| **Descripción**            | "Busca a quien llama entre nuestros leads por su número de teléfono. Úsala al inicio de una llamada para comprobar si ya se ha puesto en contacto con nosotros."                                                                                                                                        |
| **Método**                 | GET                                                                                                                                                                                                                                                                                                     |
| **URL**                    | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                                                                                                                       |
| **Cabeceras de solicitud** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                             |
| **Parámetros de consulta** | `or_filters` (cadena, obligatorio): "Un filtro sobre los últimos siete dígitos del número de quien llama, exactamente como `[["mobile_no","like","%5550123%"],["phone","like","%5550123%"]]`."  `fields` (cadena): Siempre `["name","lead_name","status"]`.  `limit_page_length` (entero): Siempre `5`. |

### Registra un lead nuevo

| Campo                      | Valor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nombre**                 | `create_erpnext_lead`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Descripción**            | "Registra a quien llama como lead nuevo cuando `find_erpnext_lead` no lo haya encontrado."                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Método**                 | POST                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **URL**                    | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Cabeceras de solicitud** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Parámetros del cuerpo**  | `first_name` (cadena, obligatorio): "El nombre de quien llama."  `last_name` (cadena): "El apellido de quien llama."  `mobile_no` (cadena, obligatorio): "El número de teléfono de quien llama en formato internacional, por ejemplo +14155550123."  `email_id` (cadena): "La dirección de correo electrónico de quien llama, si ha proporcionado una."  `lead_owner` (cadena): Siempre la dirección de correo electrónico de la persona de ventas que devuelve las llamadas a nuevos leads.  `notes` (matriz): consulta abajo. |

Para indicar de dónde proceden los leads, añade `source` (cadena) como valor fijo que coincida exactamente con uno de tus registros **Lead Source**. En ERPNext 16 y versiones posteriores, el campo es `utm_source`, y debe coincidir con un registro **UTM Source**.

`notes` rellena la pestaña **Notes** del lead. Dale la descripción "Envía exactamente un elemento con lo que necesita quien llama." En **Each item**, elige `object` y luego selecciona **Add field** para cada uno de estos campos:

* `note` (cadena, obligatorio): "Lo que necesita quien llama y cuándo le gustaría que le devolvieran la llamada."
* `added_by` (cadena): Siempre la dirección de correo electrónico del usuario de la API.

### Registra los detalles de la llamada

| Campo                      | Valor                                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nombre**                 | `add_erpnext_lead_comment`                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Descripción**            | "Deja un comentario en el lead de quien llama con lo que necesita. Úsala cuando `find_erpnext_lead` haya encontrado a quien llama, con el nombre del lead, como CRM-LEAD-2026-00012."                                                                                                                                                                                                                                         |
| **Método**                 | POST                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **URL**                    | `https://YOUR-SITE.example.com/api/method/frappe.desk.form.utils.add_comment`                                                                                                                                                                                                                                                                                                                                                 |
| **Cabeceras de solicitud** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                                                                                                                                                   |
| **Parámetros del cuerpo**  | `reference_doctype` (cadena): Siempre `Lead`.  `reference_name` (cadena, obligatorio): "El nombre del lead, de `find_erpnext_lead` o `create_erpnext_lead`."  `content` (cadena, obligatorio): "Lo que necesita quien llama y cuándo le gustaría que le devolvieran la llamada."  `comment_email` (cadena): Siempre la dirección de correo electrónico del usuario de la API.  `comment_by` (cadena): Siempre `Reception.ai`. |

Selecciona **Enable** en cada herramienta y luego [prueba tu recepcionista](/docs/es/reception-ai/receptionist/testing) como alguien que llama por primera vez y pide que le devuelvan la llamada. El lead aparecerá en tu lista de **Lead**, asignado a tu persona de ventas, con el comentario de tu recepcionista.

> **Tip**
>
> Añade un [procedimiento](/docs/es/reception-ai/receptionist/rules-and-procedures) para quienes llaman: busca el
> lead y, si no se encuentra, regístralo con una nota; si se encuentra, registra los detalles de la llamada en el
> lead encontrado. Añade una regla para que tu recepcionista nunca lea los registros de leads a quienes llaman.

> **Warning**
>
> Tu recepcionista redacta el filtro de búsqueda a partir de la conversación, por lo que alguien podría intentar conseguir que
> busque los leads de otras personas. La herramienta solo devuelve hasta cinco nombres y estados, pero mantén
> la regla anterior. Si **Sales User** otorga más acceso del que quieres, como a clientes y
> presupuestos, crea un rol personalizado que solo pueda leer, crear y comentar leads.

## Limitaciones

* La búsqueda analiza los últimos siete dígitos del número. No encontrará números almacenados con espacios o guiones dentro de esos dígitos, y dos personas pueden compartir los mismos últimos siete dígitos.
* Esta configuración solo cubre leads. Tu recepcionista no busca contactos ni clientes, ni crea oportunidades.

## Resolución de problemas

| Problema                                        | Qué comprobar                                                                                                                                                                                                          |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 401 o 403 de ERPNext                            | El valor de la cabecera debe ser `token`, un espacio y, a continuación, la clave y el secreto unidos por dos puntos. Comprueba que el usuario está activado y tiene **Sales User**.                                    |
| No se encuentra a personas conocidas            | Guarda los números sin espacios ni guiones y comprueba que el número está en el campo **Mobile No** o **Phone** del lead.                                                                                              |
| Error sobre el propietario o la fuente del lead | `lead_owner` debe ser la dirección de correo electrónico de un usuario activado y `source` debe coincidir exactamente con un **Lead Source** (`utm_source` y un **UTM Source** en ERPNext 16 y versiones posteriores). |
| Error sobre el número de teléfono               | ERPNext valida los números de teléfono. Indica a tu recepcionista que envíe solo dígitos, con un `+` inicial opcional.                                                                                                 |
| Error sobre `added_by`                          | `added_by` en `notes` debe ser la dirección de correo electrónico de un usuario activado, como la del usuario de la API.                                                                                               |
| No se añade el comentario                       | `reference_name` debe ser el nombre de un lead existente, como `CRM-LEAD-2026-00012`. Comprueba que la herramienta de búsqueda o creación se haya ejecutado antes.                                                     |