# Fuentes de Respuesta Source: https://docs.braviloai.com/agent/answer-sources Mostrá de dónde saca la información el agente Las **Fuentes de Respuesta** son enlaces a los documentos o fragmentos de datastore que el agente usó para generar una respuesta. ## Cómo funciona Cuando el agente responde usando información de tu base de conocimiento, puede mostrar al usuario las fuentes exactas (nombre del documento y link). ## Activación 1. Andá a tu agente → **Configuración** 2. Buscá la opción **"Incluir fuentes"** 3. Activá el toggle ## Qué se muestra * **Nombre del datasource**: "Política de Privacidad", "Catálogo 2024", etc. * **Link directo**: Si el datasource tiene una URL pública, el usuario puede hacer click. * **Score de relevancia**: Qué tan relacionado estaba el fragmento con la pregunta. ## Cuándo usarlo * **Soporte técnico**: El usuario puede verificar la info en la documentación original. * **Legal/compliance**: Demostrá que la respuesta se basa en documentos oficiales. * **Transparencia**: Generá confianza mostrando de dónde viene cada dato. ## Consejos * Si las fuentes son internas o privadas, desactivá esta opción. * Mantené los nombres de los datasources descriptivos para que el usuario entienda qué está viendo. # Campañas de Broadcast Source: https://docs.braviloai.com/agent/broadcast ## ¿Qué es una campaña de broadcast? Una campaña de broadcast te permite enviar mensajes masivos a una lista de contactos por WhatsApp. Ideal para: Importante: Los broadcasts por WhatsApp API requieren usar Templates de mensaje aprobados por Meta. No se pueden enviar mensajes libres como primer contacto. ## Crear un template de mensaje Antes de enviar un broadcast necesitás un template aprobado: Tip: Meta aprueba más rápido templates que son informativos o transaccionales. Evitá lenguaje demasiado promocional o agresivo. ## Crear una campaña Para crear tu campaña de broadcast en Bravilo: ## Segmentar tus envíos Para mejores resultados, segmentá tus envíos usando listas de contactos: Listas Creá listas desde Contactos para agrupar por interés, etapa del pipeline o ubicación. Personalización Usá variables para que cada mensaje se sienta personal (nombre, empresa, etc.). ## Tracking de resultados Después de enviar una campaña, podés ver las métricas: # Contactos y Listas Source: https://docs.braviloai.com/agent/contacts-lists ## ¿Cómo se crean los contactos? Los contactos en Bravilo se crean de dos formas : 🤖 Automáticamente Cuando tu agente captura datos de un lead durante una conversación (nombre, email, teléfono) 📤 Importación CSV Subí un archivo CSV con tus contactos existentes usando el botón "Importar" ¿Sabías? Todos los datos que capturan tus Agentes y Formularios se almacenan automáticamente en la sección de Contactos. No necesitás configurar nada extra. ## Importar contactos desde CSV Para importar contactos existentes desde una planilla: - Andá a Contactos desde el menú lateral * Hacé click en el botón "Importar" (arriba a la derecha) * Seleccioná tu archivo CSV * Mapeá las columnas del CSV a los campos de Bravilo (nombre, email, teléfono) * Confirmá la importación ## Panel de estadísticas En la parte superior de la página de Contactos vas a ver 4 tarjetas de métricas : ## Buscar, filtrar y editar La tabla de contactos tiene funciones avanzadas para gestión rápida: Búsqueda Buscá por nombre, email o teléfono en tiempo real. Editar Hacé click en un contacto para editar sus datos manualmente. Eliminar Seleccioná uno o varios contactos para eliminarlos en lote. Listas Organizá contactos en listas para segmentar campañas. ## Límites de contactos por plan Cada plan tiene un límite de contactos. Cuando te acerques al límite vas a ver alertas en la parte superior: ⚡ Cerca del límite Cuando usás más del 80% del límite, aparece una alerta amarilla. ⚠️ Límite alcanzado Los agentes dejan de agregar contactos automáticamente. Eliminá o mejorá tu plan. Pipeline de leads Ver todas → Centro de Ayuda. # Conversation file upload Source: https://docs.braviloai.com/agent/conversation-file-upload Los usuarios pueden subir archivos durante una conversación con un agente. Esta función es útil cuando los usuarios necesitan compartir archivos con agentes o con operadores humanos. Los archivos subidos durante una conversación no son accesibles para otras conversaciones. Para extender el conocimiento del Agente para todas las conversaciones, usa un [Almacén de Datos](/datastore) en su lugar. Los agentes pueden procesar los siguientes tipos de archivo: * text/csv * text/plain * text/markdown * application/pdf * application/json * application/vnd.openxmlformats-officedocument.presentationml.presentation * application/vnd.openxmlformats-officedocument.wordprocessingml.document * application/vnd.openxmlformats-officedocument.spreadsheetml.sheet * image/png (Requiere capacidad de procesamiento de imágenes) * image/jpeg (Requiere capacidad de procesamiento de imágenes) * image/gif (Requiere capacidad de procesamiento de imágenes) * image/webp (Requiere capacidad de procesamiento de imágenes) Los tipos de archivo no soportados serán ignorados por la IA Para reutilizar un archivo subido usa el menú desplegable de archivos de conversación # Probar tu Agente Source: https://docs.braviloai.com/agent/debug ## Acceder al chat de prueba Cada agente tiene un chat integrado para que lo pruebes antes de publicarlo. No necesitás herramientas externas. \- Andá a Agentes y seleccioná tu agente * En el panel derecho vas a ver la sección "Chat" * Empezá a escribirle como si fueras un cliente ## ¿Qué probar primero? Estas son las pruebas más importantes que deberías hacer antes de publicar: ## Ajustar con el Instructor Si una respuesta no te convence, usá el Instructor (panel izquierdo) para mejorar al agente en tiempo real: Instructor Hablale al Instructor como si le explicaras a un empleado: "Cuando pregunten precios, respondé con la lista actualizada..." Iterar rápido Instruí → Probá → Ajustá. Repetí hasta que las respuestas sean perfectas. Importante: Después de instruir al agente, volvé al Chat y probá de nuevo para verificar que los cambios se aplicaron correctamente. ## Probar la captura de datos Si tu agente está configurado para capturar datos de contacto (nombre, email, teléfono), probá que lo haga correctamente: - Iniciá una conversación como si fueras un cliente interesado * Proporcioná datos ficticios cuando te los pida * Verificá en Contactos que el test aparezca * Eliminá el contacto de prueba después ## Checklist antes de publicar Antes de conectar tu agente a WhatsApp o tu web, asegurate de verificar: , # Prompt Engineering para Ventas Source: https://docs.braviloai.com/agent/fine-tuning ## El Instructor es tu herramienta principal El Instructor es el panel izquierdo dentro de tu agente. Acá es donde le "enseñás" cómo comportarse. Pensalo como darle instrucciones a un empleado nuevo: ❌ Instrucción vaga "Vendé bien" ✅ Instrucción clara "Cuando alguien pregunte por precios, mostrá las 3 opciones de planes. Si duda, ofrecé una demo gratuita de 15 minutos." Clave: Cuanto más específico seas, mejores resultados. Incluí ejemplos de respuestas ideales, tono, y qué hacer en situaciones comunes. ## Definir el tono y personalidad El tono de tu agente debe ser consistente con tu marca. Ejemplos de instrucciones: ## Manejar objeciones de venta Las objeciones son oportunidades. Enseñale a tu agente cómo manejar las más comunes: Objeción: ## Técnicas de cierre Enseñale a tu agente cuándo y cómo cerrar una venta: ## Qué NO hacer — errores comunes # Tu Primer Agente Source: https://docs.braviloai.com/agent/get-started ## Ir a la página de Agentes Desde el menú lateral, hacé click en "Agentes". Es el ícono del robot 🤖. Esto te lleva al panel donde podés crear y administrar todos tus agentes. Si es tu primera vez, vas a ver una pantalla con el título "¿Qué vamos a delegar hoy?" y un campo grande para describir lo que necesitás. Tip: Si el menú lateral está colapsado (solo íconos), hacé click en la flecha para expandirlo y ver los nombres. ## Describir lo que necesitás Este es el paso más importante. En el campo de texto, describí con detalle qué querés que haga tu agente. Bravilo usa IA para generar automáticamente el nombre, el prompt y toda la configuración a partir de tu descripción. ¿Qué incluir en tu descripción? ## Usar plantillas o archivos (opcional) Si no sabés cómo empezar, Bravilo te ofrece ayuda: 📋 Plantillas Hacé click en "Plantillas" abajo del campo de texto. Hay 8 plantillas listas: Soporte, Ventas B2B, Lead Qualifier, Agendador, etc. 📎 Archivos Hacé click en el botón "+" a la izquierda para subir PDFs, docs o CSVs. Bravilo crea automáticamente una base de conocimiento con esos archivos. 🎤 Dictado por voz Hacé click en el ícono del micrófono para dictar tu descripción por voz. ## Enviar y dejar que la IA construya Una vez que tengas tu descripción lista, presioná Enter o hacé click en el botón azul ↑. Bravilo hace todo automáticamente: ## El panel del agente: Instructor + Chat Una vez creado, entrás al panel del agente. Está dividido en dos columnas: Columna izquierda: Instructor Es el "builder" conversacional. Podés hablar con la IA para mejorar el prompt del agente. Ej: "agregale que responda en formal" y la IA actualiza las instrucciones. Columna derecha: Chat de prueba Es un chat en vivo con tu agente. ## Barra de herramientas del agente Arriba a la izquierda del panel del agente tenés botones para acceder a distintas secciones: # Transferencia a Humano Source: https://docs.braviloai.com/agent/human-handoff Derivá conversaciones a un operador humano cuando sea necesario La función de **Transferencia a Humano** mejora las interacciones con clientes al proporcionar una transición fluida de conversaciones impulsadas por IA al control directo de operadores humanos. Esta funcionalidad asegura que los usuarios reciban respuestas precisas y empáticas en cualquier momento durante su interacción. Tenés la capacidad de intervenir y tomar el control de tu agente de IA cuando sea necesario. ## Modos de transferencia Bravilo ofrece dos modos para gestionar la transferencia a humano: ### Default (por defecto) Cuando se activa la transferencia a humano, el agente de IA se **deshabilita temporalmente** y un operador humano toma el control de la conversación. * El usuario ve claramente que ahora está hablando con una persona. * El agente no responde hasta que el operador humano reactive la IA manualmente. * Ideal para soporte técnico complejo o quejas que requieren intervención directa. ### Silent (silencioso) En modo silent, el operador humano puede ver y responder en la conversación **sin que el usuario se dé cuenta del cambio**. * El usuario sigue viendo respuestas como si fueran del agente. * Útil para supervisión de calidad, respuestas rápidas de un humano sin romper la experiencia de IA, o cuando querés mantener la marca del bot. * El operador puede escalar a Default si la conversación lo requiere. ## Cómo activar Para activar el modo de Transferencia a Humano, andá a la **Bandeja de entrada** y hacé click en el botón **"Responder"**. > **Nota:** Cuando el modo de Transferencia a Humano está activado, el agente de IA será temporalmente deshabilitado. Para volver a las respuestas automatizadas y re-habilitar tu IA, hacé click en el botón **"Habilitar IA"**. ## Canales soportados La función de Transferencia a Humano se integra con: * Widget de Burbuja de Chat * Widget de iFrame * Página Independiente * WhatsApp Business API * Instagram Al aprovechar estas integraciones, la función asegura una experiencia de usuario versátil y eficiente en diferentes entornos de mensajería. # Lead Prospector Source: https://docs.braviloai.com/agent/lead-prospector ## Entrar a Lead Prospector Lead Prospector te ayuda a encontrar empresas y contactos ideales para tu negocio con filtros avanzados. \- Abrí el menú lateral y entrá en Lead Prospector * Definí rubro, ubicación y tamaño de empresa * Aplicá filtros para quedarte con leads realmente relevantes ## Segmentar y guardar resultados Guardá segmentos para reutilizar búsquedas y acelerar tus campañas. 🎯 Filtros Industria, país, tamaño, señales de intención, etc. 💾 Segmentos guardados Guardá tus criterios y volvé a usarlos en segundos. ## Enviar al CRM y activar outreach Una vez validados los leads, podés enviarlos al CRM y activar secuencias de contacto. Tip: filtrá primero por calidad y recién después importá al CRM para mantener una base limpia. Ir a Contactos. # Pipeline de Leads Source: https://docs.braviloai.com/agent/leads-pipeline ## ¿Qué es el Pipeline de Leads? El pipeline es el recorrido que hace un contacto desde que te escribe por primera vez hasta que se convierte en cliente. Bravilo lo gestiona automáticamente con IA. Lo mejor: La IA de Bravilo clasifica automáticamente en qué etapa está cada lead basándose en la conversación. No tenés que hacerlo manualmente. ## Acceder al Pipeline Para ver y gestionar tus leads: ## Lead Scoring automático Cada lead recibe un score de 0 a 100 que indica qué tan probable es que se convierta en cliente. Bravilo lo calcula automáticamente usando: ## Mover leads entre etapas Hay dos formas de mover un lead de etapa: Automático (IA) La IA analiza la conversación y mueve al lead automáticamente. Ej: si pregunta precios → "Calificado". Manual (Vos) Arrastrá la tarjeta del lead de una columna a otra en el tablero Kanban. Ideal para ajustes finos. ## Filtrar y buscar leads Cuando tengas muchos leads, usá los filtros para encontrar lo que buscás: ## Follow-ups y alertas automáticas Bravilo puede hacer seguimiento automático de tus leads: Consejo pro: Focalizá tu tiempo en los leads con score 80. Son los que tienen mayor probabilidad de conversión. # Sugerencias de Mensajes Source: https://docs.braviloai.com/agent/message-suggestions Mostrá ejemplos de preguntas para guiar al usuario Las **Sugerencias de Mensajes** son botones predefinidos que aparecen en el chat para darle ideas al usuario sobre qué puede preguntar. ## Cómo funcionan En lugar de enfrentar al usuario con un campo de texto vacío, mostrá ejemplos de preguntas comunes. Al hacer click, el mensaje se envía automáticamente. ## Configuración 1. Andá a tu agente → **Configuración** → **Sugerencias** 2. Agregá hasta 5 sugerencias por defecto 3. Opcional: Definí sugerencias específicas por página (usando el widget) ## Ejemplos | Tipo de agente | Sugerencias útiles | | -------------- | ---------------------------------------------------------------- | | Soporte | "¿Cómo reseteo mi password?", "¿Cuál es el horario de atención?" | | Ventas | "¿Cuánto cuesta el Plan Pro?", "¿Tienen descuentos anuales?" | | Onboarding | "¿Cómo empiezo?", "¿Necesito tarjeta de crédito?" | ## Consejos * Mantené las sugerencias cortas (máximo 60 caracteres). * Actualizalas según las preguntas más frecuentes que veas en Analytics. * Si el usuario no hace click, el agente igual responde cualquier mensaje libre. # Multi-Agente Source: https://docs.braviloai.com/agent/multi-agent ## ¿Cuándo necesitás múltiples agentes? Un solo agente sirve para la mayoría de los casos. Pero hay situaciones donde múltiples agentes especializados funcionan mejor: ## Crear agentes especializados Cada agente se crea de la misma forma (describiendo qué necesitás), pero con un enfoque específico : ## Routing: ¿Quién responde? Hay varias formas de decidir qué agente responde cada conversación: Por canal Conectá cada agente a un canal diferente: Ventas en WhatsApp, Soporte en Web Chat. Por número Usá diferentes números de WhatsApp Business: uno para ventas, otro para soporte. Por horario Agente de ventas de 9-18hs, agente después-de-hora fuera de ese rango. Por @ mención Al crear un agente, mencioná otro con @ para que delegue cuando sea necesario. ## Base de conocimiento compartida vs separada Decidí si tus agentes comparten información o tienen bases separadas: ✅ Compartida Todos los agentes acceden al mismo Datastore. Ideal cuando la info es la misma pero el tono cambia. 📂 Separada Cada agente tiene su propio Datastore. Ideal cuando manejan áreas completamente distintas. ## Buenas prácticas multi-agente # Optimizar Respuestas Source: https://docs.braviloai.com/agent/optimize-ai-answers Cómo mejorar la calidad de las respuestas de tu agente Los agentes de IA pueden producir respuestas inexactas o fuera del alcance. Esto se conoce como "alucinación". Bravilo proporciona múltiples mecanismos para disminuir este efecto. ## Evitar contenido duplicado Se debe evitar agregar múltiples veces los mismos documentos o información, incluso traducidos. El contenido duplicado puede impactar el rendimiento del chatbot. Es mejor agregar una pieza de información solo una vez, sin importar el idioma. ## Usar un modelo más potente Los modelos más avanzados suelen generar respuestas más precisas y respetuosas con las instrucciones del prompt. La contraparte es que consumen más créditos y pueden ser ligeramente más lentos. Desde la configuración de tu agente podés seleccionar el nivel de potencia que mejor se adapte a tus necesidades. ## Ajustar las respuestas de tu agente Usá nuestra característica de **Ajustar Respuestas** para corregir la respuesta de un agente cuando no sea la esperada. Esta función te permite enseñarle al agente la respuesta correcta para una pregunta específica. # Rate Limit Source: https://docs.braviloai.com/agent/rate-limit Limitá la cantidad de mensajes por usuario El **Rate Limit** permite controlar cuántos mensajes puede enviar un mismo usuario en un período de tiempo. ## Para qué sirve * Evitar abuso del servicio (spam, bots). * Controlar costos de API de IA. * Garantizar calidad de servicio para todos los usuarios. ## Configuración 1. Andá a tu agente → **Configuración** → **Rate Limit** 2. Definí el límite de mensajes por ventana de tiempo: * Ejemplo: 20 mensajes cada 1 hora * Ejemplo: 100 mensajes cada 24 horas 3. Personalizá el mensaje que ve el usuario cuando alcanza el límite. ## Alcance Esta configuración se aplica a: * Widget de burbuja de chat * Widget de iframe * Widget de página independiente No aplica a integraciones de WhatsApp, Instagram ni otros canales oficiales (esos tienen sus propios límites de la plataforma). ## Consejos * Para sitios públicos con alto tráfico, usá límites más estrictos. * Para clientes VIP o usuarios logueados, podés desactivar el rate limit. # Gestión de Equipo Source: https://docs.braviloai.com/agent/team ## Acceder a la configuración del equipo La gestión de equipo se encuentra dentro de Configuración : - Hacé click en Configuración (ícono de engranaje en el menú lateral) * Seleccioná la pestaña "Equipo" * Vas a ver el panel de gestión con estadísticas, invitaciones y lista de miembros ## Invitar un nuevo miembro Para agregar personas a tu organización: - En la sección "Invitar Nuevo Miembro" , escribí el email de la persona * Hacé click en "Invitar" * La persona recibe un email con un link para unirse * Cuando acepte, aparece en la lista como "Activo" ## Roles y permisos Bravilo tiene 3 roles con diferentes niveles de acceso: ## Cambiar roles y gestionar miembros Podés cambiar el rol de cualquier miembro o eliminarlo: Cambiar rol Hacé click en el menú (⋮) junto al miembro y seleccioná el nuevo rol. Remover miembro Desde el mismo menú, seleccioná "Remover Miembro". No se puede remover al Propietario. Importante: Solo los Propietarios y Administradores pueden gestionar miembros. Los Usuarios no ven esta sección. ## Personalizar tu organización En la parte superior de la página de Equipo podés personalizar tu organización: 🖼️ Logo del equipo Subí una imagen que identifique tu organización ✏️ Nombre del equipo El nombre que aparece en el dashboard y en invitaciones Auto-guardado: Los cambios en el nombre y logo se guardan automáticamente. No necesitás hacer click en ningún botón de "Guardar". Contactos y listas API Keys. # Composio Tool Source: https://docs.braviloai.com/agent/tools/composio-tool Conectá tu agente con cientos de apps vía Composio La **Composio Tool** habilita el catálogo completo de herramientas de [Composio](https://composio.dev), permitiendo que tu agente se conecte y ejecute acciones en cientos de aplicaciones SaaS. ## Qué puede hacer * **Notion**: Crear páginas, consultar bases de datos, actualizar registros. * **GitHub**: Crear issues, hacer code review, mergear PRs. * **CRM**: Salesforce, HubSpot, Pipedrive. * **Y muchas más**: Google Docs, Trello, Asana, Jira, etc. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Composio"** 3. Conectá tu cuenta de Composio (o creá una nueva) 4. Seleccioná las apps que querés habilitar para el agente 5. Autorizá cada app individualmente (OAuth) ## Ejemplo de uso > Usuario: "Creá una página en Notion para el proyecto Alpha" > Agente: "Listo, creé la página 'Proyecto Alpha' en tu workspace de Notion." ## Requisitos * Cuenta en Composio (puede ser gratuita). * Autorización OAuth para cada app que querés usar. ## Limitaciones * Algunas apps requieren plan pago de Composio. * El agente solo puede hacer acciones que estén disponibles en el plan de Composio vinculado. # Datastore Tool Source: https://docs.braviloai.com/agent/tools/datastore-tool Conectá tu base de conocimiento al agente El **Datastore Tool** permite que tu agente consulte información de una base de conocimiento durante una conversación. ## Cómo funciona Cuando un usuario hace una pregunta, el agente busca en el datastore los fragmentos de documentos más relevantes y usa esa información para responder con precisión. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Hacé click en **"Agregar Datastore"** 3. Seleccioná el datastore que querés conectar 4. Definí cuántos fragmentos (chunks) querés que recupere el agente por consulta ## Casos de uso * **Soporte técnico**: El agente consulta manuales y FAQs para responder dudas. * **Ventas**: Consulta catálogos de productos, precios y disponibilidad. * **Onboarding**: Busca en guías internas para ayudar a nuevos empleados. ## Consejos * Mantené el datastore actualizado con información fresca. * Usá metadata para filtrar resultados por categoría, producto o departamento. * Si el agente no encuentra respuesta, configurá un mensaje de fallback claro. # Delegar Tarea Tool Source: https://docs.braviloai.com/agent/tools/delegate-task-tool Permití que tu agente delegue tareas a otros agentes La **Delegar Tarea Tool** permite que un agente invoque y delegue una tarea a otro agente dentro de la misma organización, usando `@handle`. ## Qué puede hacer * **Especialización**: Un agente de soporte puede delegar una consulta de ventas al agente comercial. * **Escalamiento**: Un agente de primer nivel puede pasar un caso complejo a un agente senior. * **Colaboración**: Múltiples agentes pueden trabajar en distintas partes de una misma solicitud. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Delegar Tarea"** 3. Activá la herramienta 4. Configurá los handles de los agentes a los que puede delegar (ej: `@ventas`, `@soporte-tecnico`) ## Ejemplo de uso > Usuario: "Quiero hacer una compra mayorista" > Agente de Soporte: "Te paso con nuestro equipo de ventas para que te ayuden con la compra mayorista." > *\[Delega a @ventas]* > Agente de Ventas: "¡Hola! Para compras mayoristas tenemos descuentos desde 10 unidades. ¿Qué productos te interesan?" ## Requisitos * Múltiples agentes creados en la misma organización. * Cada agente delegado debe tener un handle único configurado. ## Buenas prácticas * Definí claramente el alcance de cada agente para evitar loops de delegación. * Agregá instrucciones en el prompt sobre cuándo delegar y a quién. # Form Tool Source: https://docs.braviloai.com/agent/tools/form-tool Usá formularios conversacionales para capturar datos La **Form Tool** permite que tu agente recolecte información estructurada de los usuarios a través de una conversación natural. ## Cómo funciona En lugar de mostrar un formulario estático, el agente hace preguntas una por una y completa los campos automáticamente. Al final, devuelve un objeto JSON con todos los datos. ## Configuración 1. Andá a **Formularios** y creá un nuevo form 2. Definí los campos que querés capturar (nombre, email, teléfono, etc.) 3. En tu agente → **Habilidades**, agregá la **Form Tool** 4. Seleccioná el formulario que creaste ## Casos de uso * **Calificación de leads**: Nombre, email, presupuesto, timeline. * **Soporte**: Descripción del problema, número de pedido, prioridad. * **Agendamiento**: Fecha preferida, tipo de servicio, datos de contacto. ## Consejos * Marcá campos como obligatorios solo si son críticos. * Agregá instrucciones claras en el prompt del agente sobre cuándo usar el formulario. # Google Calendar Tool Source: https://docs.braviloai.com/agent/tools/google-calendar-tool Permití que tu agente programe eventos y reuniones automáticamente La **Google Calendar Tool** permite que tu agente cree, modifique y consulte eventos en Google Calendar directamente desde una conversación. ## Qué puede hacer * **Agendar reuniones**: Crear eventos con fecha, hora y participantes. * **Consultar disponibilidad**: Verificar si hay conflictos de horario antes de proponer una fecha. * **Enviar invitaciones**: Generar links de Google Meet automáticamente. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Google Calendar"** 3. Conectá tu cuenta de Google (OAuth) 4. Seleccioná el calendario que usará el agente 5. Definí el timezone por defecto ## Ejemplo de uso > Usuario: "Quiero agendar una reunión para mañana a las 15hs" > Agente: "Perfecto, te agendé una reunión para mañana 15:00. Te envié la invitación a tu email." ## Requisitos * Tener una cuenta de Google con acceso a Google Calendar. * El agente debe tener permisos de escritura sobre el calendario seleccionado. ## Solución de problemas * **"No tengo acceso"**: Reconectá la cuenta de Google desde la configuración de la herramienta. * **Conflictos de horario**: El agente verifica disponibilidad antes de crear el evento, pero si hay múltiples calendarios puede no verlos todos. # Google Sheets Tool Source: https://docs.braviloai.com/agent/tools/google-sheets-tool Permití que tu agente lea y escriba datos en Google Sheets La **Google Sheets Tool** permite que tu agente interactúe con hojas de cálculo de Google para leer, escribir o actualizar datos. ## Qué puede hacer * **Leer filas**: Consultar datos de una hoja específica. * **Escribir datos**: Agregar nuevas filas con información recolectada en la conversación. * **Actualizar celdas**: Modificar valores existentes. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Google Sheets"** 3. Conectá tu cuenta de Google (OAuth) 4. Elegí la hoja de cálculo y la pestaña que usará el agente 5. Definí el mapeo de columnas (qué dato va en qué columna) ## Ejemplo de uso > Usuario: "Registrá mi pedido: 2 camisetas azules, tamaño M" > Agente: "Listo, registré tu pedido en la hoja de pedidos. ¿Necesitás algo más?" ## Requisitos * Tener una cuenta de Google con acceso a la hoja de cálculo. * La hoja debe tener permisos de edición para la cuenta conectada. ## Buenas prácticas * Usá encabezados descriptivos en la primera fila. * No modifiques manualmente las filas que el agente está gestionando para evitar conflictos. # HTTP Tools y Webhooks Source: https://docs.braviloai.com/agent/tools/http-tool ## Dos herramientas diferentes Bravilo tiene dos sistemas de integración distintos. Es importante entender la diferencia: HTTP Tools El agente llama a tu API durante una conversación. Ejemplo: buscar un precio, crear un ticket, generar un link de pago. Agente → tu sistema Webhooks Bravilo notifica a tu sistema cuando pasa algo. Ejemplo: nuevo lead capturado, conversación finalizada, mensaje recibido. ## HTTP Tools: El agente llama a tu API Las HTTP Tools se crean desde las Habilidades del agente. Son herramientas que el agente decide usar durante una conversación: - Andá a tu agente → "Habilidades" * Buscá "Herramientas HTTP" o "Custom Tool" * Hacé click en "Crear herramienta" * Configurá: URL , Método (GET/POST), Headers y Body * Describí en lenguaje natural cuándo debe usarla ## Webhooks: Notificaciones automáticas Los Webhooks son notificaciones que Bravilo envía a tu sistema cuando ocurre un evento. No dependen de una conversación — se disparan automáticamente. \- Andá a tu agente → sección "Webhooks" * Hacé click en "Crear webhook" * Ingresá la URL de tu sistema que va a recibir las notificaciones * Seleccioná los eventos que querés escuchar * Opcionalmente, configurá filtros para ser más específico * Bravilo te genera un Secret para verificar la autenticidad de cada request ## Seguridad y verificación Cada webhook tiene un Secret único que Bravilo usa para firmar cada entrega. Tu sistema puede verificar que la notificación viene realmente de Bravilo: // Verificá la firma con el Secret: const expected = crypto .createHmac('sha256', WEBHOOK\_SECRET) .update(rawBody) .digest('hex'); if (signature === expected) \`} Seguridad: Siempre verificá la firma en producción. Sin esta verificación, cualquiera podría enviar requests falsos a tu endpoint. ## Historial de entregas Cada webhook tiene un historial de entregas (deliveries) donde podés ver: ## Casos de uso HTTP Tools (durante charla) ). # Instagram Manager Tool Source: https://docs.braviloai.com/agent/tools/instagram-tool Gestioná contenido de Instagram desde tu agente La **Instagram Manager Tool** permite que tu agente gestione contenido de Instagram: publicar posts, responder comentarios y enviar mensajes directos. ## Qué puede hacer * **Responder comentarios**: El agente puede responder automáticamente a comentarios en tus publicaciones. * **Responder DMs**: Responder mensajes directos recibidos en Instagram. * **Publicar posts**: (Según permisos) Crear publicaciones con texto e imágenes. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Instagram Manager"** 3. Conectá tu cuenta de Instagram Business (via Meta/Facebook) 4. Seleccioná la página de Facebook vinculada a la cuenta de Instagram ## Ejemplo de uso > Usuario (comentario): "¿Cuánto cuesta el envío a Córdoba?" > Agente (respuesta): "El envío a Córdoba tiene un costo de \$3.500 y tarda 3 días hábiles." ## Requisitos * Cuenta de Instagram Business o Creator. * Página de Facebook vinculada a la cuenta de Instagram. * Permisos de administrador de contenido sobre la página. ## Limitaciones * Instagram tiene rate limits estrictos. No respondas más de 30 mensajes por hora desde la misma cuenta. * El agente no puede responder a stories ni reels directamente. # Lead Generation Tool Source: https://docs.braviloai.com/agent/tools/lead-generation-tool Capturá y calificá leads automáticamente La **Lead Generation Tool** captura datos de contacto durante una conversación y los guarda automáticamente en tu CRM. ## Cómo funciona Cuando el agente detecta intención de compra o solicitud de información, pide datos de contacto de forma natural y los registra como un nuevo lead. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Activá **"Lead Capture"** 3. Definí qué campos querés capturar: * Nombre * Email * Teléfono * Empresa * Notas ## Casos de uso * **Ventas B2B**: El agente pregunta presupuesto, tamaño de equipo y timeline. * **E-commerce**: Captura datos para envío de cotizaciones personalizadas. * **Servicios**: Recopila tipo de servicio requerido y disponibilidad horaria. ## Consejos * No pidas todos los datos de una sola vez. Hacelo en el flujo natural de la conversación. * Configurá el pipeline para que los leads nuevos entren en la etapa "Nuevo" automáticamente. # Mark as Resolved Tool Source: https://docs.braviloai.com/agent/tools/mark-as-resolved-tool Marcá conversaciones como resueltas automáticamente La **Mark as Resolved Tool** permite que el agente marque una conversación como resuelta cuando detecta que la consulta fue atendida. ## Cómo funciona El agente analiza el contexto de la conversación. Si el usuario confirma que su duda fue resuelta o el problema fue solucionado, el agente puede cambiar el estado a **RESOLVED**. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Activá **"Mark as Resolved"** 3. Opcional: Personalizá el mensaje de cierre que envía antes de marcar resuelta ## Casos de uso * **Soporte técnico**: El usuario confirma que el problema se solucionó. * **Ventas**: La consulta fue respondida y no hay más preguntas. * **Onboarding**: El nuevo usuario completó todos los pasos de bienvenida. ## Consejos * Dejá siempre la opción de que el usuario pueda reabrir la conversación. * Si activás esta tool, asegurate de que el agente pregunte antes de cerrar. # MercadoLibre Tool Source: https://docs.braviloai.com/agent/tools/mercadolibre-tool Respondé automáticamente preguntas y mensajes en MercadoLibre La **MercadoLibre Tool** permite que tu agente responda automáticamente preguntas de compradores y mensajes en MercadoLibre. ## Qué puede hacer * **Responder preguntas**: Contestar automáticamente preguntas sobre productos publicados. * **Responder mensajes de chat**: Interactuar con compradores vía la mensajería de MercadoLibre. * **Consultar stock**: Verificar disponibilidad de productos. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"MercadoLibre"** 3. Conectá tu cuenta de MercadoLibre (OAuth) 4. Seleccioná las publicaciones que el agente monitoreará ## Ejemplo de uso > Comprador: "¿Tenés stock del modelo rojo?" > Agente: "Sí, tenemos stock del modelo rojo. Podés comprarlo directamente desde la publicación." ## Requisitos * Cuenta de vendedor en MercadoLibre. * Permisos de lectura/escritura sobre mensajes y preguntas. ## Limitaciones * MercadoLibre tiene límites de API. Configurá un rate limit adecuado. * No todas las categorías de productos permiten respuestas automáticas. # Odoo Tool Source: https://docs.braviloai.com/agent/tools/odoo-tool Integrá tu agente con Odoo para gestionar ventas, stock y CRM La **Odoo Tool** permite que tu agente interactúe con tu instancia de Odoo para consultar datos, crear registros y gestionar procesos de negocio. ## Qué puede hacer * **Consultar productos**: Verificar stock, precios y descripciones. * **Crear oportunidades**: Generar leads en el CRM de Odoo. * **Consultar pedidos**: Buscar órdenes de venta y su estado. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Odoo"** 3. Configurá la URL de tu instancia de Odoo y las credenciales de API 4. Definí qué modelos puede consultar el agente (productos, leads, órdenes) ## Ejemplo de uso > Usuario: "¿Cuánto cuesta el producto SKU-1234?" > Agente: "El producto SKU-1234 cuesta \$12.500 y tenemos 15 unidades en stock." ## Requisitos * Instancia de Odoo (Community o Enterprise). * Usuario de API con permisos de lectura/escritura sobre los modelos necesarios. ## Solución de problemas * **Error de conexión**: Verificá que la URL de Odoo sea accesible desde internet y que el usuario de API esté activo. # Herramientas del Agente Source: https://docs.braviloai.com/agent/tools/quick-start Mejorá las capacidades de tu agente con herramientas Podés mejorar las capacidades de un Agente con **Herramientas** (Tools). Cada herramienta le da al agente una habilidad específica: desde consultar una base de conocimiento hasta agendar reuniones o enviar archivos. ## Herramientas nativas ## Integraciones ## Utilidades avanzadas # Request Human Tool Source: https://docs.braviloai.com/agent/tools/request-human-tool Derivá conversaciones a un humano cuando sea necesario La **Request Human Tool** permite que el agente pase la conversación a un operador humano cuando detecta que no puede resolver la consulta o el usuario lo solicita explícitamente. ## Cómo funciona El agente detecta triggers como: * El usuario dice "quiero hablar con una persona" * La consulta supera el nivel de complejidad configurado * El usuario está frustrado o insatisfecho Cuando se activa, la conversación cambia a estado **HUMAN\_REQUESTED** y notifica al equipo. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Activá **"Request Human"** 3. Definí los triggers: * Palabras clave (ej: "humano", "persona", "operador") * Umbral de frustración (basado en sentimiento) * Temas fuera de alcance ## Casos de uso * **Quejas complejas**: El agente detecta enojo y deriva inmediatamente. * **Temas sensibles**: Consultas legales, médicas o de seguridad. * **Ventas enterprise**: Clientes de alto valor que requieren atención personalizada. ## Consejos * Configurá un mensaje claro antes de derivar: "Te paso con un agente humano, dame un segundo." * Asigná responsables para que las conversaciones humanas no queden sin atención. # Enviar Archivos Tool Source: https://docs.braviloai.com/agent/tools/send-file-tool Permití que tu agente envíe archivos por WhatsApp y otros canales La **Enviar Archivos Tool** permite que tu agente envíe documentos (PDF, Excel, CSV, imágenes, videos) a través de WhatsApp y otros canales de mensajería. ## Qué puede hacer * **Enviar PDFs**: Catálogos, facturas, manuales. * **Enviar imágenes**: Fotos de productos, capturas de pantalla. * **Enviar Excel/CSV**: Reportes, listas de precios. * **Enviar videos**: Tutoriales, demos. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Enviar Archivos"** 3. Subí los archivos que el agente podrá enviar (o indicá URLs públicas) 4. Asigná un nombre descriptivo a cada archivo para que el agente sepa cuándo usarlo ## Ejemplo de uso > Usuario: "¿Podés enviarme el catálogo de productos?" > Agente: "Claro, te envío el catálogo por WhatsApp." > *\[Envía catalogo-2024.pdf]* ## Canales soportados * WhatsApp Business API * Instagram DM * Facebook Messenger ## Buenas prácticas * Mantené los archivos actualizados. El agente no sabe si un archivo está desactualizado. * Usá nombres claros: "catálogo-2024.pdf" en vez de "doc1.pdf". * Verificá los límites de tamaño de cada canal (WhatsApp: 100MB para documentos). # Buscador Web Tool Source: https://docs.braviloai.com/agent/tools/web-search-tool Permití que tu agente busque información en internet La **Buscador Web Tool** permite que tu agente busque información actualizada en internet y la use para responder preguntas. ## Qué puede hacer * **Buscar noticias**: Información actual sobre cualquier tema. * **Consultar precios**: Precios de competidores o productos. * **Verificar datos**: Confirmar información que no está en tu base de conocimiento. * **Investigar**: Encontrar artículos, estudios o documentación. ## Configuración 1. Andá a tu agente → **Habilidades** 2. Buscá **"Buscador Web"** 3. Activá la herramienta 4. Opcional: Limitá los dominios que puede consultar (whitelist/blacklist) ## Ejemplo de uso > Usuario: "¿Cuál es el tipo de cambio del dólar hoy?" > Agente: "Hoy el dólar blue está a $1.245 y el dólar oficial a $925." ## Requisitos * Tu agente debe tener activada la capacidad de ejecutar herramientas externas. * Si esta capacidad no está disponible en tu plan, la herramienta no funcionará. ## Consejos * Usá esta herramienta para datos que cambian frecuentemente. Para información estable, preferí cargarla en un datastore. * Configurá un límite de búsquedas por conversación para controlar costos. # Autenticación Source: https://docs.braviloai.com/api-reference/authentication ## ¿Qué es una API Key? Una API Key es una clave secreta que te permite conectar Bravilo con otros sistemas de forma programática. Es como un "password" que identifica a tu organización. Integraciones custom Conectá Bravilo con tu CRM, ERP o cualquier sistema propio. Acceso seguro Cada request se autentica con tu key. Solo tu organización puede acceder. ## Crear una API Key Para generar tu primera API Key: - Andá a Configuración → "API Keys" * Hacé click en "Crear API Key" * Tu nueva key aparece en la lista * Hacé click sobre la key para copiarla al portapapeles ## Usar tu API Key Incluí tu API Key en las requests HTTP usando el header Authorization : Documentación completa: Visitá docs.braviloai.com para ver todos los endpoints disponibles, ejemplos y SDKs. ## Gestionar API Keys Podés tener múltiples API Keys activas y eliminar las que ya no necesitás: Crear múltiples Creá keys separadas para cada integración (una para tu CRM, otra para webhooks, etc.). Eliminar Hacé click en el ícono de papelera junto a la key. Debés tener al menos una key activa. Cuidado: Si eliminás una key que está siendo usada por una integración, esa integración dejará de funcionar inmediatamente. Asegurate de actualizar la key en tu sistema antes de eliminar la anterior. # Agent - Get Source: https://docs.braviloai.com/api-reference/endpoint/agents/get Obtiene la configuración pública de un agente Obtiene la configuración pública de un agente. Si el agente es **público**, no requiere autenticación. Si es privado, requiere sesión de la misma organización. > Ideal para renderizar el header de un chat widget (nombre, avatar, tools disponibles). ### Endpoint ```http theme={null} GET /api/agents/{id} ``` ### Parámetros de ruta ID del agente o handle (ej: `@mi-agente`) ### Respuesta ID del agente Nombre del agente Descripción del agente `public` o `private` ### Ejemplo ```bash theme={null} curl -X GET https://app.braviloai.com/api/agents/${agentId} ``` # Agent - Query Source: https://docs.braviloai.com/api-reference/endpoint/agents/query POST /agents/{id}/query ### Streaming ##### When streaming is enabled, the endpoint will emit events "answer" (answer of the model) and "endpoint\_response" (full response of the endpoint) ```js theme={null} import { EventStreamContentType, fetchEventSource, } from '@microsoft/fetch-event-source'; let buffer = ''; let bufferEndpointResponse = ''; const ctrl = new AbortController(); await fetchEventSource(queryAgentURL, { method: 'POST', headers: { 'Content-Type': 'application/json', }, signal: ctrl.signal, body: JSON.stringify({ streaming: true, query, conversationId, visitorId, }), async onopen(response) { if (response.status === 402) { throw new ApiError(ApiErrorType.USAGE_LIMIT); }, onmessage: (event) => { if (event.data === '[DONE]') { // End of stream ctrl.abort(); try { const { sources, conversationId, visitorId } = JSON.parse( bufferEndpointResponse ) as ChatResponse; } catch {} } else if (event.data?.startsWith('[ERROR]')) { // ... } else if (event.event === "endpoint_response") { bufferEndpointResponse += event.data; } else if (event.event === "answer") { buffer += event.data; // ... }, }); ``` # Agent - Query with Routing Source: https://docs.braviloai.com/api-reference/endpoint/agents/query-with-routing POST /agents/{id}/query-with-routing Envía un mensaje a un agente con **routing automático**. Si hay triggers configurados, Bravilo detecta el agente correcto según el contexto y redirige la conversación. ### Streaming Cuando `streaming` está habilitado, el endpoint devuelve un stream `text/event-stream` con eventos SSE: ```js theme={null} import { fetchEventSource } from '@microsoft/fetch-event-source'; const ctrl = new AbortController(); await fetchEventSource(`https://app.braviloai.com/api/agents/${agentId}/query-with-routing`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, signal: ctrl.signal, body: JSON.stringify({ query: 'Hola, quiero saber el estado de mi pedido #1234', streaming: true, conversationId, }), onmessage: (event) => { if (event.event === 'routing') { console.log('Routing:', JSON.parse(event.data)); } else if (event.event === 'answer') { console.log('Chunk:', event.data); } else if (event.data === '[DONE]') { ctrl.abort(); }, }); ``` # Agent - Send WhatsApp Template Source: https://docs.braviloai.com/api-reference/endpoint/agents/send-template POST /v2/agents/{agentId}/send-template Envía un mensaje de WhatsApp usando un template pre-aprobado por Meta. Requiere que el agente (o su organización) tenga una integración de WhatsApp configurada. ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/v2/agents/${agentId}/send-template \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "phoneNumber": "5491122334455", "templateName": "hello_world", "languageCode": "es", "components": [ "type": "body", "parameters": [{"type": "text", "text": "Juan"}] ] }' ``` # Agent - Universal Processor Source: https://docs.braviloai.com/api-reference/endpoint/agents/universal POST /agents/{id}/universal Procesa archivos multimedia (imagen, audio, video, PDF) y devuelve el texto extraído o el análisis. Útil para construir pipelines de IA sobre documentos. ### Formatos soportados | Tipo | Extensiones | | --------- | ------------------------------------------- | | Imagen | `jpg`, `jpeg`, `png`, `webp`, `gif`, `tiff` | | Audio | `mp3`, `wav`, `m4a`, `ogg`, `webm` | | Video | `mp4`, `avi`, `mov`, `wmv` | | Documento | `pdf`, `doc`, `docx`, `txt` | ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/agents/${agentId}/universal \ -H "Content-Type: application/json" \ -d '{ "fileBuffer": "", "fileType": "pdf", "fileName": "contrato.pdf", "userQuery": "Resumí los puntos clave" }' ``` # Conversation - Get Source: https://docs.braviloai.com/api-reference/endpoint/conversations/get GET /conversations/{conversationId} Obtiene una conversación completa con sus mensajes. El `conversationId` actúa como token de acceso para usuarios anónimos (widget visitors). Soporta paginación de mensajes via `?cursor=`. ### Ejemplo ```bash theme={null} # Primera carga curl -X GET https://app.braviloai.com/api/conversations/${conversationId} # Paginación (mensajes anteriores) curl -X GET "https://app.braviloai.com/api/conversations/${conversationId}?cursor=${lastMessageId}" ``` # Conversation - Summary Source: https://docs.braviloai.com/api-reference/endpoint/conversations/summary GET /conversations/{conversationId}/summary Genera un resumen IA de la conversación usando el historial de mensajes. Útil para mostrar un "subject line" o preview en una lista de tickets. Usá `?refresh=true` para forzar la regeneración del resumen (por defecto usa cache). ### Ejemplo ```bash theme={null} curl -X GET "https://app.braviloai.com/api/conversations/${conversationId}/summary?refresh=true" ``` # Conversation - Update Source: https://docs.braviloai.com/api-reference/endpoint/conversations/update PATCH /conversations/{conversationId} Actualiza el estado, prioridad o metadata de una conversación. Funciona sin autenticación para usuarios anónimos (widget visitors). ### Campos soportados | Campo | Tipo | Valores | | ------------- | --------- | ----------------------------------------------------- | | `status` | `string` | `UNRESOLVED`, `RESOLVED`, `HUMAN_REQUESTED` | | `priority` | `string` | `LOW`, `MEDIUM`, `HIGH`, `URGENT` | | `isAiEnabled` | `boolean` | Habilitar/deshabilitar IA en la conversación | | `metadata` | `object` | Metadata arbitraria (ej: `{ isFormSubmitted: true }`) | ### Ejemplo ```bash theme={null} curl -X PATCH https://app.braviloai.com/api/conversations/${conversationId} \ -H "Content-Type: application/json" \ -d '{ "status": "RESOLVED", "metadata": { "isFormSubmitted": true } }' ``` # Datastore - File Upload Source: https://docs.braviloai.com/api-reference/endpoint/datastores/file-upload POST /external/datastores/file-upload/{id} Sube un archivo directamente (vía `multipart/form-data`). El archivo se guarda en S3 y se encola para procesamiento automático. ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/external/datastores/file-upload/${datastoreId} \ -H "Authorization: Bearer ${API_KEY}" \ -F "file=@documento.xlsx" ``` > El procesamiento es asíncrono. El estado pasará a `running` y luego `success`/`error`. # Datastore - Generate Upload Link Source: https://docs.braviloai.com/api-reference/endpoint/datastores/generate-link POST /external/datastores/file-upload/generate-link/{id} Genera un URL prefirmado de S3 (válido por **15 minutos**) para subir un archivo directamente a S3 sin pasar por el servidor de Bravilo. Ideal para subidas grandes desde el cliente. > Si el datastore es **público**, no se requiere token de autorización. ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/external/datastores/file-upload/generate-link/${datastoreId} \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "fileName": "mi-documento.pdf", "type": "application/pdf" }' ``` Después de subir a S3, llamá a `/api/external/datastores/file-upload/process/{id}` para iniciar el procesamiento. # Datastore - Process Upload Source: https://docs.braviloai.com/api-reference/endpoint/datastores/process POST /external/datastores/file-upload/process/{id} Dispara el procesamiento de un archivo que ya fue subido a S3 (ya sea vía upload directo o link prefirmado). ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/external/datastores/file-upload/process/${datastoreId} \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ -d '{"id": "datasource-id-devuelto"}' ``` # Datastore - Query Source: https://docs.braviloai.com/api-reference/endpoint/datastores/query POST /datastores/{id}/query # Datastore - Update Document Source: https://docs.braviloai.com/api-reference/endpoint/datastores/update POST /external/datastores/update/{id} Actualiza el texto y metadatos de un documento ya existente. El documento se re-procesa para actualizar los embeddings. > Si el datastore es **público**, no se requiere token de autorización. ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/external/datastores/update/${datastoreId} \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "id": "doc_001", "name": "Política v2", "text": "Nuevo contenido actualizado...", "metadata": { "version": "2.0" } }' ``` # Datastore - Upsert Documents Source: https://docs.braviloai.com/api-reference/endpoint/datastores/upsert POST /external/datastores/upsert/{id} Inserta o actualiza múltiples documentos de texto en un datastore. Los documentos se procesan de forma asíncrona para generar embeddings. > Si el datastore es **público**, no se requiere token de autorización. ### Ejemplo ```bash theme={null} curl -X POST https://app.braviloai.com/api/external/datastores/upsert/${datastoreId} \ -H "Authorization: Bearer ${API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "documents": [ "id": "doc_001", "name": "Política de Privacidad", "text": "El contenido completo del documento...", "metadata": { "source_url": "https://ejemplo.com/privacidad" } ] }' ``` # Form - Chat Source: https://docs.braviloai.com/api-reference/endpoint/forms/chat POST /forms/{formId}/chat Interactúa con un formulario conversacional. El formulario guía al usuario pregunta por pregunta según un JSON Schema configurado. > Público por diseño. No requiere autenticación. ### Streaming SSE Cuando `streaming` está habilitado, el endpoint devuelve eventos: * `answer` – Fragmentos de texto de la pregunta * `metadata` – Estado actual (`currentField`, `isValid`) * `endpoint_response` – Respuesta completa ```js theme={null} const response = await fetch(`https://app.braviloai.com/api/forms/${formId}/chat`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ query: 'Mi nombre es Juan Pérez', streaming: true, conversationId, visitorId, }), }); const reader = response.body.getReader(); // Leer stream SSE... ``` # Base de Conocimiento Source: https://docs.braviloai.com/datastore/get-started ## ¿Qué es la base de conocimiento? La base de conocimiento (o "Datastore") es la información que tu agente usa para responder. Sin ella, tu agente responde solo con conocimiento general de la IA. Con ella, responde con tu información. 😐 Sin Knowledge Base "Nuestros precios dependen del producto que estés buscando..." 🎯 Con Knowledge Base "El Plan Pro cuesta \$199/mes e incluye 5 agentes y 10K consultas.". ## Crear un Datastore Un Datastore es un contenedor donde guardás toda la información de un tema o negocio. Podés tener varios datastores y conectarlos a distintos agentes. \- Andá a "Conocimiento" en el menú lateral (ícono de base de datos) * Hacé click en "Nueva Base" * Dale un nombre descriptivo (ej: "Precios y planes", "FAQ del producto") * ¡Listo! Ya tenés tu datastore vacío para llenar ## Agregar fuentes de datos Ahora agregá la información al datastore. Bravilo soporta múltiples tipos de fuentes: ## Esperar la sincronización Una vez que subís un documento o URL, Bravilo lo procesa automáticamente: ## Conectar el datastore a tu agente El último paso es vincular el datastore con tu agente para que pueda usarlo: - Andá a Agentes → seleccioná tu agente * Buscá la pestaña "Herramientas" o "Train" * En "Base de Conocimiento" , seleccioná el datastore que acabás de crear * Opcionalmente activá "Restringir conocimiento" para que SOLO responda con tu info ## Mantener la información actualizada Tu base de conocimiento no es estática. Podés mantenerla al día: # Facebook Messenger Source: https://docs.braviloai.com/integrations/facebook-messenger Conecta una pagina de Facebook y completa verificacion webhook para operar Messenger. ## Overview La integracion de Facebook Messenger en Bravilo soporta: * **Conexión automática (shared app MVP)**: login con Meta + descubrimiento de paginas reales + conexión de proveedor. * **Flujo manual asistido**: fallback oficial si el automático no aplica o falla. Conectar una pagina es solo el primer paso: la integracion queda healthy recien cuando Meta verifica el webhook de la app. Esta integracion es Premium. ## Requisitos * Plan Premium * Una Pagina de Facebook (Page) con acceso de administrador * Una app en Meta Developers con producto Messenger/Webhooks habilitado ## Quick start (Dashboard) 1. Abre tu Agente en el dashboard. 2. Ve a la pestana `Implementar`. 3. Selecciona `Facebook Messenger`. Si el rollout automático está habilitado para tu workspace, vas a ver `Conexión Automática`. Si no, usá `Configuración Asistida` (manual). Ingresa tu Meta User Access Token, lista tus paginas y conecta la pagina deseada. Copia Callback URL y Verify Token desde Bravilo. En Meta Developers, configura Webhooks (app-level) y suscribe eventos: `messages,messaging_postbacks,messaging_optins`. Cuando Meta valida el callback, Bravilo marca la integracion como verificada (`healthy`). Antes de eso, se muestra conectada pero pendiente. ## Modelo de estados * **Connected + pending webhook verification**: pagina conectada, falta verificacion app-level de Meta. * **Healthy / verified**: Meta verifico callback + verify token y la integracion queda lista para operar. `/{pageId}/subscribed_apps` (suscripcion de pagina) cuenta como progreso, pero **no reemplaza** la verificacion webhook de la app. ## Self-host (configuracion) Variables de entorno: ```env theme={null} FACEBOOK_APP_SECRET=... NEXTAUTH_URL=https://tu-dominio.com ``` Bravilo genera verify token por integracion. El valor exacto se consulta en: `GET /api/integrations/messenger/webhook-info?agentId=...` Callback URL de webhook (Meta -> Webhooks): `https://tu-dominio.com/api/integrations/messenger/webhook` ## Conexión automática (shared app MVP) Este MVP **no** automatiza completamente el Meta App Dashboard ni promete webhook app-level full-auto. Siempre que falte algo externo (review, permisos avanzados, business verification, ownership de webhook), la ruta manual sigue disponible. ## Rollout y variables de entorno ```env theme={null} NEXT_PUBLIC_ENABLE_MESSENGER_EMBEDDED_SIGNUP=true NEXT_PUBLIC_FACEBOOK_APP_ID=... MESSENGER_AUTOMATIC_ONBOARDING_SHARED_APP=true # Elegir uno: MESSENGER_AUTOMATIC_ONBOARDING_ALLOW_ALL=true # o MESSENGER_AUTOMATIC_ONBOARDING_ORG_ALLOWLIST=org_1,org_2 ``` Si cualquiera de esos controles está apagado, Bravilo mantiene onboarding manual como camino soportado. ## Troubleshooting * Estado pendiente despues de conectar pagina: falta verificar callback/token en Webhooks de la app de Meta. * `No Facebook Pages found`: la cuenta no tiene Pages administradas o no aceptaste permisos. * `Graph permission denied`: revisa permisos `pages_manage_metadata,pages_read_engagement,pages_messaging`. * Webhook verification falla: valida callback URL publico, verify token exacto y eventos suscritos. ## Limitaciones * En cloud, el endpoint webhook es compartido a nivel app. Coordina setup con soporte Bravilo si usas app administrada por Bravilo. * En self-hosting, el owner de la app Meta debe operar su configuracion de Webhooks y eventos. # Google Calendar Source: https://docs.braviloai.com/integrations/google-calendar ## ¿Cómo funciona? Cuando conectás Google Calendar, tu agente puede agendar citas automáticamente durante una conversación. El flujo es: ## Conectar Google Calendar La conexión se hace desde las Habilidades de tu agente: - Andá a Agentes → seleccioná tu agente → "Habilidades" * Buscá "Google Calendar" en la lista de integraciones * Hacé click en "Conectar Google Calendar" * Se abre el flujo de autorización de Google — seleccioná tu cuenta * Aceptá los permisos (leer y escribir eventos) * Seleccioná el calendario específico que querés usar ## Configurar disponibilidad Definí cuándo estás disponible para que el agente solo ofrezca esos horarios: Horarios Definí rango de horas por día (ej: Lunes a Viernes 9:00–18:00) Duración Duración por defecto de cada cita (15, 30, 45 o 60 minutos) Automático: Si tenés eventos existentes en tu calendario, el agente los respeta y no ofrece esos horarios. No hay riesgo de doble-booking. ## Probar la funcionalidad Una vez conectado, probá en el chat del agente: Vos: "Quiero agendar una reunión para mañana a la tarde" Agente: "¡Perfecto! Mañana tengo disponibles estos horarios: 14:00, 15:30 y 17:00. ¿Cuál te queda mejor?" Verificá que el evento aparezca en tu Google Calendar con el nombre del cliente y los detalles de la cita. Otros canales Google Sheets. # Google Drive Source: https://docs.braviloai.com/integrations/google-drive Conectá Google Drive para entrenar agentes con tus archivos y carpetas Integrá **Google Drive** con Bravilo AI para entrenar agentes de IA usando archivos o carpetas de tu Drive. Los datos se sincronizan automáticamente para mantener tu agente actualizado. ## Requisitos * Una cuenta de Google con archivos en Google Drive. * Permisos de lectura sobre los archivos o carpetas que querés conectar. ## Cómo conectar 1. En el dashboard, andá a **Datastores** → **Nuevo** → **Google Drive**. 2. Iniciá sesión con tu cuenta de Google. 3. Seleccioná los archivos o carpetas que querés sincronizar. 4. Bravilo indexará automáticamente el contenido. ## Sincronización automática Bravilo monitorea cambios en los archivos conectados y actualiza la base de conocimiento periódicamente. No necesitás hacer nada manualmente. ## Formatos soportados * Google Docs, Sheets, Slides * PDF * DOCX, XLSX, PPTX * TXT, MD ## Nota de privacidad 💡 Bravilo AI usa y transfiere información recibida de las APIs de Google a cualquier otra aplicación de acuerdo con la [Política de Datos de Usuario de Servicios de API de Google](https://developers.google.com/terms/api-services-user-data-policy#additional_requirements_for_specific_api_scopes), incluyendo los requisitos de Uso Limitado. ## Solución de problemas * Si un archivo no aparece, verificá que sea de tipo soportado y que tengas permisos de lectura. * Si la sincronización falla, reconectá la cuenta de Google desde la configuración del datastore. # Google Sheets Source: https://docs.braviloai.com/integrations/google-sheets ## ¿Para qué sirve? Google Sheets te permite usar una planilla como base de datos para tu agente. Casos de uso comunes: ## Conectar Google Sheets Conectá tu planilla desde las Habilidades del agente: - Andá a tu agente → "Habilidades" * Buscá "Google Sheets" * Hacé click en "Conectar Google Sheets" * Autorizá el acceso a tu cuenta de Google * Seleccioná la planilla específica que querés usar * Seleccioná la hoja dentro de la planilla ## Estructura de la planilla Para que el agente entienda tu planilla, seguí estas buenas prácticas: ✅ Buena estructura: ✅ Hacé Usá encabezados claros en la fila 1. Mantené un tipo de dato por columna. No dejes filas vacías. ❌ Evitá No mezcles datos en celdas (ej: "Precio: \$5000"). No uses celdas fusionadas. ## Instruir al agente Usá el Instructor para explicarle al agente cómo usar la planilla: Rendimiento: Para planillas muy grandes (+10.000 filas), considerá usar la Base de Conocimiento en lugar de Sheets para mejor performance. Google Calendar Webhooks. # Conectar Instagram Source: https://docs.braviloai.com/integrations/instagram ## ¿Qué puede hacer tu agente en Instagram? Cuando conectás Instagram, tu agente puede responder automáticamente en varios puntos de contacto: ## Requisitos previos Para conectar Instagram necesitás: ## Conectar Instagram desde Habilidades La integración se configura desde la sección "Habilidades" de tu agente: - Andá a Agentes y seleccioná tu agente * Hacé click en "Habilidades" en la barra superior * Buscá la integración "Instagram" * Hacé click en "Conectar cuenta de Instagram" * Se abre el flujo de Meta (Facebook) — autorizá los permisos * Seleccioná la Página de Facebook vinculada a tu Instagram * Confirmá y listo ## Verificar la conexión Una vez conectada la cuenta: - Tu cuenta de Instagram aparece en la sección de "Cuentas conectadas" * Mandá un DM de prueba a tu cuenta desde otro perfil * Verificá que el agente responda automáticamente * Revisá la conversación en el Inbox de Bravilo ## Buenas prácticas en Instagram # MercadoLibre Source: https://docs.braviloai.com/integrations/mercadolibre Conecta MercadoLibre para responder preguntas y mensajes automaticamente. ## Overview La integracion de MercadoLibre conecta tu cuenta de vendedor a un Agente. Bravilo puede recibir eventos (mensajes y preguntas) por webhook y responder automaticamente segun la configuracion del agente. ## Requisitos * Una cuenta de MercadoLibre con permisos de administrador (no operador) * Una aplicacion creada en MercadoLibre Developers (App ID / Secret) * Tu Bravilo accesible publicamente (para recibir webhooks) ## Quick start (Dashboard) 1. Abre tu Agente en el dashboard. 2. Ve a la pestana `Implementar`. 3. Selecciona `MercadoLibre`. 4. Hace click en `Conectar` y autoriza en MercadoLibre. Al volver, deberias ver el estado `Conectado` y datos de tu cuenta. Durante la conexion, Bravilo intenta registrar webhooks para los topics `messages` y `questions`. ## Self-host (configuracion) Variables de entorno: ```env theme={null} NEXT_PUBLIC_MERCADOLIBRE_CLIENT_ID=... MERCADOLIBRE_CLIENT_ID=... MERCADOLIBRE_CLIENT_SECRET=... NEXT_PUBLIC_DASHBOARD_URL=https://tu-dominio.com ``` Callback URL: `https://tu-dominio.com/api/integrations/mercadolibre/callback` Webhook URL (la que se registra en MercadoLibre): `https://tu-dominio.com/api/integrations/mercadolibre/webhook` El flujo de autorizacion actualmente usa el dominio `auth.mercadolibre.com.ar`. Si operas en otros sites, puede requerir ajustes. ## Troubleshooting * No conecta / error en autorizacion: revisa que el `redirect_uri` coincida exactamente. * `invalid_operator_user_id`: estas autorizando con un usuario operador/colaborador; usa la cuenta admin. * No llegan eventos: confirma que el webhook sea accesible desde internet y que MercadoLibre lo tenga registrado. ## Limitaciones * La recepcion de eventos depende de webhooks; si tu deployment no es publico, no vas a recibir mensajes/preguntas. # Notion Source: https://docs.braviloai.com/integrations/notion Conecta Notion para leer y escribir paginas. ## Overview La integracion de Notion permite conectar tu espacio de trabajo (Workspace) con un Agente. El agente puede acceder a paginas y bases de datos que compartas con la integracion. ## Requisitos * Una cuenta de Notion. * Ser administrador del workspace para instalar integraciones. ## Quick start (Dashboard) 1. Abre tu Agente en el dashboard. 2. Ve a la pestana `Implementar`. 3. Selecciona `Notion`. Hace click en `Conectar Notion`. Seras redirigido a notion.so. Elige que paginas queres que el agente pueda ver/editar. Recomendamos dar acceso a una pagina raiz o base de datos especifica. Autoriza el acceso. Al volver, veras el estado `Conectado`. ## Self-host (configuracion) Variables de entorno: ```env theme={null} NOTION_CLIENT_ID=... NOTION_CLIENT_SECRET=... NEXTAUTH_URL=https://tu-dominio.com ``` Callback URL: `https://tu-dominio.com/api/integrations/notion/callback` ## Funcionalidades * **Lectura**: El agente puede leer contenido de las paginas autorizadas para usarlas como contexto (similar a Datastores). * **Escritura**: (Segun configuracion) El agente podria crear nuevas paginas o items en bases de datos. ## Troubleshooting * **Pagina no encontrada**: Si el agente no ve una pagina, asegúrate de haberla compartido explicitamente con la integracion ("Add connection" en el menu de la pagina en Notion). # Odoo ERP Source: https://docs.braviloai.com/integrations/odoo Conecta Odoo para gestionar CRM, Inventario y Pedidos desde tu agente. ## Overview La integracion de Odoo conecta tu instancia de Odoo (ERP) con un Agente de Bravilo. Permite que el agente interactue con modulos clave como CRM (Leads) y Ventas/Inventario. ## Requisitos * Una instancia de Odoo accesible (URL publica). * Una base de datos de Odoo. * Un usuario con permisos (Email) y una API Key (recomendado) o contrasena. * Modulos instalados en Odoo: CRM, Sales, Inventory (segun lo que quieras usar). ## Quick start (Dashboard) 1. Abre tu Agente en el dashboard. 2. Ve a la pestana `Implementar`. 3. Selecciona `Odoo`. Completa los campos: - **URL de Odoo**: Ej. `https://mi-empresa.odoo.com` - **Base de Datos**: El nombre de la DB (ej. `mi-empresa`). - **Usuario**: Email del usuario de Odoo. - **API Key**: Tu clave de acceso (o API Key generada en preferencias de usuario). Activa los switches segun necesites: - **CRM & Leads**: Crear oportunidades/leads desde el chat. - **Inventario**: Consultar stock de productos. - **Pedidos**: Crear presupuestos/ordenes de venta. Guarda la configuracion. Podes usar `Probar Conexion` para validar. ## Funcionalidades ### CRM & Leads El agente puede identificar oportunidades de venta y crear un Lead en el CRM de Odoo automaticamente, incluyendo el resumen de la conversacion en el "Chatter". ### Inventario Permite al agente consultar disponibilidad de productos en tiempo real para responder preguntas de clientes sobre stock. ### Pedidos (Presupuestos) El agente puede generar un borrador de pedido (Quotation) con los items que el usuario solicite. ## Troubleshooting * **Error de conexion (XML-RPC)**: Verifica que la URL no tenga slash final extra y que la DB sea correcta (es case-sensitive). * **Access Denied**: Revisa que el usuario tenga permisos en Odoo y que la API Key sea valida. * **Modulo no encontrado**: Si activas "Inventario" pero Odoo no tiene el modulo `stock` instalado, puede fallar. ## Seguridad Las credenciales se guardan encriptadas. Se recomienda usar un usuario de Odoo especifico para el bot ("Bot User") con permisos limitados, en lugar de un usuario administrador. # Integraciones Source: https://docs.braviloai.com/integrations/overview Todas las integraciones y herramientas disponibles para tu agente en Bravilo. Bravilo permite conectar tus agentes con múltiples plataformas, canales y herramientas. Desde la sección **Habilidades** de tu agente podés activar cada una. ## Canales de comunicación Conectá tu agente para que responda automáticamente donde te escriben tus clientes. WhatsApp Business API oficial. Coexistencia con la app del celular. DMs, comentarios y menciones en Instagram Business. Mensajes de páginas de Facebook. Bot de Telegram para responder automáticamente. Menciones y mensajes directos. Preguntas y mensajes en publicaciones. ## Widgets y sitios web Widget de chat embebible en cualquier sitio con un script. Formularios conversacionales para capturar datos. ## Entrenamiento y datos Entrená tu agente con archivos y carpetas de Drive. Leé y escribí datos en planillas de cálculo. Conectá páginas y bases de datos de Notion. ## Calendario y agendas Agendá citas y reuniones automáticamente. ## Business y ERP CRM, inventario y pedidos. Contabilidad y gestión de clientes. ## Herramientas nativas del agente Estas herramientas no requieren conexión externa y se activan directamente desde la pestaña **Habilidades** de tu agente. Conectá documentos, URLs y FAQs para que tu agente responda con tu información. Capturá datos estructurados durante la conversación. Guardá contactos automáticamente en tu CRM. Derivá conversaciones a un operador humano cuando sea necesario. Cerrá conversaciones automáticamente cuando se resuelva la consulta. Llamá a APIs externas durante la conversación. Buscá información actualizada en internet. Enviá PDFs, imágenes y documentos por WhatsApp y otros canales. Pasá la conversación a otro agente especializado. Conectá cientos de apps SaaS vía Composio. # Telegram Source: https://docs.braviloai.com/integrations/telegram Para desplegar un Agente en Telegram como un Bot de Telegram, necesitas crear un nuevo bot en Telegram. Para hacer esto, necesitas seguir estos pasos: [Abre Telegram](https://web.telegram.org) en tu Navegador, luego busca `@BotFather` Luego escribe `/newbot` para activar el comando de nuevo bot. Sigue las instrucciones y obtén tu Token de API Desde la pestaña `Configuración > Desplegar` de tu Agente, selecciona la integración de Telegram y pega el Token HTTP que obtuviste de BotFather Desde tu canal de Telegram abre el panel de información del canal y agrega el bot como administrador. # Twitter / X Source: https://docs.braviloai.com/integrations/twitter Conecta Twitter/X para gestionar menciones y mensajes directos. ## Overview La integracion de Twitter/X conecta una cuenta a un Agente via OAuth 2.0 (con PKCE) y guarda los tokens necesarios para operar. Esta integracion es Premium. ## Requisitos * Plan Premium * Una cuenta de Twitter/X * Una app en el Developer Portal de Twitter/X ## Quick start (Dashboard) 1. Abre tu Agente en el dashboard. 2. Ve a la pestana `Implementar`. 3. Selecciona `Twitter/X`. Hace click en `Conectar con Twitter/X` y completa el flujo OAuth. Si todo salio bien, el estado aparece como `Conectado`. ## Self-host (configuracion) ```env theme={null} NEXT_PUBLIC_TWITTER_CLIENT_ID=... TWITTER_CLIENT_SECRET=... NEXTAUTH_URL=https://tu-dominio.com # Si usas webhook de Twitter (Account Activity API) TWITTER_CONSUMER_SECRET=... ``` Callback URL: `https://tu-dominio.com/api/integrations/twitter/callback` ## Scopes El flujo solicita scopes como: * `tweet.read`, `tweet.write` * `users.read` * `dm.read`, `dm.write` * `offline.access` ## Webhooks (opcional, avanzado) Para recibir eventos (menciones/DMs) via webhook, existe un endpoint: `https://tu-dominio.com/api/webhooks/twitter` Este webhook esta pensado para el flujo de Account Activity API y requiere configuracion adicional en Twitter. No todos los planes de Twitter Developer permiten webhooks. ## Troubleshooting * `Twitter Client ID not configured`: falta `NEXT_PUBLIC_TWITTER_CLIENT_ID`. * `Twitter credentials not configured`: falta `TWITTER_CLIENT_SECRET`. * Error en callback con `message=...`: revisa que el callback URL coincida y que la app tenga OAuth 2.0 habilitado. ## Limitaciones * La conexion via OAuth guarda tokens; el comportamiento exacto de ingest/auto-replies depende de la configuracion de eventos/webhooks. # WhatsApp Business API Source: https://docs.braviloai.com/integrations/whatsapp La única forma soportada para WhatsApp es la **API oficial de Meta (Cloud API)**. Bravilo soporta coexistencia con la app de WhatsApp en tu celular, así que podés seguir usando WhatsApp normalmente mientras el agente responde automáticamente. ## Requisitos * Una cuenta de Facebook Business verificada. * Un número de teléfono que no esté vinculado a WhatsApp Business API en otra plataforma. ## Cómo conectar 1. En tu agente → **Habilidades**, buscá **WhatsApp**. 2. Hacé click en **Conectar con WhatsApp**. 3. Seguí el flujo de Meta para vincular tu número. 4. Una vez conectado, el agente empieza a responder automáticamente. ## Coexistencia Podés usar tu WhatsApp personal o Business normal en el celular mientras el agente responde por la API. Los mensajes que envíes desde el celular aparecen en el inbox de Bravilo. ## Templates de mensaje Para enviar mensajes iniciados por la empresa (broadcasts o follow-ups), necesitás crear templates y que Meta los apruebe. Ver [Campañas de Broadcast](/agent/broadcast) para más detalles. # Xubio Source: https://docs.braviloai.com/integrations/xubio Conecta Xubio para consultas contables, productos y clientes. ## Overview La integracion de Xubio permite conectar tu cuenta contable/ERP con un Agente de Bravilo. Utiliza la API oficial de Xubio para leer informacion de productos, precios y gestionar clientes. ## Requisitos * Una cuenta de Xubio activa. * Credenciales de API (Client ID y Client Secret) obtenidas desde la configuracion de Xubio. ## Quick start (Dashboard) 1. Abre tu Agente en el dashboard. 2. Ve a la pestana `Implementar`. 3. Selecciona `Xubio`. Completa los campos: - **Client ID** - **Client Secret** Usa el boton `Probar Conexion` para verificar que las credenciales sean correctas. Activa el switch `Habilitar Integracion` y guarda. ## Funcionalidades ### Consultas de Productos El agente puede buscar productos por nombre o codigo, y responder con: * Precio de venta * Stock disponible * Descripcion ### Gestion de Clientes Dependiendo de la configuracion, el agente puede buscar si un cliente existe en Xubio o crear un nuevo cliente con los datos de la conversacion. ## Troubleshooting * **Credenciales invalidas**: Verifica que no haya espacios extra al copiar el Client ID/Secret. * **Permisos**: Asegurate de que el usuario API de Xubio tenga permisos de lectura sobre Productos y Clientes. ## Obtencion de credenciales Para obtener tu Client ID y Secret: 1. Ingresa a Xubio. 2. Ve a `Configuracion` > `Mi Empresa` > `API`. 3. Genera o copia las credenciales existentes. # Introducción Source: https://docs.braviloai.com/introduction # Centro de Ayuda de Bravilo Guías paso a paso para sacar el máximo provecho de Bravilo. Aprendé a configurar agentes, conectar canales y automatizar tu atención al cliente con IA. ## Primeros pasos ### Tu primer agente en 5 minutos Creá tu primer agente de IA describiendo lo que necesitás. Bravilo genera todo automáticamente. ### Probar tu agente antes de publicar Usá el playground interno para verificar respuestas, ajustar el prompt y asegurarte que funcione perfecto. ## Canales ### Conectar WhatsApp Business Conectá tu WhatsApp Business oficial. Coexistencia con la app del celular incluida. ### Conectar Instagram Conectá tu cuenta de Instagram Business para responder DMs, stories y comentarios con IA. ### Instalar chat en tu web Agregá el widget de chat a cualquier sitio web con una sola línea de código. Personalizable al 100%. ### Conectar otros canales Guía para conectar Telegram, MercadoLibre, Email y más canales disponibles. ## Herramientas ### Google Calendar: Agendar citas Conectá Google Calendar para que tu agente agende citas automáticamente vía conversación. ### Google Sheets: Leer y escribir datos Conectá una planilla de Google Sheets para que tu agente pueda leer y guardar datos en tiempo real. ### Webhooks y HTTP Tools Dos integraciones: HTTP Tools para acciones durante conversaciones, y Webhooks para notificaciones automáticas. ## CRM y Leads ### Contactos y listas Importá contactos desde CSV, segmentá con tags y creá listas para campañas. ### Campañas de broadcast Creá campañas masivas: templates de mensaje, programación y tracking de resultados. ### Lead Prospector Encontrá empresas y contactos ideales para tu negocio, segmentá y armá listas de outreach. ## Avanzado ### Multi-agente: Triggers y routing Cuándo y cómo usar múltiples agentes con triggers por keyword, intent o horario. ### Equipo: Invitar colaboradores Invitá miembros a tu organización, asigná roles y permisos por sección. ### API Keys y uso programático Generá API keys, scopes de permisos y ejemplos de uso para integraciones custom. # Conceptos principales Source: https://docs.braviloai.com/platform Aprendé los conceptos básicos de Bravilo AI ## Agente Un **Agente** es un asistente de IA entrenado con la información de tu negocio. Los agentes pueden responder preguntas, recolectar datos, ejecutar acciones y conversar por múltiples canales. Cada agente tiene: * **Instrucciones**: Cómo debe comportarse (prompt de sistema). * **Base de conocimiento**: Documentos, URLs y archivos que usa para responder. * **Herramientas**: Acciones que puede ejecutar (formularios, calendarios, webhooks). * **Canales**: Dónde conversa (web, WhatsApp, Instagram, etc.). ## Almacén de datos (Datastore) Un **Datastore** es una colección de documentos que alimenta la base de conocimiento de un agente. Soporta: * URLs web (con scraping automático). * Archivos (PDF, DOCX, TXT, etc.). * Integraciones (Google Drive, Notion). * Inserción vía API (para sistemas externos). ## Formulario Un **Formulario** es una secuencia de preguntas que el agente puede hacer al usuario de forma conversacional. Los resultados se guardan como leads o se envían por webhook. ## Conversación Una **Conversación** es el historial de mensajes entre un usuario y un agente. Incluye metadata como canal, origen, calificaciones y estado. ## Widget Un **Widget** es la interfaz de chat que se embebe en tu sitio web. Es completamente personalizable: colores, posición, avatar y sugerencias de mensajes. ## Integración Una **Integración** es una conexión con servicios externos: WhatsApp Business API, Instagram, Google Calendar, Zapier, etc. *** > **Próximo paso**: [Creá tu primer agente en 5 minutos](/agent/first-agent) # Cookie policy Source: https://docs.braviloai.com/privacy/cookie-policy # Política de Cookies Bravilo AI utiliza cookies de diversas maneras para mejorar tu experiencia en nuestro sitio web, incluyendo: * Mantenerte conectado * Entender cómo utilizas nuestro producto En esta política de cookies, describimos qué tipo de cookies utiliza Bravilo AI y cómo deshabilitarlas. Si no puedes encontrar la información específica que buscas, no dudes en contactarnos en [support@braviloai.com](mailto:support@braviloai.com) ### **¿Qué son las cookies?** Las cookies son pequeños archivos de texto que se colocan en tu computadora o dispositivo móvil por los sitios web que visitas. Se utilizan ampliamente para hacer que un sitio web funcione, o funcione más eficientemente, así como para proporcionar información a los propietarios del sitio. Estas cookies contienen un código único que nos permite reconocer tu navegador durante tu visita a nuestro sitio web (la llamada cookie de 'sesión') o en visitas posteriores repetidas (las llamadas cookies permanentes). El contenido de una cookie generalmente consiste en el nombre del servidor que colocó la cookie, una fecha de expiración y un código numérico único. Basándose en tus hábitos de navegación, una cookie recuerda tus preferencias. Estos intereses personales se almacenan en el disco duro de tu computadora. Las cookies hacen que la interacción entre tú, el visitante, y el sitio web sea más fácil, rápida y te ayudan a navegar entre las diferentes partes de un sitio web. Las cookies también se utilizan para hacer que el contenido o la publicidad en un sitio web sea más relevante para el visitante. Finalmente, una cookie asegurará que el contenido sea adaptable a tu gusto personal y necesidades. ### **¿Qué tipos de cookies utiliza Bravilo AI?** * **Cookies necesarias:** Ciertas cookies son necesarias para que el sitio web funcione correctamente y permanezca seguro. Por ejemplo, utilizamos cookies para autenticarte. Cuando inicias sesión en nuestro sitio web, se establecen cookies de autenticación que nos permiten saber quién eres durante una sesión de navegación. Debemos cargar cookies esenciales para los intereses legítimos que perseguimos al entregarte la funcionalidad esencial de nuestros Sitios. * **Cookies analíticas:** Las cookies analíticas recopilan información sobre tu uso de nuestro sitio y nos permiten mejorar la forma en que funciona. Utilizamos Google Analytics para rastrear el comportamiento del usuario en nuestro producto (solo cuando has iniciado sesión). No utilizamos Google Analytics para rastrear formularios creados con Bravilo AI. Utilizamos una solución de análisis web autohospedada y enfocada en la privacidad que cumple con la Ley 25.326 de Protección de Datos Personales de Argentina y no utiliza cookies en el código de seguimiento. ### **¿Cómo puedes bloquear o eliminar cookies?** Solo utilizamos cookies cuando has iniciado sesión en nuestro servicio. Al crear una cuenta, se te pedirá que aceptes nuestros términos y condiciones. Puedes permitir, eliminar o bloquear cookies en la configuración de tu computadora según el navegador de internet que estés utilizando. En ciertos casos, algunos servicios web se bloquearán cuando ciertas cookies no puedan funcionar correctamente o cuando sean bloqueadas por el usuario. ### **Tus derechos según la Ley 25.326** De acuerdo con la Ley de Protección de Datos Personales de Argentina, tienes derecho a: * **Información:** Conocer qué cookies se utilizan y para qué propósito * **Consentimiento:** Dar o retirar tu consentimiento para el uso de cookies no esenciales * **Acceso:** Solicitar información sobre qué datos se recopilan a través de cookies * **Eliminación:** Solicitar la eliminación de datos recopilados a través de cookies ### **Contacto** Si tienes preguntas sobre nuestra política de cookies o deseas ejercer tus derechos, contáctanos en: **Bravilo AI** Rio Cuarto, Córdoba Argentina Email: [support@braviloai.com](mailto:support@braviloai.com) *** **Última actualización:** 01 de Junio de 2025 # Protección de Datos (Argentina y GDPR) Source: https://docs.braviloai.com/privacy/gdpr Esta página no constituye asesoría legal. Por favor, consulta con tu asesor legal cómo se aplican las normativas de protección de datos a tu negocio. ### **¿Qué es la Ley de Protección de Datos Personales (Argentina) y el GDPR?** La Ley 25.326 de Protección de Datos Personales de Argentina y el Reglamento General de Protección de Datos (GDPR) de la Unión Europea son normativas que otorgan a los ciudadanos el derecho de acceso y control sobre sus datos personales. * **¿Te afecta?** Si tu empresa está radicada en Argentina, o procesas datos personales de individuos en Argentina, la Ley 25.326 te aplica. Si procesas datos de ciudadanos de la UE, el GDPR también puede aplicarte. ### **¿Bravilo AI cumple con la Ley Argentina y el GDPR?** Bravilo AI está basada en Argentina y cumple con la Ley 25.326 y, en la medida que corresponda, con el GDPR. * **Medidas implementadas** * Nuestra [política de privacidad](/privacy/privacy-policy) te brinda información sobre qué datos recolectamos, retención y transferencias, y tus derechos de protección de datos. * Todos los datos de los chatbots de Bravilo AI están cifrados en tránsito y en reposo, y almacenados en servidores seguros. * Accesibilidad de datos: tienes control total sobre la información que recolectas, almacenas y gestionas con Bravilo AI. * Tenemos un Acuerdo de Procesamiento de Datos disponible. Escríbenos a [support@braviloai.com](mailto:support@braviloai.com) y te lo enviaremos. ❗ No podemos modificar ni firmar acuerdos adicionales. En su lugar, hemos realizado un esfuerzo significativo para crear un acuerdo estandarizado que cumpla con la normativa y proteja a todas las partes involucradas. ### **¿Qué sucede con los datos de los formularios?** Bravilo AI es el proveedor del servicio de formularios, pero no es el propietario de las respuestas recolectadas. * **El creador del chatbot es responsable de los datos que recolecta** ... y por lo tanto es el responsable ("data controller") de los datos de los encuestados. Bravilo AI es el procesador y almacena la información en nombre de los creadores. Mientras tu cuenta esté activa, tienes control total sobre los datos que recolectas y el período de tiempo durante el cual los almacenas. Puedes eliminar o exportar respuestas desde tu cuenta si es necesario. Honramos todas las eliminaciones, y todos los datos eliminados por ti se eliminan permanentemente de nuestras copias de seguridad en un plazo de 90 días. ### **¿Cómo usamos tus datos personales?** Bravilo AI actúa como responsable de los datos en la relación con nuestros clientes (creadores de chatbots), para la información personal que nos brindas para usar nuestro servicio (por ejemplo, información de registro). Bravilo AI no vende datos personales a terceros ni los utiliza para marketing o publicidad. Solo compartimos tu información con nuestros proveedores de servicios que nos ayudan a operar el negocio, quienes deben cumplir con la Ley 25.326 y/o el GDPR según corresponda. * **Nuestros subprocesadores** \| Software | Uso | Ubicación | Cumplimiento | \| --------------------------------------------- | -------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | \| Google Cloud | Hosting | 🇧🇷 | [https://cloud.google.com/privacy/gdpr](https://cloud.google.com/privacy/gdpr) | \| Qdrant | Base de datos vectorial | 🇦🇷 | [https://qdrant.tech/legal/privacy-policy/#](https://qdrant.tech/legal/privacy-policy/#) | \| MercadoPago | Pagos | 🇦🇷 | [https://www.mercadopago.com.ar/ayuda/terminos-y-condiciones\_299](https://www.mercadopago.com.ar/ayuda/terminos-y-condiciones_299) | \| Google Analytics (no se usa para trackear chatbots de Bravilo AI) | Analítica | 🇦🇷🇺🇸 | [https://policies.google.com/privacy?hl=es-419](https://policies.google.com/privacy?hl=es-419) | \| Brevo | Email marketing | 🇧🇷🇺🇸 | [https://www.brevo.com/es/legal/privacidad/](https://www.brevo.com/es/legal/privacidad/) | # Privacy policy Source: https://docs.braviloai.com/privacy/privacy-policy ## **1. Introducción** Bravilo AI, registrada en Rio Cuarto, Córdoba (Argentina) toma tu privacidad en serio y considera importante que tus datos personales (en adelante "tus datos") sean tratados con el cuidado y confidencialidad necesarios en todo momento. Esta Declaración de Privacidad explica cómo nuestra organización usa los datos personales que recopilamos de ti cuando y por qué. Si tienes alguna pregunta después de leer esta Declaración de Privacidad, no dudes en contactarnos en [support@braviloai.com](mailto:support@braviloai.com). Para evitar malentendidos, nos gustaría aclarar que esta Declaración de Privacidad es aplicable al procesamiento de datos personales de: * Creadores: la persona que crea y distribuye Bravilo AI * Visitantes del sitio web: personas que visitan nuestra página de marketing Bravilo AI es un proveedor de este servicio y no el propietario de los datos recopilados. El creador (la persona que creó el chatbot) es responsable de los datos que recopila y por lo tanto es el controlador de datos de los datos de los encuestados. ## **2. Qué datos recopilamos** Información que recopilamos de **Creadores** (tienes una cuenta de Bravilo AI y estás usando nuestro servicio) o **Visitantes del sitio web** (estás visitando nuestro sitio web). * **Datos de identificación electrónica**: incluyendo dirección IP, datos del dispositivo y navegador, y datos de ubicación; * **Información sobre tu uso de nuestro sitio web**: incluyendo cómo llegaste a nuestro sitio web y las páginas que visitaste. * **Información de registro** Cuando te registras para una cuenta, recopilamos tu nombre y apellido, nombre de usuario, contraseña y dirección de email. * **Información de facturación** Si pagas por un servicio de Bravilo AI, te pediremos tus detalles de facturación, nombre, dirección e información financiera dependiendo de tu método de pago (almacenado por nuestro proveedor de servicios de pago Stripe) * **Datos del Chatbot** Almacenamos tus datos del chatbot para ti y proporcionamos herramientas para que uses con respecto a estos datos. ## **3. Cómo usamos tus datos** Bravilo AI no vende datos personales a terceros ni los usa para propósitos de marketing o para servir anuncios. No tenemos interés en recopilar datos no anonimizados de nadie que no sea un usuario registrado de Bravilo AI. Solo recopilamos tus datos con tu consentimiento o para: * Entregarte nuestro servicio * Mejorar tu experiencia de usuario * Enviarte emails con actualizaciones esenciales del producto * Solucionar problemas de funcionalidad del producto y arreglar errores * Responder a solicitudes legales o prevenir fraude ## **4. Datos que compartimos** Solo compartimos tu información con nuestros proveedores de servicios que nos ayudan a operar nuestro negocio, en cuyo caso esos terceros están obligados a cumplir con el marco GDPR. Puedes encontrar una lista de sub-procesadores en nuestra [Página GDPR](/privacy/gdpr). ## **5. Retención de datos** Si eres un creador de chatbot de Bravilo AI no eliminamos los datos en tu cuenta. Eres responsable del período de tiempo durante el cual almacenas los datos. Puedes eliminar datos en tu cuenta de Bravilo AI. Si eres un encuestado, necesitarás preguntar al creador cuánto tiempo se almacenarán tus respuestas en Bravilo AI. Honramos todas las eliminaciones, y todos los datos del chatbot que han sido eliminados por el creador del chatbot se eliminan permanentemente de nuestras copias de seguridad dentro de 90 días. ## **6. Tus derechos de protección de datos** Como establece nuestra Política de Privacidad, si has enviado tus datos personales a través de un chatbot de Bravilo AI, el creador de ese chatbot es responsable de estos datos. Bravilo AI solo procesa estos datos en nombre del creador. Los creadores de Bravilo AI pueden ejercer sus derechos directamente con nosotros, pero los encuestados deben contactar a la persona u organización que creó el chatbot. Si esto no es posible, por favor contáctanos. Te ayudaremos de cualquier manera que podamos. * Derechos del creador: \| Derecho | Más información | Cómo ejercer tu derecho | \| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | \| Derecho de acceso | Los creadores tienen el derecho de saber si los datos están siendo procesados por el propietario, obtener divulgación con respecto a ciertos aspectos del procesamiento y obtener una copia de los datos que se están procesando. | Contáctanos si quieres ejercer tu derecho de acceso a los datos que almacenamos sobre ti, y estaremos encantados de ayudarte. | \| Derecho de rectificación | Los creadores tienen el derecho de verificar la precisión de sus datos y pedir que se actualicen o corrijan. | Puedes gestionar tu cuenta y detalles de facturación desde la configuración de tu Cuenta. | \| Restringir el procesamiento de sus datos | Los creadores tienen el derecho, bajo ciertas circunstancias, de restringir el procesamiento de sus datos. En este caso, el propietario no procesará sus datos para ningún propósito que no sea almacenarlos. | Si ejerces este derecho, almacenaremos tu información personal y no llevaremos a cabo ningún procesamiento activo a menos que tu problema se resuelva. | \| Derecho de eliminación | Los creadores tienen el derecho, bajo ciertas circunstancias, de obtener la eliminación de sus datos del propietario. | Si quieres cancelar tu cuenta, puedes hacerlo, junto con todos los chatbots y respuestas en ella desde tu página Mi Cuenta. Los datos no se pueden recuperar una vez eliminados. Si quieres que eliminemos tus datos, por favor contáctanos. | \| El derecho a la portabilidad de datos | Los creadores tienen el derecho de recibir sus datos en un formato estructurado, comúnmente usado y legible por máquina y, si es técnicamente factible, de que se transmitan a otro servicio sin ningún obstáculo. | Puedes exportar datos del chatbot desde tu panel de Bravilo AI en formato CSV. | \| El derecho de objeción | Los creadores tienen el derecho de presentar una reclamación ante su autoridad competente de protección de datos. | Por favor contáctanos si quieres ejercer tu derecho de objeción a los datos que almacenamos sobre ti, y estaremos encantados de ayudarte. | ## **7. Marketing** Si los visitantes se registran en Bravilo AI, podemos enviarles emails sobre noticias de la empresa, actualizaciones, información relacionada con productos o servicios, etc. Los creadores de chatbots siempre tienen el derecho de optar por no recibir estas comunicaciones por email. ## **8. Cookies** Las cookies son pequeños archivos de texto que se colocan en tu computadora o dispositivo móvil por los sitios web que visitas. Se usan ampliamente para hacer que un sitio web funcione, o funcione más eficientemente, así como para proporcionar información a los propietarios del sitio. Bravilo AI usa cookies para mejorar tu experiencia en nuestro sitio web y con nuestro producto. Para más información, visita nuestra **[política de cookies.](https://tally.so/help/cookie-policy)** ## **9. Transferencias de Datos** Bravilo AI está basada en Argentina y todos los datos del chatbot y del usuario se almacenan en servidores ubicados en diferentes regiones del mundo. Tus datos pueden ser procesados en países fuera de Argentina por terceros que nos ayudan a operar Bravilo AI. ## **10. Aceptación de Usuarios de Estos Términos** Al usar Bravilo AI, los creadores de chatbots significan su aceptación de esta política. Si los creadores de chatbots no están de acuerdo con esta política, no deben usar Bravilo AI. El uso continuado de Bravilo AI por parte de los usuarios después de la publicación de cambios en esta política será considerado su aceptación de esos cambios. ## **11. Cambios en nuestra Política de Privacidad** Podemos hacer cambios a esta Política de Privacidad de vez en cuando. En circunstancias donde un cambio cambiará materialmente la forma en que recopilamos o usamos tu información o datos personales, enviaremos un aviso de este cambio a todos nuestros titulares de cuenta. Mantenemos nuestra política de privacidad bajo revisión regular y colocaremos cualquier actualización en esta página web. Esta política de privacidad fue actualizada por última vez el 13 de septiembre de 2022. ## **11. Contacto** Por favor usa la siguiente información de contacto para consultas de privacidad: Bravilo AI Rio Cuarto, Córdoba Argentina **Email a:** [support@braviloai.com](mailto:support@braviloai.com) # Terms Source: https://docs.braviloai.com/privacy/terms # Términos y Condiciones Tags: Recurso Publicado: 01 de Junio de 2025 ## **Acuerdo a los términos** Estos Términos de Uso constituyen un acuerdo legalmente vinculante celebrado entre usted, ya sea personalmente o en nombre de una entidad ("usted") y Bravilo AI ("**Compañía**", "**nosotros**", "**nos**", o "**nuestro**"), con respecto a su acceso y uso del sitio web [https://app.braviloai.com](https://app.braviloai.com) así como cualquier otra forma de medios, canal de medios, sitio web móvil o aplicación móvil relacionada, vinculada o conectada de otra manera (colectivamente, el "Sitio"). Usted acepta que al acceder al Sitio, ha leído, entendido y acepta estar sujeto a todos estos Términos de Uso. Si no está de acuerdo con todos estos términos de uso, entonces está expresamente prohibido de usar el sitio y debe discontinuar el uso inmediatamente. Los términos y condiciones suplementarios o documentos que pueden ser publicados en el Sitio de vez en cuando están expresamente incorporados aquí por referencia. Nos reservamos el derecho, a nuestra sola discreción, de hacer cambios o modificaciones a estos Términos de Uso en cualquier momento y por cualquier razón. Le alertaremos sobre cualquier cambio actualizando la fecha "Última actualización" de estos Términos de Uso, y usted renuncia a cualquier derecho de recibir notificación específica de cada cambio. Es su responsabilidad revisar periódicamente estos Términos de Uso para mantenerse informado de las actualizaciones. Estará sujeto a, y se considerará que ha sido consciente y ha aceptado, los cambios en cualquier Términos de Uso revisado por su uso continuado del Sitio después de la fecha en que se publiquen dichos Términos de Uso revisados. La información proporcionada en el Sitio no está destinada para distribución o uso por cualquier persona o entidad en cualquier jurisdicción o país donde dicha distribución o uso sería contrario a la ley o regulación o que nos sometería a cualquier requisito de registro dentro de dicha jurisdicción o país. En consecuencia, aquellas personas que eligen acceder al Sitio desde otras ubicaciones lo hacen por su propia iniciativa y son únicamente responsables del cumplimiento de las leyes locales, si y en la medida en que las leyes locales sean aplicables. El Sitio no está adaptado para cumplir con regulaciones específicas de la industria (Ley de Portabilidad y Responsabilidad del Seguro de Salud (HIPAA), Ley de Gestión de Seguridad de la Información Federal (FISMA), etc.), por lo que si sus interacciones estarían sujetas a tales leyes, no puede usar este Sitio. No puede usar el Sitio de una manera que violaría la Ley Gramm-Leach-Bliley (GLBA). ## **Derechos de propiedad intelectual** A menos que se indique lo contrario, el Sitio es nuestra propiedad propietaria y todo el código fuente, bases de datos, funcionalidad, software, diseños de sitios web, audio, video, texto, fotografías y gráficos en el Sitio (colectivamente, el "Contenido") y las marcas comerciales, marcas de servicio y logotipos contenidos en él (las "Marcas") son propiedad o están controlados por nosotros o licenciados para nosotros, y están protegidos por las leyes de derechos de autor y marcas comerciales y varias otras leyes de derechos de propiedad intelectual y competencia desleal de Argentina, las leyes internacionales de derechos de autor y las convenciones internacionales. El Contenido y las Marcas se proporcionan en el Sitio "TAL COMO ESTÁ" para su información y uso personal únicamente. Excepto como se dispone expresamente en estos Términos de Uso, ninguna parte del Sitio y ningún Contenido o Marcas pueden ser copiados, reproducidos, agregados, republicados, cargados, publicados, mostrados públicamente, codificados, traducidos, transmitidos, distribuidos, vendidos, licenciados o explotados de otra manera para cualquier propósito comercial, sin nuestro permiso previo expreso por escrito. Siempre que sea elegible para usar el Sitio, se le otorga una licencia limitada para acceder y usar el Sitio y para descargar o imprimir una copia de cualquier parte del Contenido al que haya accedido correctamente únicamente para su uso personal y no comercial. Nos reservamos todos los derechos no expresamente otorgados a usted en y para el Sitio, el Contenido y las Marcas. ## **Representaciones del usuario** Al usar el Sitio, usted representa y garantiza que: (1) toda la información de registro que envíe será verdadera, precisa, actual y completa; (2) mantendrá la precisión de dicha información y actualizará prontamente dicha información de registro según sea necesario; (3) tiene la capacidad legal y acepta cumplir con estos Términos de Uso; (4) no es menor de edad en la jurisdicción en la que reside; (5) no accederá al Sitio a través de medios automatizados o no humanos, ya sea a través de un bot, script o de otra manera; (6) no usará el Sitio para ningún propósito ilegal o no autorizado; y (7) su uso del Sitio no violará ninguna ley o regulación aplicable. Si proporciona cualquier información que sea falsa, inexacta, no actual o incompleta, tenemos el derecho de suspender o terminar su cuenta y rechazar cualquier y todo uso actual o futuro del Sitio (o cualquier parte del mismo). ## **Registro de usuario** Es posible que se le requiera registrarse con el Sitio. Usted acepta mantener su contraseña confidencial y será responsable de todo uso de su cuenta y contraseña. Nos reservamos el derecho de eliminar, reclamar o cambiar un nombre de usuario que seleccione si determinamos, a nuestra sola discreción, que dicho nombre de usuario es inapropiado, obsceno o de otra manera objetable. ## **Tarifas y pago** Aceptamos las siguientes formas de pago: * Visa * Mastercard * American Express * Transferencias bancarias (para clientes corporativos) Es posible que se le requiera comprar o pagar una tarifa para acceder a algunos de nuestros servicios. Usted acepta proporcionar información de compra y cuenta actual, completa y precisa para todas las compras realizadas a través del Sitio. Usted además acepta actualizar prontamente la información de cuenta y pago, incluyendo dirección de email, método de pago y fecha de expiración de la tarjeta de pago, para que podamos completar sus transacciones y contactarlo según sea necesario. Le facturamos a través de una cuenta de facturación en línea para las compras realizadas a través del Sitio. Los impuestos aplicables se agregarán al precio de las compras según lo requiera la legislación local. Podemos cambiar los precios en cualquier momento. Todos los pagos serán en dólares estadounidenses, euros, o pesos argentinos según su ubicación. Usted acepta pagar todos los cargos o tarifas a los precios entonces en efecto para sus compras, y nos autoriza a cobrar a su proveedor de pago elegido por cualquier cantidad de este tipo al realizar su compra. Si su compra está sujeta a cargos recurrentes, entonces usted consiente en que cobremos a su método de pago de manera recurrente sin requerir su aprobación previa para cada cargo recurrente, hasta que nos notifique de su cancelación. Nos reservamos el derecho de corregir cualquier error o error en los precios, incluso si ya hemos solicitado o recibido el pago. También nos reservamos el derecho de rechazar cualquier pedido realizado a través del Sitio. ## **Cancelación y reembolsos** **Para usuarios en Argentina:** De acuerdo con la Ley de Defensa del Consumidor (Ley 24.240), usted tiene derecho a cancelar su suscripción en cualquier momento. Los reembolsos se procesarán según las políticas de su proveedor de pago y las regulaciones locales aplicables. **Para usuarios en la Unión Europea:** De acuerdo con la Directiva de Servicios Digitales, usted tiene derecho a cancelar su suscripción en cualquier momento. Los reembolsos se procesarán según las políticas de su proveedor de pago. **Para otros usuarios:** Puede cancelar su suscripción en cualquier momento en su panel de Bravilo AI. Su cancelación entrará en efecto al final del período pagado actual. Los reembolsos se evaluarán caso por caso según las circunstancias. ## **Actividades prohibidas** No puede acceder o usar el Sitio para ningún propósito que no sea aquel para el cual hacemos el Sitio disponible. El Sitio no puede ser usado en conexión con cualquier empresa comercial excepto aquellas que están específicamente respaldadas o aprobadas por nosotros. Como usuario del Sitio, usted acepta no: 1. Hacer cualquier uso no autorizado del Sitio, incluyendo recopilar nombres de usuario y/o direcciones de email de usuarios por medios electrónicos u otros para el propósito de enviar email no solicitado, o crear cuentas de usuario por medios automatizados o bajo falsos pretextos. 2. Usar un agente de compra o agente de compras para hacer compras en el Sitio. 3. Evadir, deshabilitar o interferir de otra manera con las características relacionadas con la seguridad del Sitio, incluyendo características que previenen o restringen el uso o copia de cualquier Contenido o hacen cumplir limitaciones en el uso del Sitio y/o el Contenido contenido en él. 4. Participar en el encuadre no autorizado o enlace al Sitio. 5. Engañar, defraudar o engañarnos a nosotros y a otros usuarios, especialmente en cualquier intento de aprender información sensible de la cuenta como contraseñas de usuario. 6. Hacer uso indebido de nuestros servicios de soporte o enviar reportes falsos de abuso o mala conducta. 7. Participar en cualquier uso automatizado del sistema, como usar scripts para enviar comentarios o mensajes, o usar cualquier minería de datos, robots, o herramientas similares de recopilación y extracción de datos. 8. Interferir con, interrumpir o crear una carga indebida en el Sitio o las redes o servicios conectados al Sitio. 9. Intentar suplantar a otro usuario o persona o usar el nombre de usuario de otro usuario. 10. Vender o transferir de otra manera su perfil. 11. Usar cualquier información obtenida del Sitio para acosar, abusar o dañar a otra persona. 12. Usar el Sitio como parte de cualquier esfuerzo para competir con nosotros o usar de otra manera el Sitio y/o el Contenido para cualquier empresa generadora de ingresos o empresa comercial. 13. Descifrar, descompilar, desensamblar o hacer ingeniería inversa de cualquier software que comprenda o de alguna manera forme parte del Sitio. 14. Intentar evadir cualquier medida del Sitio diseñada para prevenir o restringir el acceso al Sitio, o cualquier parte del Sitio. 15. Acosar, molestar, intimidar o amenazar a cualquiera de nuestros empleados o agentes comprometidos en proporcionar cualquier parte del Sitio a usted. 16. Eliminar el aviso de derechos de autor u otros avisos de derechos de propiedad de cualquier Contenido. 17. Copiar o adaptar el software del Sitio, incluyendo pero no limitado a Flash, PHP, HTML, JavaScript, u otro código. 18. Cargar o transmitir (o intentar cargar o transmitir) virus, caballos de Troya u otro material, incluyendo uso excesivo de letras mayúsculas y spam (publicación continua de texto repetitivo), que interfiere con el uso y disfrute ininterrumpido del Sitio por cualquier parte o modifica, deteriora, interrumpe, altera o interfiere con el uso, características, funciones, operación o mantenimiento del Sitio. 19. Cargar o transmitir (o intentar cargar o transmitir) cualquier material que actúe como un mecanismo pasivo o activo de recopilación o transmisión de información, incluyendo sin limitación, formatos de intercambio de gráficos claros ("gifs"), píxeles 1×1, errores web, cookies u otros dispositivos similares (a veces referidos como "spyware" o "mecanismos de recopilación pasiva" o "pcms"). 20. Excepto como puede ser el resultado del uso estándar del motor de búsqueda o navegador de Internet, usar, lanzar, desarrollar o distribuir cualquier sistema automatizado, incluyendo sin limitación, cualquier araña, robot, utilidad de trampa, scraper o lector offline que acceda al Sitio, o usar o lanzar cualquier script no autorizado u otro software. 21. Difamar, manchar o dañar de otra manera, en nuestra opinión, a nosotros y/o al Sitio. 22. Usar el Sitio de una manera inconsistente con cualquier ley o regulación aplicable. 23. Recopilar información confidencial como contraseñas, detalles de tarjetas de crédito, números de cuenta bancaria, números de Seguridad Social, o cualquier tipo similar de información privada a través de chatbots de Bravilo AI. El incumplimiento de estos términos puede llevar a la eliminación de formularios, eliminación de datos recopilados, o suspensión de su cuenta de Bravilo AI. ## **Contribuciones generadas por el usuario** El Sitio no ofrece a los usuarios enviar o publicar contenido. Podemos proporcionarle la oportunidad de crear, enviar, publicar, mostrar, transmitir, realizar, publicar, distribuir o transmitir contenido y materiales a nosotros o en el Sitio, incluyendo pero no limitado a texto, escritos, video, audio, fotografías, gráficos, comentarios, sugerencias o información personal u otro material (colectivamente, "Contribuciones"). Las Contribuciones pueden ser visibles por otros usuarios del Sitio y a través de sitios web de terceros. Como tal, cualquier Contribución que transmita puede ser tratada de acuerdo con la Política de Privacidad del Sitio. Cuando crea o hace disponible cualquier Contribución, usted por lo tanto representa y garantiza que: 1. La creación, distribución, transmisión, exhibición pública o interpretación, y el acceso, descarga o copia de sus Contribuciones no infringe y no infringirá los derechos de propiedad, incluyendo pero no limitado a los derechos de autor, patente, marca comercial, secreto comercial o derechos morales de cualquier tercero. 2. Usted es el creador y propietario de o tiene las licencias, derechos, consentimientos, liberaciones y permisos necesarios para usar y para autorizarnos a nosotros, al Sitio y a otros usuarios del Sitio a usar sus Contribuciones de cualquier manera contemplada por el Sitio y estos Términos de Uso. 3. Usted tiene el consentimiento, liberación y/o permiso escrito de cada persona individual identificable en sus Contribuciones para usar el nombre o semejanza de cada persona individual identificable para permitir la inclusión y uso de sus Contribuciones de cualquier manera contemplada por el Sitio y estos Términos de Uso. 4. Sus Contribuciones no son falsas, inexactas o engañosas. 5. Sus Contribuciones no son publicidad no solicitada o no autorizada, materiales promocionales, esquemas piramidales, cartas en cadena, spam, envíos masivos u otras formas de solicitud. 6. Sus Contribuciones no son obscenas, lascivas, lujuriosas, sucias, violentas, acosadoras, difamatorias, calumniosas o de otra manera objetables (según lo determine nosotros). 7. Sus Contribuciones no ridiculizan, se burlan, difaman, intimidan o abusan de nadie. 8. Sus Contribuciones no abogan por el derrocamiento violento de cualquier gobierno o incitan, alientan o amenazan daño físico contra otro. 9. Sus Contribuciones no violan ninguna ley, regulación o regla aplicable. 10. Sus Contribuciones no violan los derechos de privacidad o publicidad de cualquier tercero. 11. Sus Contribuciones no contienen ningún material que solicite información personal de cualquier persona menor de 18 años o explote a personas menores de 18 años de manera sexual o violenta. 12. Sus Contribuciones no violan ninguna ley aplicable concerniente a la pornografía infantil, o de otra manera destinada a proteger la salud o bienestar de menores. 13. Sus Contribuciones no incluyen ningún comentario ofensivo que esté conectado a raza, origen nacional, género, preferencia sexual o discapacidad física. 14. Sus Contribuciones no violan de otra manera, o enlazan a material que viola, cualquier disposición de estos Términos de Uso, o cualquier ley o regulación aplicable. Cualquier uso del Sitio en violación de lo anterior viola estos Términos de Uso y puede resultar en, entre otras cosas, terminación o suspensión de sus derechos para usar el Sitio. ## **Licencia de contribución** Usted y el Sitio acuerdan que podemos acceder, almacenar, procesar y usar cualquier información y datos personales que proporcione siguiendo los términos de la Política de Privacidad y sus elecciones (incluyendo configuraciones). Al enviar sugerencias u otra retroalimentación con respecto al Sitio, usted acepta que podemos usar y compartir dicha retroalimentación para cualquier propósito sin compensación para usted. No aseveramos ninguna propiedad sobre sus Contribuciones. Usted retiene la propiedad completa de todas sus Contribuciones y cualquier derecho de propiedad intelectual u otros derechos de propiedad asociados con sus Contribuciones. No somos responsables de cualquier declaración o representación en sus Contribuciones proporcionadas por usted en cualquier área del Sitio. Usted es únicamente responsable de sus Contribuciones al Sitio y usted expresamente acepta exonerarnos de cualquier y toda responsabilidad y abstenerse de cualquier acción legal contra nosotros con respecto a sus Contribuciones. ## **Envíos** Usted reconoce y acepta que cualquier pregunta, comentario, sugerencia, idea, retroalimentación u otra información con respecto al Sitio ("Envíos") proporcionada por usted a nosotros son no confidenciales y se convertirán en nuestra propiedad exclusiva. Tendremos derechos exclusivos, incluyendo todos los derechos de propiedad intelectual, y tendremos derecho al uso y diseminación sin restricciones de estos Envíos para cualquier propósito lícito, comercial o de otro tipo, sin reconocimiento o compensación para usted. Usted por la presente renuncia a todos los derechos morales a cualquier Envío de este tipo, y usted por la presente garantiza que cualquier Envío de este tipo es original con usted o que tiene el derecho de enviar dichos Envíos. Usted acepta que no habrá recurso contra nosotros por cualquier infracción alegada o real o apropiación indebida de cualquier derecho de propiedad en sus Envíos. ## **Sitios web y contenido de terceros** El Sitio puede contener (o usted puede ser enviado a través del Sitio) enlaces a otros sitios web ("Sitios Web de Terceros") así como artículos, fotografías, texto, gráficos, imágenes, diseños, música, sonido, video, información, aplicaciones, software y otro contenido o elementos pertenecientes o originarios de terceros ("Contenido de Terceros"). Dichos Sitios Web de Terceros y Contenido de Terceros no son investigados, monitoreados o verificados por precisión, apropiación o integridad por nosotros, y no somos responsables de cualquier Sitio Web de Terceros accedido a través del Sitio o cualquier Contenido de Terceros publicado en, disponible a través de, o instalado desde el Sitio, incluyendo el contenido, precisión, ofensividad, opiniones, confiabilidad, prácticas de privacidad u otras políticas de o contenidas en los Sitios Web de Terceros o el Contenido de Terceros. La inclusión de, enlace a, o permiso del uso o instalación de cualquier Sitio Web de Terceros o cualquier Contenido de Terceros no implica aprobación o respaldo del mismo por nosotros. Si decide dejar el Sitio y acceder a los Sitios Web de Terceros o usar o instalar cualquier Contenido de Terceros, lo hace bajo su propio riesgo, y debe ser consciente de que estos Términos de Uso ya no gobiernan. Debe revisar los términos y políticas aplicables, incluyendo privacidad y prácticas de recopilación de datos, de cualquier sitio web al que navegue desde el Sitio o relacionado con cualquier aplicación que use o instale desde el Sitio. Cualquier compra que haga a través de Sitios Web de Terceros será a través de otros sitios web y de otras compañías, y no tomamos ninguna responsabilidad en absoluto en relación con dichas compras que son exclusivamente entre usted y el tercero aplicable. Usted acepta y reconoce que no respaldamos los productos o servicios ofrecidos en Sitios Web de Terceros y usted nos mantendrá indemnes de cualquier daño causado por su compra de dichos productos o servicios. Adicionalmente, usted nos mantendrá indemnes de cualquier pérdida sostenida por usted o daño causado a usted relacionado o resultando de cualquier manera de cualquier Contenido de Terceros o cualquier contacto con Sitios Web de Terceros. ## **Gestión del sitio** Nos reservamos el derecho, pero no la obligación, de: 1. Monitorear el Sitio por violaciones de estos Términos de Uso 2. Tomar acción legal apropiada contra cualquiera que, a nuestra sola discreción, viole la ley o estos Términos de Uso, incluyendo sin limitación, reportar a dicho usuario a las autoridades de aplicación de la ley 3. A nuestra sola discreción y sin limitación, rechazar, restringir el acceso a, limitar la disponibilidad de, o deshabilitar (en la medida tecnológicamente factible) cualquiera de sus Contribuciones o cualquier parte del mismo 4. A nuestra sola discreción y sin limitación, notificación o responsabilidad, eliminar del Sitio o deshabilitar de otra manera todos los archivos y contenido que sean excesivos en tamaño o sean de cualquier manera gravosos para nuestros sistemas; y 5. Gestionar de otra manera el Sitio de una manera diseñada para proteger nuestros derechos y propiedad y facilitar el funcionamiento adecuado del Sitio. ## **Política de Privacidad** Nos preocupamos por la privacidad y seguridad de los datos. Por favor revise nuestra Política de Privacidad: [Política de Privacidad](/privacy/privacy-policy). Al usar el Sitio, usted acepta estar sujeto a nuestra Política de Privacidad, que está incorporada en estos Términos de Uso. **Transferencias de datos internacionales:** Por favor tenga en cuenta que el Sitio está alojado en servidores ubicados en diferentes regiones del mundo. Si accede al Sitio desde cualquier región con leyes u otros requisitos que gobiernan la recopilación, uso o divulgación de datos personales que difieren de las leyes aplicables en Argentina, entonces a través de su uso continuado del Sitio, está transfiriendo sus datos a Argentina, y acepta que sus datos sean transferidos y procesados en Argentina. **Para usuarios en Argentina:** Sus datos serán procesados de acuerdo con la Ley de Protección de Datos Personales (Ley 25.326) y sus decretos reglamentarios. **Para usuarios en la Unión Europea:** Sus datos serán procesados de acuerdo con el Reglamento General de Protección de Datos (GDPR). ## **Término y Terminación** Estos Términos de Uso permanecerán en pleno vigor y efecto mientras use el Sitio. Sin limitar cualquier otra disposición de estos términos de uso, nos reservamos el derecho de, a nuestra sola discreción y sin notificación o responsabilidad, negar acceso y uso del sitio (incluyendo bloquear ciertas direcciones IP), a cualquier persona por cualquier razón o sin razón, incluyendo sin limitación por violación de cualquier representación, garantía o pacto contenido en estos términos de uso o de cualquier ley o regulación aplicable. Podemos terminar su uso o participación en el sitio o eliminar su cuenta y cualquier contenido o información que publicó en cualquier momento, sin advertencia, a nuestra sola discreción. Si terminamos o suspendemos su cuenta por cualquier razón, está prohibido registrarse y crear una nueva cuenta bajo su nombre, un nombre falso o prestado, o el nombre de cualquier tercero, incluso si puede estar actuando en nombre del tercero. Además de terminar o suspender su cuenta, nos reservamos el derecho de tomar acción legal apropiada, incluyendo sin limitación perseguir recursos civiles, penales e inhibitorios. ## **Modificaciones e interrupciones** Nos reservamos el derecho de cambiar, modificar o eliminar el contenido del Sitio en cualquier momento o por cualquier razón a nuestra sola discreción sin notificación. Sin embargo, no tenemos obligación de actualizar ninguna información en nuestro Sitio. También nos reservamos el derecho de modificar o discontinuar todo o parte del Sitio sin notificación en cualquier momento. No seremos responsables ante usted o cualquier tercero por cualquier modificación, cambio de precio, suspensión o discontinuación del Sitio. No podemos garantizar que el Sitio estará disponible en todo momento. Podemos experimentar problemas de hardware, software u otros o necesitar realizar mantenimiento relacionado con el Sitio, resultando en interrupciones, retrasos o errores. Nos reservamos el derecho de cambiar, revisar, actualizar, suspender, discontinuar o modificar de otra manera el Sitio en cualquier momento o por cualquier razón sin notificación a usted. Usted acepta que no tenemos ninguna responsabilidad en absoluto por cualquier pérdida, daño o inconveniente causado por su incapacidad de acceder o usar el Sitio durante cualquier tiempo de inactividad o discontinuación del Sitio. Nada en estos Términos de Uso será interpretado para obligarnos a mantener y respaldar el Sitio o suministrar cualquier corrección, actualización o lanzamiento en conexión con el mismo. ## **Ley gobernante y jurisdicción** **Para usuarios en Argentina:** Estas condiciones están gobernadas e interpretadas siguiendo las leyes de la República Argentina. Cualquier disputa será resuelta en los tribunales competentes de la Ciudad Autónoma de Buenos Aires, Argentina, salvo que la ley argentina establezca otra jurisdicción obligatoria. **Para usuarios en la Unión Europea:** Estas condiciones están gobernadas e interpretadas siguiendo las leyes de Argentina, y el uso de la Convención de las Naciones Unidas sobre Contratos para la Venta Internacional de Mercancías está expresamente excluido. Si su residencia habitual está en la UE, y usted es un consumidor, además posee la protección proporcionada a usted por las disposiciones obligatorias de la ley de su país de residencia. Bravilo AI y usted ambos acuerdan someterse a la jurisdicción no exclusiva de los tribunales de Rio Cuarto, Córdoba, Argentina, lo que significa que puede hacer una reclamación para defender sus derechos de protección al consumidor con respecto a estas Condiciones de Uso en Argentina, o en el país de la UE en el que reside. **Para otros usuarios:** Estas condiciones están gobernadas e interpretadas siguiendo las leyes de Argentina. Bravilo AI y usted ambos acuerdan someterse a la jurisdicción no exclusiva de los tribunales de Rio Cuarto, Córdoba, Argentina. ## **Resolución de disputas** **Negociaciones Informales** Para acelerar la resolución y controlar el costo de cualquier disputa, controversia o reclamación relacionada con estos Términos de Uso (cada una una "Disputa" y colectivamente, las "Disputas") traída por usted o nosotros (individualmente, una "Parte" y colectivamente, las "Partes"), las Partes acuerdan primero intentar negociar cualquier Disputa (excepto aquellas Disputas expresamente proporcionadas abajo) informalmente por al menos treinta (30) días antes de iniciar arbitraje. Dichas negociaciones informales comienzan sobre notificación escrita de una Parte a la otra Parte. **Arbitraje Vinculante** Cualquier disputa que surja de las relaciones entre las Partes de este contrato será determinada por un árbitro que será elegido de acuerdo con las reglas de arbitraje aplicables en Argentina, y que están en vigor en el momento en que se presenta la aplicación para arbitraje, y de cuya adopción de esta cláusula constituye aceptación. La sede del arbitraje será Rio Cuarto, Córdoba, Argentina. El idioma de los procedimientos será Español. Las reglas aplicables de ley sustantiva serán la ley de Argentina. **Restricciones** Las Partes acuerdan que cualquier arbitraje será limitado a la Disputa entre las Partes individualmente. En la máxima medida permitida por la ley, (a) ningún arbitraje será unido con cualquier otro procedimiento; (b) no hay derecho o autoridad para que cualquier Disputa sea arbitrada sobre una base de acción de clase o para utilizar procedimientos de acción de clase; y (c) no hay derecho o autoridad para que cualquier Disputa sea traída en una capacidad representativa pretendida en nombre del público en general o cualquier otra persona. **Excepciones a las Negociaciones Informales y Arbitraje** Las Partes acuerdan que las siguientes Disputas no están sujetas a las disposiciones anteriores concernientes a negociaciones informales y arbitraje vinculante: (a) cualquier Disputa que busque hacer cumplir o proteger, o concerniente a la validez de, cualquiera de los derechos de propiedad intelectual de una Parte; (b) cualquier Disputa relacionada con, o que surja de, alegaciones de robo, piratería, invasión de privacidad o uso no autorizado; y (c) cualquier reclamación por alivio inhibitorio. Si se encuentra que esta disposición es ilegal o inaplicable, entonces ninguna Parte elegirá arbitrar cualquier Disputa que caiga dentro de esa porción de esta disposición encontrada ser ilegal o inaplicable y dicha Disputa será decidida por un tribunal de jurisdicción competente dentro de los tribunales listados para jurisdicción arriba, y las Partes acuerdan someterse a la jurisdicción personal de ese tribunal. ## **Correcciones** Puede haber información en el Sitio que contenga errores tipográficos, inexactitudes u omisiones, incluyendo descripciones, precios, disponibilidad y varias otras informaciones. Nos reservamos el derecho de corregir cualquier error, inexactitud u omisión y cambiar o actualizar la información en el Sitio en cualquier momento, sin notificación previa. ## **Descargo de responsabilidad** EL SITIO SE PROPORCIONA EN UNA BASE "TAL COMO ESTÁ" Y "TAL COMO ESTÁ DISPONIBLE". USTED ACEPTA QUE SU USO DEL SITIO Y NUESTROS SERVICIOS SERÁ BAJO SU PROPIO RIESGO. EN LA MÁXIMA MEDIDA PERMITIDA POR LA LEY, RENUNCIAMOS A TODAS LAS GARANTÍAS, EXPRESAS O IMPLÍCITAS, EN CONEXIÓN CON EL SITIO Y SU USO DEL MISMO, INCLUYENDO, SIN LIMITACIÓN, LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. NO HACEMOS GARANTÍAS O REPRESENTACIONES SOBRE LA PRECISIÓN O INTEGRIDAD DEL CONTENIDO DEL SITIO O EL CONTENIDO DE CUALQUIER SITIO WEB VINCULADO AL SITIO Y NO ASUMIMOS NINGUNA RESPONSABILIDAD O RESPONSABILIDAD POR CUALQUIER (1) ERRORES, EQUIVOCACIONES O IMPRECISIONES DE CONTENIDO Y MATERIALES, (2) LESIONES PERSONALES O DAÑOS A LA PROPIEDAD, DE CUALQUIER NATURALEZA, RESULTANTES DE SU ACCESO Y USO DEL SITIO, (3) CUALQUIER ACCESO NO AUTORIZADO O USO DE NUESTROS SERVIDORES SEGUROS Y/O CUALQUIER Y TODA INFORMACIÓN PERSONAL Y/O FINANCIERA ALMACENADA EN ELLOS, (4) CUALQUIER INTERRUPCIÓN O CESACIÓN DE TRANSMISIÓN HACIA O DESDE EL SITIO, (5) CUALQUIER ERROR, VIRUS, CABALLOS DE TROYA, O SIMILARES QUE PUEDAN SER TRANSMITIDOS HACIA O A TRAVÉS DEL SITIO POR CUALQUIER TERCERO, Y/O (6) CUALQUIER ERROR U OMISIÓN EN CUALQUIER CONTENIDO Y MATERIALES O POR CUALQUIER PÉRDIDA O DAÑO DE CUALQUIER TIPO INCURRIDO COMO RESULTADO DEL USO DE CUALQUIER CONTENIDO PUBLICADO, TRANSMITIDO, O DE OTRA MANERA DISPONIBLE A TRAVÉS DEL SITIO. NO GARANTIZAMOS, RESPALDAMOS, GARANTIZAMOS O ASUMIMOS RESPONSABILIDAD POR CUALQUIER PRODUCTO O SERVICIO ANUNCIADO U OFRECIDO POR UN TERCERO A TRAVÉS DEL SITIO, CUALQUIER SITIO WEB HIPERVINCULADO, O CUALQUIER SITIO WEB O APLICACIÓN MÓVIL DESTACADA EN CUALQUIER BANNER U OTRO ANUNCIO, Y NO SEREMOS PARTE O DE CUALQUIER MANERA RESPONSABLES DE MONITOREAR CUALQUIER TRANSACCIÓN ENTRE USTED Y CUALQUIER PROVEEDOR TERCERO DE PRODUCTOS O SERVICIOS. COMO CON LA COMPRA DE UN PRODUCTO O SERVICIO A TRAVÉS DE CUALQUIER MEDIO O EN CUALQUIER ENTORNO, DEBE USAR SU MEJOR JUICIO Y EJERCER PRECAUCIÓN DONDE SEA APROPIADO. ## **Limitaciones de responsabilidad** EN NINGÚN CASO NOSOTROS O NUESTROS DIRECTORES, EMPLEADOS O AGENTES SEREMOS RESPONSABLES ANTE USTED O CUALQUIER TERCERO POR CUALQUIER DAÑO DIRECTO, INDIRECTO, CONSECUENCIAL, EJEMPLAR, INCIDENTAL, ESPECIAL O PUNITIVO, INCLUYENDO PÉRDIDA DE BENEFICIOS, PÉRDIDA DE INGRESOS, PÉRDIDA DE DATOS, U OTROS DAÑOS QUE SURJAN DE SU USO DEL SITIO, INCLUSO SI HEMOS SIDO ADVERTIDOS DE LA POSIBILIDAD DE TALES DAÑOS. NO OBSTANTE CUALQUIER COSA EN CONTRARIO CONTENIDA AQUÍ, NUESTRA RESPONSABILIDAD ANTE USTED POR CUALQUIER CAUSA Y SIN IMPORTAR LA FORMA DE LA ACCIÓN, EN TODO MOMENTO ESTARÁ LIMITADA A LA CANTIDAD PAGADA, SI LA HAY, POR USTED A NOSOTROS DURANTE EL PERÍODO DE TRES (3) MESES ANTERIOR A CUALQUIER CAUSA DE ACCIÓN QUE SURJA. CIERTAS LEYES ESTATALES DE EE.UU. Y LEYES INTERNACIONALES NO PERMITEN LIMITACIONES EN GARANTÍAS IMPLÍCITAS O LA EXCLUSIÓN O LIMITACIÓN DE CIERTOS DAÑOS. SI ESTAS LEYES SE APLICAN A USTED, ALGUNAS O TODAS LAS RENUNCIAS O LIMITACIONES ANTERIORES PUEDEN NO APLICARSE A USTED, Y USTED PUEDE TENER DERECHOS ADICIONALES. ## **Indemnización** Usted acepta defender, indemnizar y mantenernos indemnes, incluyendo nuestras subsidiarias, afiliadas y todos nuestros respectivos oficiales, agentes, socios y empleados, de y contra cualquier pérdida, daño, responsabilidad, reclamación o demanda, incluyendo honorarios y gastos razonables de abogados, hecha por cualquier tercero debido a o que surja de: (1) uso del Sitio; (2) violación de estos Términos de Uso; (3) cualquier violación de sus representaciones y garantías establecidas en estos Términos de Uso; (4) su violación de los derechos de un tercero, incluyendo pero no limitado a derechos de propiedad intelectual; o (5) cualquier acto dañino manifiesto hacia cualquier otro usuario del Sitio con quien se conectó a través del Sitio. No obstante lo anterior, nos reservamos el derecho, a su costo, de asumir la defensa y control exclusivos de cualquier asunto por el cual usted está requerido de indemnizarnos, y usted acepta cooperar, a su costo, con nuestra defensa de dichas reclamaciones. Usaremos esfuerzos razonables para notificarle de cualquier reclamación, acción o procedimiento de este tipo que esté sujeto a esta indemnización al tomar conciencia de ello. ## **Datos del usuario** Mantendremos ciertos datos que usted transmite al Sitio para el propósito de gestionar el rendimiento del Sitio, así como datos relacionados con su uso del Sitio. Aunque realizamos copias de seguridad rutinarias regulares de datos, usted es únicamente responsable de todos los datos que transmite o que se relacionan con cualquier actividad que haya emprendido usando el Sitio. Usted acepta que no tendremos ninguna responsabilidad ante usted por cualquier pérdida o corrupción de dichos datos, y usted por la presente renuncia a cualquier derecho de acción contra nosotros que surja de cualquier pérdida o corrupción de dichos datos. ## **Comunicaciones electrónicas, transacciones y firmas** Visitar el Sitio, enviarnos emails y completar formularios en línea constituyen comunicaciones electrónicas. Usted consiente en recibir comunicaciones electrónicas, y acepta que todos los acuerdos, avisos, divulgaciones y otras comunicaciones que le proporcionamos electrónicamente, vía email y en el Sitio, satisfacen cualquier requisito legal de que dicha comunicación sea por escrito. Usted por la presente acepta el uso de firmas electrónicas, contratos, órdenes y otros registros, y a la entrega electrónica de avisos, políticas y registros de transacciones iniciadas o completadas por nosotros o a través del sitio. Usted por la presente renuncia a cualquier derecho o requisito bajo cualquier estatuto, regulación, regla, ordenanza u otras leyes en cualquier jurisdicción que requiera una firma original o entrega o retención de registros no electrónicos, o a pagos o la concesión de créditos por cualquier medio que no sea electrónico. ## **Disposiciones varias** Estos Términos de Uso y cualquier política o regla operativa publicada por nosotros en el Sitio o con respecto al Sitio constituyen el acuerdo y entendimiento completo entre usted y nosotros. Nuestro fracaso en ejercer o hacer cumplir cualquier derecho o disposición de estos Términos de Uso no operará como una renuncia a dicho derecho o disposición. Estos Términos de Uso operan en la máxima medida permitida por la ley. Podemos asignar cualquier o todos nuestros derechos y obligaciones a otros en cualquier momento. No seremos responsables o responsables por cualquier pérdida, daño, retraso o fracaso para actuar causado por cualquier causa más allá de nuestro control razonable. Si cualquier disposición o parte de una disposición de estos Términos de Uso se determina ser ilegal, nula o inaplicable, esa disposición o parte de la disposición se considera separable de estos Términos de Uso y no afecta la validez y aplicabilidad de cualquier disposición restante. No hay empresa conjunta, asociación, empleo o relación de agencia creada entre usted y nosotros como resultado de estos Términos de Uso o uso del Sitio. Usted acepta que estos Términos de Uso no serán interpretados contra nosotros en virtud de haberlos redactado. Usted por la presente renuncia a cualquier y todas las defensas que pueda tener basadas en la forma electrónica de estos Términos de Uso y la falta de firma por las partes aquí para ejecutar estos Términos de Uso. ## **Contáctenos** Para resolver una queja con respecto al Sitio o para recibir información adicional con respecto al uso del Sitio, por favor contáctenos en: Bravilo AI Rio Cuarto, Córdoba Argentina Email: [support@braviloai.com](mailto:support@braviloai.com) *** **Última actualización:** 01 de Junio de 2025 # Burbuja Source: https://docs.braviloai.com/widgets/chatbot/bubble Instalar en tu sitio web Para instalar un Agente en tu sitio web usando el widget de Burbuja usá el siguiente fragmento de código: ```html theme={null} ``` Reemplaza `TU_AGENT_ID` con el ID de tu Agente Podés encontrar el ID del Agente en la configuración del Agente bajo la pestaña de Configuración. Ve todos los atributos disponibles en la [Referencia del Chatbot](/widgets/chatbot/reference). # Reference Source: https://docs.braviloai.com/widgets/chatbot/reference Referencia El Chatbot está disponible a través de nuestro CDN como un archivo JavaScript único o a través de NPM como un paquete de componente React. ```html theme={null} ``` ```jsx theme={null} import { Chatbox } from '@bravilohq/embeds'; function App() { return ( ); ``` ## Atributos / Props ```html theme={null} ``` ```jsx theme={null} ``` ID del Agente Nombre Apellido Email Número de teléfono ID de usuario personalizado Mensajes iniciales del Agente Contexto extra que se agregará al prompt del sistema del Agente ## Métodos Abrir Chatbox de Burbuja ```js theme={null} const widget = await Chatbox.initBubble({ agentId: 'TU_AGENT_ID', widget.open() ``` Cerrar Chatbox de Burbuja ```js theme={null} const widget = await Chatbox.initBubble({ agentId: 'TU_AGENT_ID', widget.close() ``` ```js Alternar Chatbox de Burbuja theme={null} const widget = await Chatbox.initBubble({ agentId: 'TU_AGENT_ID', widget.toggle() ``` ```js Crear Nueva Conversación theme={null} const widget = await Chatbox.initBubble({ agentId: 'TU_AGENT_ID', widget.createNewConversation() ``` ``` ``` # Chat en tu Web Source: https://docs.braviloai.com/widgets/chatbot/standard ## Obtener el ID de tu agente Cada agente tiene un ID único que necesitás para generar el código del widget. Para encontrarlo: - Andá a Agentes en el menú lateral * Hacé click en el agente que querés instalar * Buscá la pestaña "Apps" * En la sección "Chat Bubble" , vas a ver el snippet con tu ID ya incluido ## Copiar el código del widget Copiá este fragmento de código y pegalo justo antes del cierre de en tu sitio web: \`} /> Reemplazá TU\_AGENT\_ID\_AQUÍ con el ID de tu agente (el que copiaste en el paso anterior). Mejor opción: Usá directamente el snippet que aparece en la pestaña "Apps" del agente — ya viene con tu ID configurado. ## Donde pegarlo según tu plataforma Dependiendo de dónde tengas tu web, el lugar para pegar el código varía: , ## Personalizar colores y apariencia Podés personalizar el chat bubble desde la configuración del agente en Bravilo: : ( opt.icon. ## ¡Verificar que funcione! Después de pegar el código y guardar, visitá tu sitio web. Deberías ver un botón flotante abajo a la derecha. Hacé click en el botón del chat 💬 Escribí un mensaje de prueba Verificá que el agente responda correctamente La conversación debería aparecer en Conversaciones del dashboard ¿No aparece el botón? Verificá que pegaste el código correctamente, limpiá el caché del navegador (Ctrl+Shift+R), y revisá la consola del navegador (F12) por posibles errores. Tu primer agente Base de conocimiento. # Campos de Formulario Source: https://docs.braviloai.com/widgets/form/fields Tipos de campos disponibles para tus formularios Bravilo soporta múltiples tipos de campos para que armes formularios conversacionales flexibles. ## Tipos de campo | Campo | Descripción | | --------------- | ------------------------------------------------------------------------ | | **Texto** | Respuesta libre de una línea. Ideal para nombres, emails o datos cortos. | | **Texto largo** | Respuesta libre de múltiples líneas. Para descripciones o feedback. | | **Email** | Valida automáticamente que el formato sea un email válido. | | **Teléfono** | Captura números de teléfono con validación de formato. | | **Número** | Solo acepta valores numéricos. Podés definir mínimo y máximo. | | **Selección** | El usuario elige una opción de una lista desplegable. | | **Múltiple** | El usuario puede elegir varias opciones a la vez. | | **Fecha** | Selector de fecha con calendario integrado. | | **Sí/No** | Pregunta de respuesta binaria (toggle). | ## Configuración de cada campo Para cada campo podés definir: * **Label**: El texto de la pregunta que ve el usuario. * **Placeholder**: Texto de ayuda dentro del campo. * **Obligatorio**: Si el campo es requerido para enviar el formulario. * **Validación**: Reglas personalizadas (mínimo, máximo, regex). ## Buenas prácticas * Usá campos obligatorios solo para la información crítica. * Dividí formularios largos en varios pasos para no abrumar al usuario. * Probá el formulario en el chat de prueba antes de publicarlo. # Hosted form Source: https://docs.braviloai.com/widgets/form/hosted-form Formulario Alojado de Bravilo AI Todos los formularios están disponibles desde la URL Alojada de Bravilo AI. ```bash theme={null} https://app.braviloai.com/forms/TU_FORMULARIO_ID ``` Puedes encontrar el ID del Formulario en la configuración del Formulario bajo la pestaña de Configuración. La forma más fácil de comenzar es simplemente redirigir al usuario a esta página desde dentro de tu aplicación o sitio web. # Reference Source: https://docs.braviloai.com/widgets/form/reference Referencia El widget de Formulario está disponible a través de nuestro CDN como un archivo JavaScript único o a través de NPM como un paquete de componente React. ```html theme={null} ``` ```jsx theme={null} import { Form } from '@bravilohq/embeds'; function App() { return (
{ console.log('Formulario enviado con valores:', values); /> ); ``` ## Atributos / Props ```html theme={null} ``` ```jsx theme={null} { console.log('Formulario enviado con valores:', values); /> ``` ID del Formulario Función de callback que se llama cuando el formulario es enviado. La función recibe los valores del formulario como un objeto. ```js theme={null} const form = await Form.initBubble({ agentId: 'TU_FORMULARIO_ID', onEnd: function (values) { console.log('Formulario enviado con valores:', values); }, ``` # Widget Estándar Source: https://docs.braviloai.com/widgets/form/standard Integrar un formulario de Bravilo AI usando el widget Estándar Para instalar un Formulario en tu sitio web usando el widget Estándar usa el siguiente fragmento de código: ```html theme={null} ``` Reemplaza `TU_FORMULARIO_ID` con el ID de tu Formulario Puedes encontrar el ID del Formulario en la configuración del Formulario bajo la pestaña de Configuración. Ve todos los atributos disponibles en la [Referencia del Formulario](/widgets/form/reference). # Uso con Chatbot Source: https://docs.braviloai.com/widgets/form/usage-with-chatbot Conectá un formulario a tu agente de chat Podés conectar cualquier formulario a un agente de Bravilo usando la **Form Tool**. ## Cómo conectarlo 1. Andá a tu agente → **Habilidades** 2. Buscá **"Form Tool"** o **"Formulario"** 3. Seleccioná el formulario que querés usar 4. Guardá los cambios ## Cómo se ve en la conversación Cuando el agente detecta que necesita recolectar datos, inicia el formulario de forma natural: > "Para poder ayudarte mejor, necesito algunos datos. ¿Cómo es tu nombre?" El agente hace una pregunta por vez y completa los campos automáticamente. ## Casos de uso comunes * **Calificación de leads**: Capturá nombre, email, empresa y presupuesto antes de pasar a ventas. * **Soporte técnico**: Recopilá número de pedido, descripción del problema y prioridad. * **Agendamiento**: Pedí fecha, hora y tipo de servicio para coordinar una cita. ## Ver resultados Una vez completado, los datos del formulario se guardan en: * La conversación (metadata) * El lead asociado (si hay captura de contactos activa) * Webhooks (si configuraste una URL de destino)