# Bulk delete calls Source: https://docs.diga.io/api-reference/calls/bulk-delete-calls /api-reference/openapi.json post /v1/call/bulk-delete Delete multiple terminal calls scoped to the requesting company. Messages linked to each deleted call are cascade-deleted; call_log entries survive with call_id set to NULL for audit preservation. Active calls are ignored. # Bulk download transcripts Source: https://docs.diga.io/api-reference/calls/bulk-download-transcripts /api-reference/openapi.json post /v1/call/message/bulk Download the transcripts of multiple calls as a ZIP file with one `{call_id}.json` per call, each holding the same message list as the call messages endpoint. Calls without messages are skipped. # Get call by ID Source: https://docs.diga.io/api-reference/calls/get-call-by-id /api-reference/openapi.json get /v1/call/{id} Retrieve detailed information about a specific call including transcription summary, duration, cost, and recording URL if available. # Get call messages/transcription Source: https://docs.diga.io/api-reference/calls/get-call-messagestranscription /api-reference/openapi.json get /v1/call/{id}/message Retrieve the paginated transcription messages for a specific call, showing the conversation between the agent and the caller. # List all calls Source: https://docs.diga.io/api-reference/calls/list-all-calls /api-reference/openapi.json get /v1/call/ Retrieve a paginated list of calls for the company. Supports filtering by status, date range, and other criteria. Includes recording URLs when available. # List call ids Source: https://docs.diga.io/api-reference/calls/list-call-ids /api-reference/openapi.json get /v1/call/ids Return the ids of every call matching the same filters as the call list, newest first, capped at 1000. Meant for select-all bulk actions. # Make outbound call Source: https://docs.diga.io/api-reference/calls/make-outbound-call /api-reference/openapi.json post /v1/call/ Initiate an outbound call using the outbound agent associated with the specified phone number. Only Spanish phone numbers are supported. # Stream the company's live concurrent-call count (SSE) Source: https://docs.diga.io/api-reference/calls/stream-the-companys-live-concurrent-call-count-sse /api-reference/openapi.json get /v1/call/concurrency/stream Server-sent events stream emitting `data: {"active_calls": N}` every few seconds (also acting as a keepalive). The count is the company's current simultaneous calls, read from the slot ledger; pair it with `max_concurrent_calls` from the subscription endpoint. # Create Knowledge Base Source: https://docs.diga.io/api-reference/knowledge-bases/create-knowledge-base /api-reference/openapi.json post /v1/knowledge/base/ Create a new knowledge base from existing knowledge items # Delete Knowledge Base Source: https://docs.diga.io/api-reference/knowledge-bases/delete-knowledge-base /api-reference/openapi.json delete /v1/knowledge/base/{id} Delete a knowledge base. If the base contains knowledge items, returns 409 Conflict unless force=true. When force=true, the base and all its items are deleted. # Get Knowledge Base Source: https://docs.diga.io/api-reference/knowledge-bases/get-knowledge-base /api-reference/openapi.json get /v1/knowledge/base/{id} Retrieve a specific knowledge base by ID # List Knowledge Bases Source: https://docs.diga.io/api-reference/knowledge-bases/list-knowledge-bases /api-reference/openapi.json get /v1/knowledge/base/ List all knowledge bases for the current company with pagination. Filters: - name: case-insensitive partial match # Update Knowledge Base Source: https://docs.diga.io/api-reference/knowledge-bases/update-knowledge-base /api-reference/openapi.json patch /v1/knowledge/base/{id} Update a knowledge base # List Knowledge Items Source: https://docs.diga.io/api-reference/knowledge-items/list-knowledge-items /api-reference/openapi.json get /v1/knowledge/item/ List all knowledge items for the current company with pagination. Filters: - status: filter items by status (indexing, uploaded, error) - category: filter items by category (file, txt, url) - name: case-insensitive partial match # Upload Knowledge Items Source: https://docs.diga.io/api-reference/knowledge-items/upload-knowledge-items /api-reference/openapi.json post /v1/knowledge/item/file Upload knowledge files to the system. Send as multipart/form-data with one or more of: - File upload: name, category, file # Upload Text Item Source: https://docs.diga.io/api-reference/knowledge-items/upload-text-item /api-reference/openapi.json post /v1/knowledge/item/text Create a knowledge item from raw text content. The text is stored in the database and indexed asynchronously. # Upload Url Items Source: https://docs.diga.io/api-reference/knowledge-items/upload-url-items /api-reference/openapi.json post /v1/knowledge/item/url Index web URLs as knowledge items. Each URL is crawled, parsed, and indexed asynchronously. # Get Knowledge Usage Source: https://docs.diga.io/api-reference/knowledge/get-knowledge-usage /api-reference/openapi.json get /v1/knowledge/usage Get knowledge storage usage for the current company. Returns used bytes, limit bytes, and item count. # Accept invitation and join project Source: https://docs.diga.io/api-reference/project-invitations/accept-invitation-and-join-project /api-reference/openapi.json post /v1/project/invitation/{invitation_id}/join Accept a project invitation and become a member of the project. # Delete invitation Source: https://docs.diga.io/api-reference/project-invitations/delete-invitation /api-reference/openapi.json delete /v1/project/invitation/{invitation_id} Remove a pending invitation from the project. # Get invitation details Source: https://docs.diga.io/api-reference/project-invitations/get-invitation-details /api-reference/openapi.json get /v1/project/invitation/{invitation_id} Retrieve detailed information about a specific project invitation. # Send bulk project invitations Source: https://docs.diga.io/api-reference/project-invitations/send-bulk-project-invitations /api-reference/openapi.json post /v1/project/invitation/send/bulk Send multiple email invitations to users to join your project. Uses batch email sending to avoid rate limits. # Send project invitation Source: https://docs.diga.io/api-reference/project-invitations/send-project-invitation /api-reference/openapi.json post /v1/project/invitation/send Send an email invitation to a user to join your project. # Update invitation role Source: https://docs.diga.io/api-reference/project-invitations/update-invitation-role /api-reference/openapi.json patch /v1/project/{project_id}/invitation/{invitation_id}/role Change the role assigned to a pending invitation before it's accepted. # Get current member Source: https://docs.diga.io/api-reference/project-members/get-current-member /api-reference/openapi.json get /v1/project/{project_id}/member/me Retrieve the current user's membership details, role, and permissions for the project. # Get project member Source: https://docs.diga.io/api-reference/project-members/get-project-member /api-reference/openapi.json get /v1/project/{project_id}/member/{profile_id} Retrieve details of a specific member in a project, including their assigned role and permissions. # List project members Source: https://docs.diga.io/api-reference/project-members/list-project-members /api-reference/openapi.json get /v1/project/{project_id}/member Retrieve a paginated list of all members in a project with their assigned roles and permissions. # Remove project member Source: https://docs.diga.io/api-reference/project-members/remove-project-member /api-reference/openapi.json delete /v1/project/{project_id}/member/{profile_id} Remove a member from the project permanently. # Update member role Source: https://docs.diga.io/api-reference/project-members/update-member-role /api-reference/openapi.json patch /v1/project/{project_id}/member/{profile_id}/role Change a project member's role (e.g., from member to admin or vice versa). # Create Project Source: https://docs.diga.io/api-reference/projects/create-project /api-reference/openapi.json post /v1/project/ Create a new project and automatically assign the authenticated user as admin. # Delete Project Source: https://docs.diga.io/api-reference/projects/delete-project /api-reference/openapi.json delete /v1/project/{id} Permanently delete a project and all associated data. # Get Project Source: https://docs.diga.io/api-reference/projects/get-project /api-reference/openapi.json get /v1/project/{id} Retrieve detailed information about a specific project by its ID. # List Projects Source: https://docs.diga.io/api-reference/projects/list-projects /api-reference/openapi.json get /v1/project/ Retrieve a paginated list of all projects where the authenticated user is a member. # Update Project Source: https://docs.diga.io/api-reference/projects/update-project /api-reference/openapi.json patch /v1/project/{id} Update an existing project's information. Only the fields provided will be updated. # Bulk download recordings Source: https://docs.diga.io/api-reference/recordings/bulk-download-recordings /api-reference/openapi.json post /v1/recording/bulk Download multiple call recordings as a ZIP file. # Get Recording Source: https://docs.diga.io/api-reference/recordings/get-recording /api-reference/openapi.json get /v1/recording/{call_id} Retrieve a call recording by its id. # Get role details Source: https://docs.diga.io/api-reference/roles/get-role-details /api-reference/openapi.json get /v1/role/{role_id} Retrieve detailed information about a specific role by its ID. # List all available roles Source: https://docs.diga.io/api-reference/roles/list-all-available-roles /api-reference/openapi.json get /v1/role/ Retrieve a complete list of all roles available in the system with their permissions. # Añade tus integraciones externas Source: https://docs.diga.io/es/build/agentes/anadir-integraciones Conecta tu agente con servicios externos para ampliar su funcionalidad ## Introducción Una vez que hayas creado tus integraciones (HTTP o MCP), necesitas **asignarlas a tus agentes** para que puedan usar las herramientas durante las llamadas. Este proceso te permite controlar: * **Qué agentes** tienen acceso a qué integraciones * **Qué herramientas específicas** de cada integración puede usar cada agente * **En qué versión** del agente están disponibles las herramientas Esto te da control granular sobre qué acciones puede realizar cada agente, siguiendo el principio de privilegio mínimo. **Prerequisito**: Antes de asignar integraciones a un agente, necesitas haber creado las integraciones. Si aún no lo has hecho, consulta: * [Integraciones HTTP](/es/build/integraciones/integraciones-http) * [Integraciones MCP](/es/build/integraciones/integraciones-mcp) ## Asignar Integración a un Agente A continuación se describen los pasos para asignar una integración existente a un agente en modo prompt único. Si quieres añadir integraciones a un agente de Camino Conversacional, consulta la sección correspondiente sobre los [nodos de herramienta](/es/build/agentes/camino-conversacional/tipos-nodos) Desde el dashboard, ve a la sección **Agentes** y selecciona el agente al que quieres añadir integraciones. En la configuración del agente que aparece en el menú lateral, abre la pestaña **Herramientas** y busca la sección **Integraciones**. (Esta sección está disponible para agentes de prompt único.) Abre el dropdown **Añadir Integración** y selecciona la integración que quieres asignar. Se mostrarán todas las integraciones disponibles en tu proyecto. Si todavía no tienes ninguna integración, esta acción te lleva a la página de [Integraciones](/es/build/integraciones/integraciones-http) para crear una — las integraciones no se crean directamente desde este menú. Después de seleccionar la integración, verás una lista de todas las herramientas que contiene. Aquí puedes seleccionar qué herramientas específicas quieres que este agente pueda usar. Solo da acceso a las herramientas que el agente realmente necesita. El agente realizará mejora las herramientas cuanto menos opciones tenga. Los cambios se guardan automáticamente. La integración con sus herramientas están ahora disponibles para esta versión del agente. Pantalla de asignación de integración a un agente mostrando la selección de herramientas ## Filtrado de Herramientas por Agente Diferentes agentes tienen diferentes necesidades. El filtrado te permite asignar la misma integración a múltiples agentes, pero con acceso a diferentes herramientas. ### Ejemplo: Integración CRM Compartida Imagina una integración "CRM Clientes" con 10 herramientas: **Necesita**: * Buscar cliente * Consultar pedidos * Crear tickets de soporte * Actualizar información de contacto **No necesita**: * Crear oportunidades de venta * Cerrar ventas * Modificar precios * Eliminar clientes **Configuración**: ``` Integración: CRM Clientes Herramientas permitidas: 4 de 10 ✅ buscar_cliente ✅ consultar_pedido ✅ crear_ticket ✅ actualizar_contacto ``` **Necesita**: * Buscar cliente * Crear oportunidades * Actualizar oportunidades * Consultar pipeline de ventas **No necesita**: * Crear tickets de soporte * Eliminar clientes * Exportar datos **Configuración**: ``` Integración: CRM Clientes Herramientas permitidas: 4 de 10 ✅ buscar_cliente ✅ crear_oportunidad ✅ actualizar_oportunidad ✅ consultar_pipeline ``` **Necesita**: * Buscar cliente * Actualizar información completa * Consultar historial * Exportar reportes **No necesita**: * Eliminar clientes (muy peligroso) * Modificar precios base **Configuración**: ``` Integración: CRM Clientes Herramientas permitidas: 6 de 10 ✅ buscar_cliente ✅ actualizar_cliente ✅ consultar_historial ✅ exportar_reporte ✅ crear_nota ✅ programar_reunion ``` ### Ventajas del Filtrado Reduce el riesgo de que un agente ejecute acciones peligrosas por error o confusión. El agente solo ve herramientas relevantes, reduciendo confusión sobre cuál usar. Facilita auditorías mostrando exactamente qué permisos tiene cada agente. Reutiliza la misma integración para múltiples agentes con diferentes niveles de acceso. ## Múltiples Integraciones por Agente Un agente puede tener asignadas **múltiples integraciones** simultáneamente. Esto es útil cuando necesita interactuar con varios sistemas. ### Ejemplo: Agente de E-commerce ``` Agente: "Soporte E-commerce" Integraciones asignadas: 1. Integración: Sistema de Pedidos Herramientas: - consultar_pedido - consultar_envio - cancelar_pedido 2. Integración: Plataforma de Pagos Herramientas: - consultar_transaccion - procesar_reembolso (con confirmación) 3. Integración: CRM Clientes Herramientas: - buscar_cliente - actualizar_contacto 4. Integración: Sistema de Inventario Herramientas: - consultar_disponibilidad - verificar_stock ``` Durante una llamada, este agente puede: 1. Buscar al cliente en el CRM 2. Consultar su pedido en el Sistema de Pedidos 3. Verificar el estado del pago en la Plataforma de Pagos 4. Si es necesario, procesar un reembolso (con confirmación del usuario) 5. Verificar disponibilidad de productos alternativos en Inventario **Organización**: Agrupa herramientas relacionadas en integraciones separadas. Es más fácil gestionar "Integración Pagos" + "Integración CRM" que una sola "Integración Mega" con 50 herramientas. ## Verificar Configuración Después de asignar integraciones, verifica que todo esté configurado correctamente: ### Probar en Llamada Real La mejor forma de validar es realizar llamadas de prueba: Define escenarios que requieran usar cada herramienta: * "El usuario quiere saber el estado de su pedido 12345" * "El usuario solicita un reembolso" * "El usuario quiere actualizar su email" Llama al agente y presenta cada escenario Confirma que: * El agente usa la herramienta correcta * Los parámetros se envían correctamente * La herramienta devuelve datos esperados * El agente interpreta y comunica la respuesta apropiadamente * La confirmación de usuario funciona cuando está activada Consulta los logs de llamadas para ver: * Qué herramientas se ejecutaron * Qué parámetros se enviaron * Qué respuestas se recibieron * Si hubo errores ## Siguientes Pasos Aprende a instruir a tus agentes sobre cuándo y cómo usar cada herramienta. Conecta cualquier API REST a tus agentes. Sincroniza herramientas automáticamente desde servidores MCP. Gestiona múltiples versiones de agentes con diferentes configuraciones. # Añade bases de conocimiento Source: https://docs.diga.io/es/build/agentes/bases-conocimiento Asigna bases de conocimiento a tus agentes para que accedan a información de tu negocio durante las conversaciones. Las bases de conocimiento proporcionan a tus agentes información específica de tu negocio para que puedan responder con precisión durante las llamadas. En lugar de incluir toda la información en el prompt, puedes vincular documentos, URLs y textos que el agente consultará automáticamente. Para aprender a crear y gestionar bases de conocimiento, consulta la [guía de bases de conocimiento](/es/build/bases-conocimiento). ## En agentes de prompt único En un agente de prompt único, las bases de conocimiento se asignan desde la pestaña **Personalizar** del agente, dentro de la sección **Bases de conocimiento**. Accede al agente, ve a la pestaña **Personalizar** y despliega la sección **Bases de conocimiento**. Haz clic en el dropdown **Vincular documentos**. Aparecerá una lista con los documentos y bases de conocimiento disponibles en el proyecto. Puedes buscar por nombre usando el campo de búsqueda. Selecciona los documentos o bases que quieras vincular. Se pueden seleccionar varios a la vez y se copiarán automáticamente. Los documentos vinculados aparecen listados debajo, y puedes desvincularlo de tu agente haciendo clic en el icono de eliminar junto a cada uno. ### Añadir contenido nuevo El control de bases de conocimiento vincula documentos y bases existentes; no crea contenido nuevo directamente desde aquí. Para añadir archivos, textos o URLs nuevos, ve a la sección [Bases de conocimiento](/es/build/bases-conocimiento) y créalos allí. Después estarán disponibles para vincularlos desde este dropdown. Cuando todavía no existe ninguna base de conocimiento, el estado vacío te lleva directamente a la sección de Bases de conocimiento para que crees la primera. ## En agentes de camino conversacional Los agentes de camino conversacional ofrecen mayor flexibilidad con las bases de conocimiento gracias a un sistema de **herencia entre niveles**: el nivel global del agente y el nivel individual de cada nodo. ### Nivel global (personalización del agente) Cuando asignas bases de conocimiento desde la pestaña **Personalizar** del agente, estas se aplican a **todos los nodos** del camino conversacional. El agente tendrá acceso a esta información en cualquier punto de la conversación. La configuración es idéntica a la de un agente de prompt único: despliega la sección **Bases de conocimiento**, usa el dropdown **Vincular documentos** para seleccionar documentos. ### Nivel de nodo Dentro de la pestaña **Nodo**, en los ajustes de cada nodo conversacional, encontrarás dos formas de proporcionar información específica: **Conocimiento en contexto** Un campo de texto libre donde puedes escribir información relevante que quieres que esté disponible solo en ese nodo. Es útil para datos puntuales que no necesitan un documento completo. > Ejemplo: *"El horario de atención es de lunes a viernes, de 9:00 a 18:00. Los fines de semana el servicio no está disponible."* **Bases de conocimiento del nodo** Cada nodo tiene su propia sección de **Bases de conocimiento** con el dropdown **Vincular documentos**. Los documentos vinculados aquí se **suman** a los heredados del nivel global. Bases de conocimiento en nodo ### Herencia de bases de conocimiento Por defecto, cada nodo **hereda** las bases de conocimiento asignadas a nivel global. Esto significa que no necesitas configurar las bases en cada nodo individualmente. Si un nodo no necesita las bases de conocimiento globales, puedes desactivar el toggle **Heredar conocimiento** en los ajustes del nodo. Al desactivarlo: * El nodo dejará de tener acceso a las bases de conocimiento globales. * Solo utilizará las bases vinculadas directamente al propio nodo (si las hay). El toggle de **Heredar conocimiento** solo aparece en los nodos cuando hay al menos una base de conocimiento asignada a nivel global del agente. Si no hay bases globales configuradas, este control no se muestra. | Configuración | Comportamiento | | - | - | | Herencia activada + sin bases en el nodo | El nodo usa solo las bases globales | | Herencia activada + bases en el nodo | El nodo usa las bases globales **más** las del nodo | | Herencia desactivada + bases en el nodo | El nodo usa solo sus bases específicas | | Herencia desactivada + sin bases en el nodo | El nodo no tiene acceso a ninguna base de conocimiento | ## Buenas prácticas Asigna a nivel global las bases que apliquen a toda la conversación: datos de la empresa, políticas generales, preguntas frecuentes. Reserva las bases a nivel de nodo para información específica de ese momento del flujo. Si solo necesitas que el nodo conozca un dato concreto (un horario, una dirección, un precio), usa el campo de texto en lugar de crear un documento completo. Asigna solo las bases necesarias en cada nivel. Demasiada información puede hacer que el agente pierda foco en lo relevante para cada momento de la conversación. Solo desactiva la herencia cuando la información global no sea relevante para ese nodo. En la mayoría de casos, mantener la herencia activa y añadir bases específicas es la mejor opción. ## Siguientes pasos Crea, organiza y gestiona las bases de conocimiento de tu proyecto. Aprende a construir flujos con nodos y transiciones. # Como funciona Source: https://docs.diga.io/es/build/agentes/camino-conversacional Construye agentes telefónicos con flujos estructurados mediante nodos y transiciones para escenarios de llamadas complejas ## ¿Qué es un Agente de Camino Conversacional? Los agentes de camino conversacional te permiten crear múltiples nodos para manejar diferentes escenarios en las conversaciones. Este enfoque proporciona un control más detallado sobre el flujo de la conversación en comparación con los agentes de prompt único, permitiéndote manejar escenarios más complejos con resultados predecibles. **¿Cuándo usar Caminos Conversacionales?** Esta arquitectura es ideal cuando necesitas: * Control preciso sobre el flujo de la conversación * Ejecutar herramientas en momentos determinados * Manejar múltiples escenarios con lógica condicional * Comportamiento 100% predecible y auditable * Transferir llamadas basándose en el contexto Para casos más simples, considera usar Agentes de Prompt Único En este vídeo verás cómo construir un agente con caminos conversacionales: nodos, transiciones, nodos de herramienta y de flujo, transferencias y nodos globales.