DALIA MCP
69 tools para agentes de IA — generado del registry del servidor, siempre al día.
claude mcp add dalia --transport http https://www.dal-ia.com/api/mcp \ --header "Authorization: Bearer dk_live_…"
Misma autenticación y permisos que la API REST. Deliberadamente ausentes: envío de mensajes, campañas, API keys, webhooks e invitaciones — decisiones de producto verificadas en CI.
search_contacts
Search contacts by name, email or phone, by custom attributes (attribution: utm_source, utm_medium, utm_campaign, ad_name, city…), by labels, by creation period and by whether they have an open conversation. Newest first, with next_cursor and the contact url. 'Cuántos vinieron de X' is attribution: prefer the attribution report for totals and use this to list the people.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
query | string | Free text matched against name, email and phone | |
attributes | object | Exact custom attributes, e.g. { "utm_medium": "paid_social" } | |
labels | string[] | Contact must carry ALL of these label titles | |
has_open_conversation | boolean | ||
period | 'today' | 'week' | 'month' | 'all_time' | 'custom' | ||
date_from | string | YYYY-MM-DD (period=custom) | |
date_to | string | YYYY-MM-DD inclusive (period=custom) | |
limit | integer | ||
cursor | string | next_cursor from a previous call |
get_contact
Full profile of ONE contact: channel identities, custom attributes (attribution), labels, internal notes and their conversations. Use it before acting on a person.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
contact_id | string | requerido | |
recent_messages | integer | Recent messages of the latest conversation to include (default 10) |
create_contact
Create a contact. Requires name plus at least one of phone_number or email. Phone/email must be unique per workspace.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
name | string | requerido | |
phone_number | string | ||
email | string | ||
city | string | ||
country | string | ||
company_name | string | ||
job_title | string | ||
bio | string |
update_contact
Partially update a contact: only the provided fields change. Pass an empty string to clear a field.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
contact_id | string | requerido | |
name | string | ||
phone_number | string | ||
email | string | ||
city | string | ||
country | string | ||
company_name | string | ||
job_title | string | ||
bio | string |
list_labels
List the workspace labels (tags) available for contacts.
Sin parámetros.
create_label
Create a label (tag). Titles are unique per workspace. Requires label management permission.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
title | string | requerido | |
description | string | ||
color | string | Hex color like #ff0055 |
tag_contact
Attach a label to a contact, by label_id or by label_title (case-insensitive exact match). Idempotent.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
contact_id | string | requerido | |
label_id | string | ||
label_title | string |
untag_contact
Remove a label from a contact, by label_id or label_title.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
contact_id | string | requerido | |
label_id | string | ||
label_title | string |
list_conversations
List inbox conversations (WhatsApp / Instagram / Messenger / web), newest activity first, with contact, channel, last message preview and the chat url. Filter by status, inbox, assignee (name), unassigned_only, priority, team, label, unread_only and created/updated date ranges. Paginate with next_cursor. Only shows what the caller may see: an agent restricted to their own conversations gets only theirs.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
status | 'open' | 'resolved' | 'pending' | 'snoozed' | 'all' | ||
inbox | string | Inbox name or id | |
inbox_id | string | ||
assignee | string | Assigned agent name, email or id | |
unassigned_only | boolean | ||
priority | 'urgent' | 'high' | 'medium' | 'low' | 'none' | ||
team | string | Team name or id | |
label | string | Label title or id | |
unread_only | boolean | ||
created_from | string | YYYY-MM-DD | |
created_to | string | YYYY-MM-DD (inclusive) | |
updated_from | string | YYYY-MM-DD | |
updated_to | string | YYYY-MM-DD (inclusive) | |
limit | integer | ||
cursor | string |
get_conversation_messages
Read the messages of a conversation, newest first, with a cursor for older pages.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
limit | integer | ||
cursor | string |
assign_conversation
Assign a conversation to an agent by name, email or id. Requires assignment permission.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
agent | string | requerido | Agent name, email or id |
unassign_conversation
Remove the assignee from a conversation.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido |
resolve_conversation
Mark a conversation as resolved (fires resolution automations).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido |
reopen_conversation
Reopen a resolved/snoozed conversation.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido |
set_conversation_priority
Set priority: urgent, high, medium, low or none.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
priority | 'urgent' | 'high' | 'medium' | 'low' | 'none' | requerido |
snooze_conversation
Snooze a conversation until an ISO timestamp in the future.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
until | string | requerido | ISO timestamp, e.g. 2026-09-13T15:00:00Z |
tag_conversation
Attach a label to a conversation by label_id or label_title (fires label automations). Idempotent.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
label_id | string | ||
label_title | string |
untag_conversation
Remove a label from a conversation by label_id or label_title.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
label_id | string | ||
label_title | string |
get_conversation_detail
Full context of ONE conversation: status, priority, assignee, contact, labels and the most recent messages. Use it to summarise or to decide an action on a specific chat; for account-wide counts use the report tools instead.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
conversation_id | string | requerido | |
message_limit | integer | Recent messages to include (default 30) |
list_inboxes
List workspace inboxes (channels) with their ids for filtering conversations.
Sin parámetros.
list_agents
List workspace agents (for assignment).
Sin parámetros.
list_teams
List workspace teams.
Sin parámetros.
crm_list_pipelines
List CRM pipelines with their stages (name, type open/won/lost, order). Use this first to get pipeline and stage ids/names for the other CRM tools.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
kind | 'leads' | 'opportunities' | 'mixed' |
crm_list_leads
List CRM leads, newest first. Filter by pipeline/stage (name or id), status (new/qualified/unqualified/converted), owner (name, email or id) or unassigned_only, contact, source (substring) and creation date range. Paginate with next_cursor; each lead carries its dashboard url.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline | string | Pipeline name or id | |
stage | string | Stage name or id (needs pipeline) | |
pipeline_id | string | ||
stage_id | string | ||
status | 'new' | 'qualified' | 'unqualified' | 'converted' | ||
owner | string | Owner agent name, email or id | |
owner_id | string | ||
unassigned_only | boolean | Only leads without owner | |
contact_id | string | ||
source | string | Substring of the source label | |
created_from | string | YYYY-MM-DD | |
created_to | string | YYYY-MM-DD (inclusive) | |
limit | integer | ||
cursor | string |
crm_get_lead
Fetch a single lead by id, including attribution (UTM) and custom attributes.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
lead_id | string | requerido | |
activity_limit | integer | Recent timeline entries to include (default 10) |
crm_create_lead
Create a lead in a pipeline (by name or id). Lands in the given stage or the first one. Attribution: pass utm_source/utm_medium/utm_campaign, or a legacy source label (whatsapp, instagram, facebook, web, email, llamada) that maps to standard UTM. Referral-type sources require attribution_detail (who referred).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline | string | Pipeline name or id (defaults to the default leads pipeline) | |
stage | string | Stage name or id (defaults to the first stage) | |
name | string | requerido | |
company_name | string | ||
email | string | ||
phone | string | ||
source | string | ||
utm_source | string | ||
utm_medium | string | ||
utm_campaign | string | ||
attribution_detail | string | ||
estimated_value | number | ||
currency | string | ||
owner | string | Owner agent name, email or id | |
owner_id | string | ||
contact_id | string |
crm_update_lead
Partially update a lead (name, contact fields, value, owner, status, attribution). Manual UTM edits are origin-tracked and the automatic value is snapshotted once. Owner changes notify the new owner by email.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
lead_id | string | requerido | |
name | string | ||
company_name | string | ||
email | string | ||
phone | string | ||
source | string | ||
utm_source | string | ||
utm_medium | string | ||
utm_campaign | string | ||
attribution_detail | string | ||
estimated_value | number | ||
currency | string | ||
owner | string | Owner agent name, email or id | |
owner_id | string | ||
contact_id | string | ||
status | 'new' | 'qualified' | 'unqualified' | 'converted' |
crm_move_lead_stage
Move a lead to another stage of its pipeline, by stage name or id (board-drag parity: won-type stages set status qualified, lost-type set unqualified; the stage change is logged on the timeline).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
lead_id | string | requerido | |
stage | string | requerido | Target stage name or id |
crm_mark_lead_lost
Mark a lead as lost (status unqualified, moved to the lost stage when the pipeline has one, reason logged on the timeline). Converted leads cannot be marked lost.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
lead_id | string | requerido | |
reason | string |
crm_reopen_lead
Reopen a lost lead: status back to new, moved to the first open stage.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
lead_id | string | requerido |
crm_convert_lead
Convert a lead into an opportunity in a target pipeline (by name or id). Enforces the conversion minimums (name + client + business context), links or creates the contact, carries attribution, interest items and human activities over.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
lead_id | string | requerido | |
pipeline | string | Target opportunity pipeline name or id (defaults to the default opportunities pipeline) | |
stage | string | Target stage name or id (defaults to the first stage) | |
name | string | Opportunity name (defaults to the lead name) | |
amount | number | ||
currency | string | ||
expected_close_date | string | YYYY-MM-DD | |
owner | string | Owner agent name, email or id | |
owner_id | string | ||
confirmed_contact_id | string | Existing contact to link when the lead has none |
crm_list_opportunities
List CRM opportunities (deals), newest first, filterable by pipeline, stage, status (open/won/lost), owner or contact.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline | string | Pipeline name or id | |
stage | string | Stage name or id (needs pipeline) | |
pipeline_id | string | ||
stage_id | string | ||
status | 'open' | 'won' | 'lost' | ||
owner | string | Owner agent name, email or id | |
owner_id | string | ||
unassigned_only | boolean | Only deals without owner | |
contact_id | string | ||
amount_min | number | ||
amount_max | number | ||
expected_close_from | string | YYYY-MM-DD | |
expected_close_to | string | YYYY-MM-DD | |
created_from | string | YYYY-MM-DD | |
created_to | string | YYYY-MM-DD (inclusive) | |
limit | integer | ||
cursor | string |
crm_get_opportunity
Fetch a single opportunity by id, including amount, close dates and attribution.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
opportunity_id | string | requerido | |
activity_limit | integer | Recent timeline entries to include (default 10) |
crm_create_opportunity
Create an opportunity (deal). Requires a linked contact, an expected close date (YYYY-MM-DD) and an owner — same rule as the UI.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline | string | Pipeline name or id (defaults to the default opportunities pipeline) | |
stage | string | Stage name or id (defaults to the first stage) | |
name | string | requerido | |
description | string | ||
amount | number | ||
currency | string | ||
expected_close_date | string | YYYY-MM-DD | |
owner | string | Owner agent name, email or id (defaults to the acting user) | |
owner_id | string | ||
contact_id | string | requerido | Linked contact id (required) |
utm_source | string | ||
utm_medium | string | ||
utm_campaign | string | ||
attribution_detail | string |
crm_update_opportunity
Partially update an opportunity. Setting status=lost (or clearing the reason of a lost deal) validates the loss reason against the account catalog. Owner changes notify the new owner by email.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
opportunity_id | string | requerido | |
name | string | ||
description | string | ||
amount | number | ||
currency | string | ||
expected_close_date | string | YYYY-MM-DD | |
probability | integer | ||
status | 'open' | 'won' | 'lost' | ||
lost_reason | string | ||
owner | string | Owner agent name, email or id | |
owner_id | string | ||
contact_id | string | ||
utm_source | string | ||
utm_medium | string | ||
utm_campaign | string | ||
attribution_detail | string |
crm_move_opportunity_stage
Move an opportunity to another stage of its pipeline, by stage name or id. Won-type stages close the deal as won; lost-type stages require lost_reason and close it as lost; open stages reopen it. This is how deals are won, lost and reopened.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
opportunity_id | string | requerido | |
stage | string | requerido | Target stage name or id |
lost_reason | string | Required when the target stage is lost-type |
crm_mark_opportunity_outcome
Close an opportunity as 'won' or 'lost': sets the status and actual close date, moves it to the matching terminal stage and logs the outcome. Losing requires lost_reason from the account catalog (see crm_move_opportunity_stage). Reopen later with crm_update_opportunity status=open.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
opportunity_id | string | requerido | |
outcome | 'won' | 'lost' | requerido | |
lost_reason | string | Required when outcome is lost; must be one of the account lost reasons |
crm_list_activities
Activities of the CRM. With entity_type + entity_id: the timeline of one lead or opportunity (notes, calls, meetings, tasks, stage changes), newest first. Without entity_id: account-wide list, filterable by type, entity_type, owner (assigned agent), pending_only (open items with a due date, soonest first) and due date range: 'tareas pendientes', 'vencidas esta semana'.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
entity_type | 'lead' | 'opportunity' | ||
entity_id | string | Lead or opportunity id (requires entity_type) | |
type | 'note' | 'call' | 'meeting' | 'task' | 'email' | 'stage_change' | 'field_change' | ||
owner | string | Assigned agent name, email or id | |
pending_only | boolean | ||
due_from | string | YYYY-MM-DD | |
due_to | string | YYYY-MM-DD (inclusive) | |
limit | integer |
crm_add_note
Add a note to the timeline of a lead or opportunity.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
entity_type | 'lead' | 'opportunity' | requerido | |
entity_id | string | requerido | |
body | string | requerido |
crm_schedule_activity
Schedule a call, meeting or task on a lead or opportunity, with a due date and optional assignee.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
entity_type | 'lead' | 'opportunity' | requerido | |
entity_id | string | requerido | |
type | 'call' | 'meeting' | 'task' | requerido | |
due_at | string | requerido | ISO timestamp (2026-09-15T14:00:00Z) or a date (2026-09-15, taken as midday UTC) |
body | string | ||
assigned_to | string | Agent name, email or id (defaults to the acting user) |
crm_complete_activity
Mark a scheduled activity (call/meeting/task) as done.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
activity_id | string | requerido |
list_crm_properties
Lista propiedades inmobiliarias del catálogo del CRM (crm_properties). Pensado para cuentas inmobiliarias. Filtros: - name_search: busca por nombre/código de la propiedad o proyecto (búsqueda parcial). USA ESTE FILTRO cuando el usuario mencione el nombre de un proyecto o desarrollo (ej. "Dominica", "GAIA", "Torres del Norte"). Las propiedades tienen nombres como "DOMINICA - Apartamentos". - city / sector (búsqueda parcial) - operation: la operación comercial. IMPORTANTE: en la DB puede estar como "Compra" (= venta desde la perspectiva del vendedor) o "Arriendo". Puedes pasar "venta", "compra", "arriendo" o "alquiler" — la tool normaliza automáticamente. - property_type: ej. "Apartamento", "Casa", "Casa Campestre", "Local Comercial", "Oficina", "Lote campestre", etc. Case-insensitive. - availability (parcial) - min_price / max_price (sobre list_price) - min_bedrooms / max_bedrooms - only_active (default true) - only_published (sólo published al sitio público) IMPORTANTE: cuando el usuario pregunta por un proyecto inmobiliario por nombre (ej. "ventas de Dominica", "oportunidades del proyecto GAIA"), usa name_search con ese nombre. No uses sector ni city para buscar por nombre de proyecto. Cuando el usuario dice "vendemos" o "en venta", filtra por operation = "venta" (la tool lo normaliza a "Compra" internamente).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
name_search | string | Busca por nombre o código de la propiedad/proyecto. Búsqueda parcial case-insensitive. Úsalo cuando el usuario mencione el nombre de un proyecto inmobiliario. | |
city | string | ||
sector | string | ||
operation | string | ||
property_type | string | ||
availability | string | ||
min_price | number | ||
max_price | number | ||
min_bedrooms | integer | ||
max_bedrooms | integer | ||
only_active | boolean | ||
only_published | boolean | ||
limit | integer |
get_crm_property_detail
Detalle completo de una propiedad: imágenes y oportunidades que la incluyen como ítem.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
property_id | string | requerido |
list_crm_lost_reasons
Lista los motivos de pérdida configurados en la cuenta. Consúltalos antes de cerrar una oportunidad como perdida: el motivo es obligatorio y debe ser uno de estos.
Sin parámetros.
get_crm_funnel
Devuelve el embudo (funnel) de un pipeline para un periodo dado: cuántas oportunidades hay en cada stage, monto agregado y tasa de conversión stage → siguiente. Úsalo cuando el usuario pregunte: - "cómo va el embudo / pipeline este mes" - "muestra el funnel de ventas" - "conversión por etapa" Si no se especifica pipeline_name, usa el pipeline marcado como is_default; si no hay default, devuelve un error claro y pide elegir. Cuenta SIEMPRE oportunidades creadas dentro del period (no las que ya estaban abiertas antes).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline_name | string | Nombre parcial del pipeline. Si se omite, usa el default. | |
period | 'today' | 'yesterday' | 'this_week' | 'last_week' | 'this_month' | 'last_month' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'last_60_days' | 'last_90_days' | 'last_180_days' | 'last_365_days' | 'this_year' | 'all' | Periodo a evaluar. Default this_month. Para rangos no estándar (ej. 45 días, 73 días) usa el parámetro custom_days_back en su lugar. | |
custom_days_back | integer | Rango libre: últimos N días. Anula period. | |
date_from | string | YYYY-MM-DD. Anula period y custom_days_back. | |
date_to | string | YYYY-MM-DD inclusiva. |
get_crm_conversion_report
Reporte de conversión: cuántas oportunidades se cerraron como won vs lost en un periodo, win rate y ciclo medio (días entre created_at y actual_close_date). Si se pasa compare_with_previous=true, devuelve también el periodo anterior comparable.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline_name | string | ||
period | 'today' | 'yesterday' | 'this_week' | 'last_week' | 'this_month' | 'last_month' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'last_60_days' | 'last_90_days' | 'last_180_days' | 'last_365_days' | 'this_year' | 'all' | Periodo a evaluar. Default this_month. Para rangos no estándar (ej. 45 días, 73 días) usa el parámetro custom_days_back en su lugar. | |
custom_days_back | integer | Rango libre: últimos N días. Anula period. | |
date_from | string | YYYY-MM-DD. Anula period y custom_days_back. | |
date_to | string | YYYY-MM-DD inclusiva. | |
compare_with_previous | boolean |
get_crm_agent_performance
Ranking de agentes (owners) por desempeño de oportunidades en un periodo. Para cada agente devuelve: oportunidades won / lost / open, monto ganado y win rate. Ordenado por monto ganado descendente.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline_name | string | ||
period | 'today' | 'yesterday' | 'this_week' | 'last_week' | 'this_month' | 'last_month' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'last_60_days' | 'last_90_days' | 'last_180_days' | 'last_365_days' | 'this_year' | 'all' | Periodo a evaluar. Default this_month. Para rangos no estándar (ej. 45 días, 73 días) usa el parámetro custom_days_back en su lugar. | |
custom_days_back | integer | Rango libre: últimos N días. Anula period. | |
date_from | string | YYYY-MM-DD. Anula period y custom_days_back. | |
date_to | string | YYYY-MM-DD inclusiva. | |
limit | integer |
get_crm_lost_reasons_breakdown
Razones de pérdida de oportunidades agrupadas, con conteo y monto perdido por razón. Útil para entender por qué se pierden deals y priorizar mejoras.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline_name | string | ||
period | 'today' | 'yesterday' | 'this_week' | 'last_week' | 'this_month' | 'last_month' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'last_60_days' | 'last_90_days' | 'last_180_days' | 'last_365_days' | 'this_year' | 'all' | Periodo a evaluar. Default this_month. Para rangos no estándar (ej. 45 días, 73 días) usa el parámetro custom_days_back en su lugar. | |
custom_days_back | integer | Rango libre: últimos N días. Anula period. | |
date_from | string | YYYY-MM-DD. Anula period y custom_days_back. | |
date_to | string | YYYY-MM-DD inclusiva. |
analyze_lead_response_times
Analiza tiempos de respuesta de leads del CRM: cruza leads → contactos → conversaciones → mensajes para calcular por cada lead: - Tiempo hasta primera respuesta humana (excluye bot) - Si el cliente respondió después del mensaje del asesor - Agente atribuido: usa el owner del lead CRM si existe; si no, usa el agente asignado a la conversación del contacto (assignee). Esto cubre cuentas donde la asignación se hace a nivel de conversación y no de lead. Devuelve métricas individuales + agregados (promedio, mediana, % contactados, % con respuesta del cliente, breakdown por agente). Úsalo SOLO cuando el usuario pregunte por leads del CRM ("tiempo de contacto de los leads", "qué leads respondieron después de la presentación"). Para los tiempos de Informes, "de dónde sale el promedio de un asesor" o "la conversación que más tardaron", usa analyze_agent_response_times. IMPORTANTE: NO llames esta tool una vez por agente. Llámala UNA SOLA VEZ sin owner_name y usa el campo by_agent del resultado. NO uses find_sla_breaches para esto.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
period | 'today' | 'yesterday' | 'this_week' | 'last_week' | 'this_month' | 'last_month' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'last_60_days' | 'last_90_days' | 'last_180_days' | 'last_365_days' | 'this_year' | 'all' | Periodo a evaluar. Default this_month. Para rangos no estándar (ej. 45 días, 73 días) usa el parámetro custom_days_back en su lugar. | |
custom_days_back | integer | Rango libre: últimos N días. Anula period. | |
date_from | string | YYYY-MM-DD. Anula period y custom_days_back. | |
date_to | string | YYYY-MM-DD inclusiva. | |
pipeline_name | string | ||
owner_name | string | Filtra por agente (owner del lead O assignee de la conversación). Pasa "sin asignar" para leads sin agente. Para el breakdown de TODOS los agentes, omite este parámetro y usa by_agent. | |
source | string | Fuente del lead (búsqueda parcial). Ej: "WhatsApp", "Meta". | |
limit | integer |
get_overview_report
Workspace overview for a period: KPIs with previous-period comparison (conversations, contacts, messages, resolution, first-response times), daily timeseries, conversation breakdowns by status/channel/priority, and contact attribution by source. Default window: last 30 days.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
days | integer | Rolling window in days (default 30) | |
from | string | YYYY-MM-DD (Bogota) — requires to | |
to | string | YYYY-MM-DD (Bogota) — requires from | |
inbox_id | string |
get_conversations_report
Conversation operations for a period: incoming-volume heatmap (day × hour), first-response time distributions (human, business-hours, AI), AI agent stats and the current SLA queue of waiting conversations.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
days | integer | Rolling window in days (default 30) | |
from | string | YYYY-MM-DD (Bogota) — requires to | |
to | string | YYYY-MM-DD (Bogota) — requires from | |
inbox_id | string |
get_crm_report
Sales results for a period: funnel (conversations → leads → opportunities → won), revenue and average ticket, revenue per owner and per attribution origin, losses by reason, and the lead/opportunity attribution table per dimension.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
days | integer | Rolling window in days (default 30) | |
from | string | YYYY-MM-DD (Bogota) — requires to | |
to | string | YYYY-MM-DD (Bogota) — requires from | |
inbox_id | string |
get_agents_report
Per-agent performance for a period: assigned/resolved conversations, resolution rate and average first-response times. Pass agent (display name) to add their conversation-level first-response breakdown.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
days | integer | Rolling window in days (default 30) | |
from | string | YYYY-MM-DD (Bogota) — requires to | |
to | string | YYYY-MM-DD (Bogota) — requires from | |
inbox_id | string | ||
agent | string | Agent display name — adds their breakdown |
create_pipeline
Create a pipeline (kind: 'leads', 'opportunities' or 'mixed'). It is seeded with the default stage set, ready for cards. Requires workspace-setup permission.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
name | string | requerido | |
kind | 'leads' | 'opportunities' | 'mixed' | requerido | |
description | string | ||
default_currency | string | ISO code, default COP | |
is_default | boolean | Make it the default board for its kind |
update_pipeline_stages
Set the stage layout of a pipeline in one call: pass the FULL ordered list of stage names (or ids). Existing stages are reordered to match; names that do not exist yet are created as open-type stages. Terminal stages (won/lost) must be edited via the API.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
pipeline | string | requerido | Pipeline name or id |
ordered_stages | string[] | requerido | Complete stage list, in board order |
create_team
Create a team, optionally with members (by name, email or id) and auto-assignment.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
name | string | requerido | |
description | string | ||
allow_auto_assign | boolean | ||
members | string[] | Agent names, emails or ids |
add_team_member
Add an agent (by name, email or id) to a team (by name or id).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
team | string | requerido | Team name or id |
agent | string | requerido | Agent name, email or id |
remove_team_member
Remove an agent (by name, email or id) from a team (by name or id). The agent keeps their account access; only the team membership goes away.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
team | string | requerido | Team name or id |
agent | string | requerido | Agent name, email or id |
edit_canned_response
Edita una respuesta predeterminada existente, buscándola por su código corto. Puede cambiar el código, el contenido o ambos. Cada edición queda registrada en el historial de la respuesta.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
short_code | string | requerido | Código corto actual de la respuesta a editar (sin la barra) |
new_short_code | string | Nuevo código corto (si se quiere cambiar) | |
new_content | string | Nuevo contenido |
create_canned_response
Create a canned response (atajo) on an inbox (by name or id). short_code must be unique per inbox.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
short_code | string | requerido | The shortcut, without the leading / |
content | string | requerido | |
inbox | string | requerido | Inbox name or id |
list_canned_responses
List canned responses, optionally filtered by inbox (name or id).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
inbox | string | Inbox name or id |
create_custom_attribute
Define a custom attribute for contacts or conversations. type: text, number, currency, percent, link, date, list (requires values) or checkbox.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
display_name | string | requerido | |
key | string | requerido | snake_case identifier |
model | 'contact_attribute' | 'conversation_attribute' | requerido | |
type | 'text' | 'number' | 'currency' | 'percent' | 'link' | 'date' | 'list' | 'checkbox' | ||
description | string | ||
values | string[] | Options, required for type 'list' |
list_custom_attributes
List the custom attribute definitions of the workspace.
Sin parámetros.
update_inbox_settings
Rename an inbox (by name or id), toggle auto-assignment or turn the AI agent on/off. Channel credentials are never touched here.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
inbox | string | requerido | Inbox name or id |
name | string | ||
auto_assign | boolean | ||
ai_agent_enabled | boolean |
get_ai_config
Read the AI agent configuration of an inbox (by name or id): temperature, memory, RAG settings, enabled tools, bypass labels, handover. The prompt is not readable here.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
inbox | string | requerido | Inbox name or id |
update_ai_config
Partially update the AI agent configuration of an inbox (by name or id). Only the keys you send change; every write re-runs the plan sanitizer. The prompt is not writable here.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
inbox | string | requerido | Inbox name or id |
config | object | requerido | Keys to change, e.g. {"temperature":0.4,"bypass_labels":["VIP"],"rag_enabled":true} |
create_knowledge_collection
Create a knowledge-base collection (embedding/chunking config is a fixed platform standard; plan limits apply).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
name | string | requerido | |
description | string |
add_knowledge_document
Add a document to the knowledge base from raw text (up to 100KB) or a public https URL (up to 2MB). It is chunked and embedded through the same pipeline as a dashboard upload; the returned status tells whether it is ready. Collection by name or id, optional.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
name | string | requerido | Document title |
collection | string | Collection name or id | |
text | string | ||
url | string | Public https URL to fetch |
search_knowledge
Semantic search over the account's knowledge base — the same RAG retrieval the AI agent uses (embeddings + similarity threshold).
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
query | string | requerido | |
top_k | integer |