Copilot
Variables y tools
Referencia completa de todo lo que el Copilot puede leer o cambiar, organizada por dominio.
Esta es la lista completa de cosas que el Copilot puede consultar o cambiar en tu cuenta. Útil para saber qué pedirle y qué esperar como respuesta.
Convenciones: 🔍 = solo lectura · ✏️ = el copilot lo puede modificar · 🤖 = helper de IA (devuelve análisis, no cambia datos)
1. Configuración del bot (nivel tenant)
Aplica a TODAS las conversaciones del tenant a menos que un departamento sobrescriba.
| Variable | Valores | Tool | Descripción |
|---|---|---|---|
bot_name | texto libre | update_bot_config | Nombre con el que el bot se presenta al cliente. |
tone | cordial_profesional · casual_amigable · formal_corporativo · entusiasta_ventas | update_bot_config | Estilo conversacional. |
sales_focus | consultive · balanced · aggressive | update_bot_config | Cuánto empuja el cierre de venta. |
response_length | short · medium · detailed | update_bot_config | Longitud objetivo de cada respuesta. |
language | código ISO (es, en, es-CR…) | update_bot_config | Idioma por defecto. |
use_emojis | true / false | update_bot_config | Permitir emojis. |
ai_enabled | true / false | update_bot_config | Master switch. Si false, el bot NO responde a nadie. |
enable_bot_responses | true / false | update_bot_config | Respuestas automáticas on/off. |
enable_auto_routing | true / false | update_bot_config | El bot puede enrutar a departamentos. |
enable_knowledge_base | true / false | update_bot_config | Consultar la KB para responder. |
enable_human_handoff | true / false | update_bot_config | El bot puede escalar a humano. |
enable_department_transfer | true / false | update_bot_config | Transferencia entre departamentos. |
system_prompt_override | texto libre (~400 palabras max) | update_bot_config + improve_prompt | Instrucciones extra que se anexan al prompt del bot. |
Read tool: get_bot_config 🔍 — devuelve el ai_config actual + estado de WhatsApp.
2. Cerebro IA por departamento
Cada departamento puede sobrescribir lo del tenant. Todos los mismos campos de la sección 1 son sobrescribibles a nivel de departamento.
| Variable | Tool | Descripción |
|---|---|---|
| ai_config.bot_name | update_department_brain | Override de nombre cuando la conv está en este depto. |
| ai_config.tone | update_department_brain | Override de tono. Mismo enum que tenant. |
| ai_config.sales_focus | update_department_brain | Override de foco de ventas. |
| ai_config.response_length | update_department_brain | Override de longitud. |
| ai_config.language | update_department_brain | Override de idioma. |
| ai_config.use_emojis | update_department_brain | Override de emojis. |
| ai_config.system_prompt_override | update_department_brain | Instrucciones adicionales a las del tenant. |
"" a update_department_brain para borrar un override y volver al valor del tenant.Comandos rápidos por departamento
Pares trigger → respuesta que el bot pattern-matchea cuando llega un mensaje del cliente.
| Variable | Tool | Descripción |
|---|---|---|
| trigger | add_department_command | Frase/palabra clave (ej. "precio del plan"). |
| response | add_department_command | Texto base que el bot adapta cuando matchea. |
| is_active | (toggle vía UI) | Activar/desactivar sin borrar. |
Read: list_department_commands. Delete: delete_department_command.
3. Equipo (departamentos y agentes)
Departamentos
| Variable | Tool | Descripción |
|---|---|---|
| name | create_department · update_department | Nombre visible. |
| description | update_department | Texto libre. |
| color | update_department | Color hex (ej. #06b6d4). |
| icon | update_department | Nombre de icono Lucide. |
| is_default | update_department | Marcar como depto por defecto (desactiva el flag en los demás). |
| is_active | delete_department | Soft delete: false lo oculta sin perder historial. |
Read tool: list_departments.
Agentes
| Acción | Tool | Descripción |
|---|---|---|
| Crear / invitar | invite_agent(email, full_name) | Genera link copiable (o adjunta membership si ya existe la cuenta). |
| Quitar | remove_agent(email | user_id) | Elimina la membership del tenant. La cuenta sobrevive en otros workspaces. |
Read tool: list_agents.
4. Base de conocimiento
| Acción | Tool | Descripción |
|---|---|---|
| Crear manual | add_knowledge_entry(title, content) | Embebe automáticamente. Máx ~8000 chars. |
| Importar URL | scrape_url_to_kb(url, title?) | Descarga HTML público, extrae texto, source_type=url. |
| Eliminar | delete_knowledge_entry(id) | Borrado físico (entrada + embedding). |
Read tool: list_knowledge_entries(limit?).
5. Plugins
| Acción | Tool | Descripción |
|---|---|---|
| Activar | enable_plugin(slug, config?) | Instala y habilita. Valida campos requeridos del manifest. |
| Desactivar | disable_plugin(slug) | Apaga sin desinstalar. Config preservada. |
Read tool: list_plugins_status — catálogo + estado de instalación/enabled.
/admin/plugins/[slug]. Una tool dedicada para el copilot está en roadmap.6. Mensajes automáticos
5 eventos, todos editables desde el copilot.
| event_type | Cuándo se dispara |
|---|---|
welcome_new_lead | Primer contacto de un cliente nuevo. |
welcome_returning | Cliente que ya escribió antes vuelve a hacerlo. |
out_of_hours | Mensaje fuera del horario del depto. |
post_handoff | Confirmación tras escalar a humano. |
closing | Mensaje cuando un agente marca la conversación como cerrada. |
Modifica con set_automatic_message(event_type, content, is_active?). Pasa content vacío para borrar.
Variables soportadas en el contenido: {customer_name}, {name_prefix}, {company}, {department}, {next_open}, {bot}.
7. Conversaciones, calificación de leads y helpers IA
Lectura
| Tool | Descripción |
|---|---|
get_recent_conversations(limit?, status?) | Filtros: open, assigned, bot, closed. Excluye conversaciones de prueba. |
list_conversation_tags(conversation_id?) | Sin conversation_id devuelve todos los tags del tenant. |
Calificación de lead
| Variable | Valores | Tool |
|---|---|---|
| qualification.score | 0–100 | qualify_lead |
| qualification.stage | new · qualified · nurturing · converting · won · lost | qualify_lead |
| qualification.budget | <2k · 2k-10k · 10k+ | qualify_lead |
| qualification.timeline | now · 30d · 90d · later | qualify_lead |
| qualification.authority | decision · influencer · researcher | qualify_lead |
| qualification.notes | texto libre | qualify_lead |
Tags y snooze
| Acción | Tool |
|---|---|
| Agregar tag con color opcional | add_conversation_tag(conversation_id, tag, color?) |
| Quitar tag | remove_conversation_tag(conversation_id, tag) |
| Posponer | snooze_conversation(conversation_id, minutes_from_now? | until_iso?, reason?) |
| Quitar snooze | unsnooze_conversation(conversation_id) |
Helpers IA 🤖 (no modifican datos)
| Tool | Devuelve |
|---|---|
summarize_conversation(conversation_id) | { summary, key_points[] } |
suggest_agent_reply(conversation_id) | { suggestion, rationale } |
detect_lead_intent(conversation_id) | { intent, confidence, sentiment, next_best_action } |
improve_prompt(draft, target, context?) | Reescribe un draft de prompt. NO persiste — el copilot lo muestra y pregunta si guardar. |
Intents posibles: buy_product, support_request, info_request, complaint, follow_up, spam, other.
8. Métricas (lectura)
get_metrics_summary 🔍 devuelve 7 días: conversations_7d, conversations_open_now, ai_requests_7d, tokens_total_7d, errors_7d, avg_latency_ms. Excluye conversaciones de prueba.
9. Modo prueba y Laboratorio
| Variable / Acción | Tool | Descripción |
|---|---|---|
tenants.test_mode_enabled | set_test_mode(enabled) | Activa el toggle global. Habilita la pestaña Laboratorio. |
| Simular mensaje | simulate_customer_message(message, department_id?) | Manda un mensaje "como cliente" al lab y devuelve la respuesta del bot. No toca WhatsApp. |
9b. Configuración avanzada
Áreas que antes sólo se gestionaban por UI y ahora también puede manejar el copilot:
| Dominio | Tools | Descripción |
|---|---|---|
| Horarios de departamento | get_department_schedule · set_department_schedule | 0=Domingo a 6=Sábado, formato HH:MM. set_ reemplaza la semana completa. |
| Miembros de departamento | list_department_members · add_department_member · remove_department_member | Asignar agentes (por email o user_id). Rol: leader o member. |
| Permisos del departamento | set_department_permissions | Reemplaza el set. 7 permisos disponibles (view/respond/transfer convs, view/edit KB, view reports, manage members). |
| Alcance de plugin por dept. | set_plugin_department_scope | Restringe un plugin a deptos. Lista vacía = global. |
| Editar entrada del KB | update_knowledge_entry | Cambia título y/o contenido. Re-embedding automático si cambias content. |
10. Onboarding
complete_onboarding ✏️ marca el tenant como onboarding_completed_at = NOW() y onboarding_step = 'done'. La UI redirige a /admin cuando el copilot llama esta tool en modo onboarding.
Tabla resumen
| Categoría | Tools | Variables modificables |
|---|---|---|
| Configuración del bot | 2 (R+W) | 13 |
| Cerebro IA por depto | 6 | 7 + comandos |
| Departamentos | 4 | 6 |
| Agentes | 3 | invite/remove |
| Base de conocimiento | 4 | título, contenido, fuente |
| Plugins | 3 | enable/disable |
| Mensajes automáticos | 2 | 5 eventos × 2 campos |
| Conversaciones | 5 reads + 6 writes | tags, snooze, qualification |
| Helpers IA | 4 | (output only) |
| Métricas | 1 | (output only) |
| Lab | 2 | test_mode + simulate |
| Onboarding | 1 | complete |
| Bulk avanzado | 8 | horarios, miembros, permisos, scope plugin, KB edit |
| Total | 46 tools |
Cómo le pides al copilot
Frases que funcionan bien:
- "Calificame este lead: hot, etapa convirtiendo, presupuesto 10k+"
- "Crea un depto de Onboarding con color cyan"
- "Carga https://mi-empresa.com al KB y luego ponlo solo para el depto de Ventas"
- "Cambia el tono del bot a casual_amigable y mejora el prompt actual"
- "Resúmeme la conversación 64418e23..."
- "Sugiere respuesta para la conversación que tengo abierta"
- "Activa modo prueba y simula 'cuánto cuesta'"
Cuando te quedes sin idea, dile "qué puedes hacer" al copilot — usa este mismo documento como contexto y te lista lo que aplica a tu caso.