> ## Documentation Index
> Fetch the complete documentation index at: https://docs.connectly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Descripción general de Herramientas

> Crea, prueba y supervisa las acciones que tus agentes de IA, campañas y WhatsApp Flows pueden ejecutar.

Una **herramienta** es una acción reutilizable que Connectly puede ejecutar por ti, como buscar un pedido, comprobar existencias, crear un ticket o guardar un registro. La creas una vez en la página **Herramientas** y luego la usas en tus agentes de IA, campañas y [WhatsApp Flows dinámicos](/campaigns/whatsapp-flow-builder).

<CardGroup cols={2}>
  <Card title="Consultar datos" icon="magnifying-glass">
    Obtén información de un cliente, pedido o reserva de tu propio sistema.
  </Card>

  <Card title="Realizar una acción" icon="bolt">
    Crea un ticket, actualiza un registro de CRM o envía datos a un webhook.
  </Card>

  <Card title="Transformar datos" icon="wand-magic-sparkles">
    Limpia o combina datos con unas líneas de JavaScript.
  </Card>

  <Card title="Guardar información" icon="database">
    Almacena pequeños datos entre ejecuciones en el datastore integrado.
  </Card>
</CardGroup>

## La página Herramientas

Abre **Herramientas** en la barra lateral. La página tiene cuatro pestañas:

| Pestaña | Qué muestra |
| - | - |
| **Herramientas** | Todas las herramientas de tu negocio, con su estado, tasa de éxito y las campañas que las usan. |
| **Ejecuciones** | Un registro en tiempo real de cada ejecución, con su resultado y duración. |
| **Herramientas compartidas** | Herramientas que otro negocio compartió contigo (solo lectura). |
| **Integraciones** | Tus integraciones conectadas. |

La pestaña **Herramientas** muestra estas columnas:

| Columna | Significado |
| - | - |
| **Herramienta** | Nombre y descripción. |
| **Estado** | `Borrador` o `Publicada`. |
| **Actividad** | Tasa de éxito reciente, por ejemplo `98 % de éxito`. Muestra `Sin ejecuciones` para una herramienta nueva o `Datos limitados` cuando hay pocas ejecuciones. |
| **Campañas** | Cuántas campañas usan la herramienta. Pasa el cursor para ver sus nombres. |
| **Creada por / Actualizada** | Quién la creó y cuándo se modificó por última vez. |

Usa el cuadro de búsqueda para encontrar una herramienta por nombre o descripción. También puedes filtrar por tipo o campaña.

## Crear una herramienta

<Steps>
  <Step title="Selecciona Crear herramienta">
    En la pestaña **Herramientas**, selecciona **Crear herramienta**.
  </Step>

  <Step title="Asígnale un nombre y descríbela">
    Escribe un **Nombre** (solo letras, números, guiones bajos y guiones, sin espacios), por ejemplo `get_customer_info`.

    Después, escribe una **Descripción** que explique qué hace la herramienta y **cuándo debe usarla la IA**. Los agentes de IA leen este texto para decidir si deben llamar a la herramienta, así que es importante que la descripción sea clara.
  </Step>

  <Step title="Elige un tipo">
    Selecciona **Llamada a API** o **Script de JavaScript** (consulta las opciones a continuación).
  </Step>

  <Step title="Configura, prueba y publica">
    Configura la herramienta, pruébala y publícala.
  </Step>
</Steps>

### ¿Qué tipo debo usar?

| | Llamada a API | Script de JavaScript |
| - | - | - |
| **Ideal para** | Llamadas sencillas a un servicio externo | Lógica personalizada, varios pasos o transformación de datos |
| **Configuración** | Método, URL, encabezados y autenticación | Código en el editor integrado |
| **Pruebas** | Ejecuta una prueba con datos de entrada de ejemplo | Ejecuta una prueba con datos de entrada de ejemplo y consulta los registros |

<Tip>
  Empieza con **Llamada a API** para integraciones sencillas. Usa **Script de JavaScript**
  si necesitas condiciones, bucles, varias solicitudes en una herramienta o formato personalizado.
</Tip>

### Herramientas de llamada a API

Una herramienta de API envía una solicitud HTTP a un servicio cuando se ejecuta.

* **Método** y **URL del endpoint**: elige el método HTTP e introduce la URL. Usa `{parameter}` para valores que cambian en cada llamada, por ejemplo `https://api.example.com/orders/{order_id}`.
* **Encabezados**: agrega los encabezados que necesite el servicio.
* **Autenticación**: elige una credencial guardada o selecciona **Nuevo recurso** para crear una (consulta [Autenticación](#autenticacion)).

### Herramientas de script de JavaScript

Una herramienta de script ejecuta tu JavaScript cada vez que se invoca. Recibe los datos de entrada, realiza su trabajo y devuelve un resultado. El editor permite probar el script en tiempo real y consultar el resultado y los registros antes de publicarlo.

Si el script importa otra herramienta, el editor te avisa cuando usa una **versión anterior**. Actualiza la importación, implementa y vuelve a probar para usar la versión más reciente.

### Esquema de entrada y salida

Abre la pestaña **Esquema** para describir tu herramienta con JSON Schema:

* **Esquema JSON de entrada**: la información que espera la herramienta, por ejemplo, una cadena `order_id`.
* **Esquema JSON de salida**: la estructura de lo que devuelve.
* **Resultado de ejemplo**: un ejemplo de un resultado habitual.

Un buen esquema ayuda a los agentes de IA a completar los valores correctos y entender el resultado.

## Autenticación

Las herramientas de API pueden autenticarse con tu servicio. Las credenciales se **cifran y almacenan de forma segura**. Después de guardarlas, no se vuelven a mostrar en texto sin formato.

| Tipo | Cuándo usarlo |
| - | - |
| **Sin autenticación** | La API es pública. |
| **Encabezados personalizados / clave de API** | El servicio requiere una clave en un encabezado, por ejemplo `Authorization` o `X-API-Key`. |
| **Parámetros de consulta** | El servicio requiere una clave en la URL, por ejemplo `?api_key=...`. |
| **Credenciales de cliente de OAuth 2.0** | El servicio emite tokens desde una URL de token mediante un ID de cliente y un secreto de cliente. |
| **Certificado de cliente (TLS mutuo)** | El servicio requiere un certificado de cliente. Proporciona la cadena completa del certificado y la clave privada en formato PEM. |

<Note>
  Para TLS mutuo, la clave privada no debe estar protegida con una frase de contraseña.
  Si aparece un error, expórtala sin contraseña e inténtalo de nuevo.
</Note>

Las credenciales guardadas aparecen en la lista **Seleccionar recurso de autenticación** para que puedas reutilizarlas en distintas herramientas.

## Probar una herramienta

Usa el panel **Prueba**, junto al editor.

1. En **Entrada simulada**, introduce el JSON que debe recibir la herramienta, por ejemplo `{ "order_id": "12345" }`.
2. Selecciona **Ejecutar prueba**.
3. Consulta el resultado en la pestaña **Salida** y los detalles en **Registros**. El estado muestra `SUCCESS` o `ERROR`.

<Warning>
  Las pruebas se ejecutan en la **última versión guardada**, no en el texto que aparece en pantalla. Si tienes cambios sin guardar, Connectly te avisa y ofrece **Implementar y probar** (scripts) o **Guardar y probar** (herramientas de API), que primero guarda una versión nueva.
  Elige **Probar versión guardada** para probar la versión anterior.
</Warning>

## Versiones, borradores y publicación

Cada vez que guardas, se crea una nueva **versión** de la herramienta. Así puedes consultar los cambios y volver a una versión anterior.

* Usa el **selector de versiones** en la parte superior del editor para cambiar de versión.
* Al guardar o implementar, elige **Incremento automático** (Connectly selecciona el siguiente número) o **Versión personalizada** (por ejemplo, `2.0.0`). Una versión personalizada debe ser superior a la actual.
* La herramienta empieza como **Borrador**. Selecciona **Publicar** para que esté disponible. Debes guardar o implementar los cambios más recientes antes de publicarla.

El editor también muestra quién creó la herramienta y quién modificó cada versión por última vez. Esto resulta útil cuando varias personas del equipo trabajan en la misma herramienta. Las ediciones asistidas por IA se etiquetan como **Asistente de IA**.

## Supervisar tus herramientas

### Ejecuciones

La pestaña **Ejecuciones** muestra cada ejecución, empezando por la más reciente, y se actualiza a medida que llegan nuevas. Para cada ejecución puedes consultar la hora, la herramienta, el estado, la duración y el código de estado. Selecciona una ejecución para abrir sus registros, incluidos los identificadores de ejecución, sesión y sala asociados.

Acota la lista con estos filtros:

* **Herramienta**: elige una herramienta o busca por nombre (usa `|` para buscar varias).
* **Estado**: `Correcta` o `Fallida`.
* **Intervalo de tiempo**: desde 15 minutos hasta 15 días, o un intervalo personalizado.
* **ID de ejecución, ID de sesión o ID de sala**: ve directamente a una conversación o ejecución.

<Tip>
  Cuando un cliente informe de algo extraño en una conversación, filtra por **ID de sala**
  para ver exactamente qué herramientas se ejecutaron y qué devolvieron.
</Tip>

### Tasa de éxito

La columna **Actividad** de la pestaña Herramientas muestra de un vistazo el estado de cada herramienta. Una caída en la tasa de éxito suele ser la primera señal de que un servicio externo no está disponible o de que una credencial ha caducado.

### Datastore

El **Datastore** es un almacenamiento duradero de clave y valor que tus herramientas pueden leer y escribir durante la ejecución, por ejemplo, para recordar la última elección de un cliente.

* Explora y filtra las claves por prefijo, y consulta el valor, el tamaño y la última actualización de cada una.
* Agrega, edita o elimina claves. Los cambios se aplican de inmediato.
* Vuelve a un estado anterior. Puedes restaurar cualquier momento dentro del período de retroceso que se muestra en la página. Connectly guarda primero un punto de restauración del estado actual, por lo que también puedes deshacer una reversión.

<Warning>
  Al volver a un estado anterior, se descarta **todo lo que se escribió después del momento elegido**,
  incluidos los datos que hayan escrito tus herramientas desde entonces.
</Warning>

## Compartir una herramienta

Puedes compartir una herramienta con otro negocio.

1. Abre la acción **Compartir** de la herramienta en la lista.
2. Introduce el ID del otro negocio y selecciona **Compartir**.
3. Para dejar de compartirla, selecciona **Dejar de compartir** junto a ese negocio.

El otro negocio verá la herramienta en **Herramientas compartidas**. Podrá verla y probarla, pero no editarla. Las ejecuciones compartidas aparecen como **Compartidas** en Ejecuciones.

## Eliminar una herramienta

Selecciona **Eliminar** en la fila de la herramienta. Esto elimina la herramienta **y todas sus versiones** de forma irreversible.

<Warning>
  Si hay campañas que usan la herramienta, la confirmación las enumera (por ejemplo, "3
  campañas usan esta herramienta. Sus pasos de herramienta dejarán de funcionar"). Actualiza esas
  campañas primero.
</Warning>

Las herramientas que usa un WhatsApp Flow se gestionan con el flujo. Se eliminan automáticamente cuando el flujo se elimina o se deja de usar. Consulta [WhatsApp Flow Builder](/campaigns/whatsapp-flow-builder).

## Solución de problemas

| Síntoma | Qué comprobar |
| - | - |
| No se puede publicar la herramienta | Guarda o implementa primero los cambios más recientes, espera a que termine de cargarse la versión y comprueba que haya una descripción. |
| El resultado de la prueba no coincide con mis cambios | La prueba se ejecutó en la última versión guardada. Usa **Implementar y probar** o **Guardar y probar**. |
| Se rechaza el nombre | Usa solo letras, números, guiones bajos y guiones. |
| Hay muchas ejecuciones `Failed` | Abre **Ejecuciones**, filtra por `Failed` y lee los registros. Comprueba si las credenciales caducaron o si no se puede acceder a la URL. |
| Error de certificado en una credencial de certificado de cliente | Comprueba que la cadena y la clave estén en formato PEM y que la clave no tenga una frase de contraseña. |
| El agente de IA nunca llama a mi herramienta | Reescribe la descripción para explicar cuándo debe usarse y agrega un esquema de entrada. |

## Próximos pasos

<CardGroup cols={2}>
  <Card title="WhatsApp Flow Builder" icon="whatsapp" href="/campaigns/whatsapp-flow-builder">
    Crea formularios dentro de WhatsApp y conéctalos a una herramienta.
  </Card>

  <Card title="API de WhatsApp Flows" icon="code" href="/messaging/whatsapp-flows">
    Envía un flujo desde tu propio sistema.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.