Acciones y herramientas
La pestaña Actions es donde gestionas todo lo que tu agente puede hacer más allá de la conversación: herramientas que el agente invoca durante una conversación en vivo, hooks de precarga que se ejecutan antes de que empiece la llamada, y acciones post-llamada que se disparan cuando la llamada termina. Las Variables de recuperación (los campos de datos que el agente extrae de cada conversación) viven en la misma pestaña.
Todas las herramientas, acciones y el nuevo hook de precarga están disponibles en todos los planes, incluido el Free.
Las tres fases
Cada entrada en la pestaña Actions pertenece a una de tres fases del ciclo de vida. El desplegable Add Tool las agrupa para que quede claro cuándo se dispara cada cosa:
| Fase | Cuándo | Ejemplos |
|---|---|---|
| Pre fetch | Antes de que el agente diga hola | Buscar al llamante en tu CRM por teléfono, obtener el último pedido, recuperar un saludo personalizado desde tu backend |
| Llamada en vivo | Durante la conversación, disparado por la IA cuando es el momento adecuado | Desviar la llamada a un humano, comprobar disponibilidad en el calendario, transferir a otro agente, consultar una API externa para obtener datos |
| Post llamada | Después de que termine la llamada | Enviar un correo de resumen, disparar una confirmación por SMS, enviar el payload de la llamada a tu CRM |
El desplegable se abre con Pre fetch arriba porque las demás fases ya tienen muchas opciones — la nueva entrada de precarga es lo más probable que estés buscando.
Pre fetch
Los hooks de precarga permiten que tu agente inicie la llamada ya sabiendo quién llama. Se ejecutan en paralelo con la configuración de la llamada e inyectan la respuesta en el system prompt del agente antes de que se pronuncie la primera palabra.
Cuándo usarlos
- Reconocer a un cliente recurrente por el número de teléfono y saludarlo por su nombre
- Recuperar el pedido abierto del llamante, su última cita o nivel de membresía
- Precargar contexto de negocio que depende de qué línea se marcó
- Inyectar notas del CRM para que el agente conozca la etapa y el historial del lead
Cómo funciona
- La plataforma resuelve el teléfono del llamante (desde SIP para entrantes, desde el destino marcado para salientes).
- Cada acción Pre fetch activa se dispara en paralelo con un timeout fuerte de 1,5 s por petición y un presupuesto global de 2 s.
- Las respuestas exitosas se concatenan al system prompt del agente como bloques con nombre — el agente las lee en su primerísimo turno.
- Los fallos son silenciosos — un endpoint lento o roto nunca bloquea el saludo. El agente simplemente empieza a hablar sin ese bloque.
Configuración
| Campo | Descripción |
|---|---|
| Name | Obligatorio. Etiqueta interna y nombre del bloque en el prompt — manténlo corto y descriptivo (p. ej. crm_lookup, vip_check). |
| API URL | Obligatorio. Endpoint desde el que obtener. Admite los placeholders {phone}, {direction}, {agent_id}, {user_id}, {call_id}. |
| HTTP Method | GET es el predeterminado y el más adecuado. POST / PUT / PATCH / DELETE también funcionan. |
| Headers | Opcional. Estáticos o con plantillas (los placeholders también funcionan aquí). |
| Query Parameters | Opcional. Se rellena previamente con phone={phone} para las nuevas acciones de precarga. |
Variables disponibles
Estos tokens se sustituyen en URL, cabeceras y parámetros de query/body en el momento de la petición:
| Variable | Origen | Valor de ejemplo |
|---|---|---|
{phone} | Teléfono del llamante (E.164) — para salientes, el número de destino | +431234567890 |
{direction} | inbound o outbound | inbound |
{agent_id} | ID interno del agente | 65f1a2b3c4... |
{user_id} | ID del propietario del workspace | 65e0b1c2d3... |
{call_id} | ID de la llamada (permite a tu backend correlacionar más tarde el payload post-llamada) | 65f1f2c4d5... |
Los placeholders desconocidos se dejan tal cual — un mal templating nunca tira abajo una llamada.
Qué acaba en el prompt
Si tu endpoint en https://crm.example.com/lookup?phone={phone} devuelve:
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
El system prompt del agente se amplía con un bloque envuelto en XML con el nombre de la acción:
<call_context>
<block name="crm_lookup">
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
</block>
</call_context>
No necesitas decirle al agente cómo usarlo — el LLM recoge el contexto de forma natural. Opcionalmente, menciona la precarga en tu system prompt: "If <call_context> contains a customer name, greet them by name."
Limitaciones importantes
- Solo llamadas telefónicas. La precarga no se ejecuta para llamadas de widget (web) — no hay número de teléfono contra el que plantillar.
- Tope de 8 KB en el cuerpo de la respuesta — cualquier cosa más larga se trunca antes de la inyección. El tope protege el presupuesto de tokens del prompt y limita el radio de impacto de un endpoint malicioso.
- No se evalúa
condition— la precarga siempre se dispara cuando está activa. Aún no hay transcripción contra la que evaluar.
Usa GET con un endpoint de búsqueda por teléfono. Mantén las respuestas pequeñas y estructuradas (objeto JSON con 3-5 campos). El agente no necesita tu registro completo del cliente — solo los datos que cambian la conversación.
Herramientas de llamada en vivo
Estas se ejecutan durante la conversación. La IA decide cuándo invocar cada herramienta basándose en su descripción y en el diálogo actual.
Herramientas disponibles
| Herramienta | Propósito | Cuándo usarla |
|---|---|---|
| Desvío de llamadas | Transferir a un operador humano | El cliente pide hablar con una persona, problemas complejos |
| Google Calendar | Comprobar disponibilidad y reservar citas | El cliente quiere agendar una reunión |
| Outlook Calendar | Lo mismo, vía Microsoft Outlook | El cliente quiere agendar una reunión |
| API Tool RAG | Obtener datos en vivo desde una API externa | Se necesita información en tiempo real (pedidos, stock, estado de cuenta) |
| Transferencia de agente | Transferir a otro agente de voz IA | El llamante necesita otro departamento o un especialista |
| HubSpot CRM | Leer/escribir contactos y deals en HubSpot | Registrar la llamada en HubSpot, buscar un lead |
| Servidores MCP | Exponer herramientas desde cualquiera de tus servidores MCP registrados | Tienes un servidor de herramientas compatible con MCP y quieres que el agente use sus herramientas a mitad de conversación |
Desvío de llamadas
Transferir llamadas a un humano cuando se cumplen condiciones específicas.
| Ajuste | Descripción | Ejemplo |
|---|---|---|
| Name | Obligatorio. Nombre de la persona o departamento | "Sales Manager" |
| Forwarding Number | Número de teléfono predeterminado al que transferir | "+49 123 456 789" |
| Trigger Condition | Cuándo debe transferir el agente | "Customer asks for manager or issue cannot be resolved" |
| Conditional Routing Numbers | Mapeo condición-a-número para enrutamiento | {"billing": "+49 111 222", "technical": "+49 333 444"} |
Cómo funciona:
- Durante una conversación, la IA evalúa la Trigger Condition.
- Si hay números de enrutamiento condicional definidos, la condición coincidente determina a qué número llamar.
- En caso contrario, se usa el Forwarding Number.
- El agente informa al llamante sobre la transferencia.
- La llamada se desvía — si no responden, vuelve al agente.
Puedes añadir varias herramientas de Desvío de llamadas para distintos departamentos — una para "Ventas" y otra para "Soporte técnico" con condiciones y números distintos.
Google Calendar
Conecta tu Google Calendar para que el agente pueda comprobar disponibilidad y reservar citas durante las llamadas.
Configuración:
- Ve a Integration → Calendars y conecta primero tu cuenta de Google.
- Añade la herramienta Google Calendar en la pestaña Actions del agente.
- Selecciona el calendario a usar.
- Configura tus ajustes de disponibilidad.
| Ajuste | Descripción | Predeterminado |
|---|---|---|
| Calendar | Obligatorio. Qué calendario usar | Tu calendario principal |
| Timezone | Zona horaria para las citas (formato IANA) | Detección automática |
| Work Start Time | Inicio del horario laboral | 9:00 AM |
| Work End Time | Fin del horario laboral | 6:00 PM |
| Slot Duration | Duración de la cita en minutos | 30 |
| Working Days | Días disponibles de la semana | Lunes-viernes |
| Buffer Between Appointments | Margen entre citas (0-60 min) | 0 |
Duraciones de slot admitidas: 15, 30, 45, 60, 75, 90, 105, 120 minutos.
Configura tus horas y días laborables con precisión — el agente solo ofrecerá franjas horarias dentro de tu disponibilidad configurada.
Outlook Calendar
Conecta tu Outlook Calendar para agendar citas durante las llamadas. Funciona igual que Google Calendar.
Configuración:
- Ve a Integration → Calendars y conecta primero tu cuenta de Outlook.
- Añade la herramienta Outlook Calendar en la pestaña Actions del agente.
- Selecciona el calendario a usar.
- Configura tus ajustes de disponibilidad.
Los ajustes son idénticos a Google Calendar (zona horaria, horas laborales, duración de slot, días laborables, margen).
Transferencia de agente
Transfiere una llamada a otro agente de voz IA de tu cuenta. Útil cuando tienes agentes especializados para distintos departamentos.
| Ajuste | Descripción |
|---|---|
| Target Agent | Obligatorio. Selecciona a qué agente transferir |
| Trigger Condition | Cuándo transferir (p. ej., "El llamante pregunta por soporte técnico") |
Ejemplo: un agente recepcionista transfiere llamantes a un agente de ventas cuando preguntan por precios, o a un agente de soporte cuando tienen un problema técnico.
HubSpot CRM
Lee y escribe en tu HubSpot CRM durante la llamada. Permite al agente registrar interacciones, buscar un contacto por teléfono o enviar actualizaciones de deal sin que tengas que escribir las llamadas a la API.
Configuración:
- Ve a la página Integrations y conecta tu cuenta de HubSpot.
- Añade la herramienta HubSpot CRM en la pestaña Actions del agente.
- Selecciona qué pipeline y propiedades puede tocar el agente.
Una vez añadida la herramienta, la IA puede emparejar al llamante con un contacto de HubSpot por teléfono, obtener la etapa del deal y actualizar campos — todo desde la conversación en vivo.
Servidores MCP
Expone herramientas desde cualquier servidor compatible con MCP que hayas conectado a Hanc.AI. Un agente puede consumir desde varios servidores MCP; un servidor MCP puede servir a varios agentes.
Configuración:
- Conecta tu(s) servidor(es) MCP una vez en Integration → MCP servers. Consulta la página dedicada Servidores MCP para los pasos completos de registro.
- Añade la entrada MCP servers a la pestaña Actions de este agente — está agrupada en Llamada en vivo dentro del desplegable Add Action.
- Activa a qué conexiones registradas debe tener acceso este agente.
- Añade una breve instrucción "Cuándo usarlo" para que el agente sepa cuándo recurrir a estas herramientas.
El agente redescubre el conjunto de herramientas de cada servidor MCP habilitado al inicio de cada llamada, así que los cambios que hagas en el lado del servidor aparecen automáticamente en la siguiente llamada. Las herramientas se renombran con la etiqueta de la conexión como prefijo para que herramientas con nombres similares de servidores distintos no colisionen.
API Tool RAG
Conecta con APIs externas para obtener información en tiempo real durante las llamadas — buscar pedidos, comprobar inventario, verificar cuentas o acceder a cualquier dato disponible vía API.
| Ajuste | Descripción | Ejemplo |
|---|---|---|
| Name | Obligatorio. Nombre de la herramienta | "Order Lookup" |
| Description / When to Use | Obligatorio. Cuándo consultar la API | "Customer asks about order status" |
| API URL | Obligatorio. Endpoint de la API. Puede incluir tokens {placeholder} que se sustituirán por valores del Body Parameters Schema (ver más abajo). | "https://api.yourshop.com/orders/{order_id}" |
| HTTP Method | Obligatorio. Método HTTP | GET, POST, PUT, DELETE, PATCH |
| Loading Message | Lo que dice el agente mientras espera | "Let me check that for you..." |
| Timeout | Tiempo máximo de espera (ms) | 5000 (predeterminado) |
| Headers | Cabeceras HTTP estáticas enviadas con cada petición | {"Authorization": "Bearer KEY"} |
| Query Parameters | Parámetros estáticos de query string añadidos a cada petición | {"apiVersion": "v2"} |
| Body Parameters Schema | Obligatorio. JSON Schema que describe los argumentos que la IA debe extraer de la conversación y pasar a la herramienta. Ver Cómo escribir el Body Parameters Schema. | Objeto JSON Schema |
Define siempre un Loading Message — el silencio durante llamadas a APIs le parece roto al llamante.
La antigua casilla "Run on call start" en API Tool RAG ha sido sustituida por la entrada dedicada Pre fetch. Usa Pre fetch cuando quieras los datos antes de que empiece la conversación; usa API Tool RAG cuando el agente deba decidir durante la llamada si obtenerlos.
Cómo escribir el Body Parameters Schema
A pesar del nombre, Body Parameters Schema no es un cuerpo de petición en crudo. Es un JSON Schema que describe qué debe extraer la IA de la conversación y pasar a tu herramienta. Según el método HTTP y la plantilla de URL, estos valores acaban en la URL, en la query string o en el body JSON:
| Método HTTP | Dónde van los valores extraídos |
|---|---|
La URL contiene {name} | El valor coincidente se sustituye en la URL |
GET, DELETE | Los valores restantes se añaden a la URL como ?key=value |
POST, PUT, PATCH | Los valores restantes se envían como body JSON |
Estructura mínima
{
"type": "object",
"properties": {
"param_name": {
"type": "string",
"description": "What this value is and how the AI should pick it"
}
},
"required": ["param_name"]
}
El type raíz siempre es "object". properties lista cada argumento. required marca cuáles debe proporcionar siempre la IA — si el cliente aún no lo ha dicho, la IA preguntará antes de invocar la herramienta.
Referencia de campos
| Campo | Propósito |
|---|---|
type | Tipo JSON del valor: "string", "number", "integer", "boolean", "array", "object" |
description | Lo más importante. Le dice a la IA qué significa el valor, qué formato usar y cuándo proporcionarlo. Añade ejemplos siempre que puedas. |
enum | Restringe el valor a uno de una lista fija. La IA mapeará el habla natural a la opción más cercana (p. ej., "the blue one" → "blue"). |
minimum, maximum | Límites numéricos. La IA rechazará/recortará valores fuera de rango. |
default | Valor usado cuando la IA no pasa este campo. No es obligatorio, pero documenta el valor implícito. |
format | Pista de validación, p. ej. "email", "date" (YYYY-MM-DD), "uri". |
Ejemplos
Búsqueda de productos (solo palabra clave):
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Product search keyword — e.g. \"phone\", \"laptop\", \"Apple\", \"Samsung\""
}
},
"required": ["query"]
}
Usado con la URL https://dummyjson.com/products/search?q={query}&limit=5 y GET: el valor query va al placeholder de la URL. Nada acaba en el body.
Búsqueda de pedido por ID:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order ID the customer is asking about, usually 6 to 10 digits. Ask the customer if not provided."
}
},
"required": ["order_id"]
}
Usado con la URL https://api.example.com/orders/{order_id} y GET.
Reserva con varios campos obligatorios:
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Product ID returned by a previous search_products call."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "How many items to reserve. Default 1."
},
"delivery_method": {
"type": "string",
"enum": ["pickup", "home_delivery", "locker"],
"description": "How the customer wants to receive the item."
},
"customer_email": {
"type": "string",
"format": "email",
"description": "Customer's email for order confirmation. Ask if not provided."
}
},
"required": ["product_id", "delivery_method", "customer_email"]
}
Usado con POST https://api.example.com/reservations: los cuatro valores van al body JSON. La IA preguntará al cliente por los campos required que falten antes de invocar la herramienta.
Herramienta sin parámetros:
{
"type": "object",
"properties": {}
}
Usa esto cuando el endpoint es totalmente estático (p. ej., GET /store/hours) y la IA no necesita pasar nada.
Buenas prácticas para agentes de voz IA
- Mantén el esquema plano. Objetos y arrays anidados funcionan, pero la IA puede equivocarse al hablar por teléfono. Prefiere un máximo de 3-5 campos de nivel superior.
- Escribe siempre una
descriptionpara cada campo. Incluye ejemplos (p. ej. "phone", "laptop") — los ejemplos guían a la IA con más fiabilidad que las definiciones abstractas. - Usa
enumsiempre que tengas una lista fija de valores. Elimina el riesgo de que la IA invente valores o envíe"Electronics"en lugar de"electronics". - Marca un campo como
requiredsolo si la herramienta no puede funcionar sin él. Todo lo demás es opcional, y la IA lo saltará cuando el cliente no lo haya mencionado — sin preguntas extra incómodas. - Usa nombres en
snake_casey haz que coincidan exactamente con los tokens{placeholder}de la URL. - Documenta el comportamiento ante valores faltantes en la
description— p. ej.,"Omit if no budget limit","Default 5".
Acciones post-llamada
Las acciones post-llamada se disparan cuando la llamada ha terminado y la cadena de análisis ha producido el resumen, el sentimiento y las variables extraídas. Consumen datos de la llamada — no hablan con el cliente.
Acciones disponibles
| Acción | Propósito |
|---|---|
| Enviar correo | Envía por correo un resumen estructurado a tu equipo o cliente |
| Enviar SMS | Confirmación por texto al llamante |
| Enviar WhatsApp | Mensaje o plantilla de WhatsApp (funciona dentro y fuera de la ventana de 24 horas) |
| Llamada API | Envía el payload completo de la llamada a una API externa (CRM, webhook, tu data warehouse) |
Enviar correo
| Ajuste | Descripción |
|---|---|
| Name | Obligatorio. Identificador de la acción |
| Subject | Obligatorio. Línea de asunto del correo |
| Message Body | Obligatorio. Cuerpo del correo — puede incluir variables de recuperación |
| Trigger Condition | Cuándo enviar (vacío = siempre) |
| Recipients | Obligatorio. Direcciones de correo que siempre reciben el mensaje |
| Conditional Recipients | Mapeo condición-a-destinatario |
Uso de variables en el correo:
New lead from phone call:
Name: {{customer_name}}
Email: {{customer_email}}
Interested in: {{selected_plan}}
Notes: {{call_notes}}
Enviar SMS
| Ajuste | Descripción |
|---|---|
| Name | Obligatorio. Identificador de la acción |
| Sender Name | Nombre del remitente mostrado |
| Message | Obligatorio. Contenido del SMS (puede incluir variables) |
| Trigger Condition | Cuándo enviar |
| Recipients | Obligatorio. Números de teléfono que siempre reciben el SMS |
| Conditional Recipients | Mapeo condición-a-número |
Enviar WhatsApp
La mensajería de WhatsApp en HANC usa plantillas preaprobadas desde una cuenta central de Twilio Content — no pegas un Template SID a mano. El editor de acciones muestra un desplegable con todas las plantillas actualmente activas y aprobadas, y eliges una. Los placeholders dentro de la plantilla ({{1}}, {{2}}, …) se rellenan en línea con variables de llamada o texto estático que mapeas en el editor.
| Ajuste | Descripción |
|---|---|
| Name | Obligatorio. Identificador de la acción |
| Trigger Condition | Cuándo enviar |
| Recipients | Obligatorio. Números de teléfono que siempre reciben el mensaje |
| Conditional Recipients | Mapeo condición-a-número |
| Template | Obligatorio. Selector desplegable de plantillas de WhatsApp preaprobadas sincronizadas desde la cuenta central de Twilio Content. Cada entrada muestra el nombre de la plantilla, el idioma y una vista previa del cuerpo para que sepas cuál elegir. |
| Template Variables | Para la plantilla elegida, el editor lista cada placeholder ({{1}}, {{2}}, …) y te permite mapearlo a una variable de llamada (ver más abajo) o a una cadena estática. |
Variables de llamada disponibles para mapear a placeholders de plantilla:
| Variable | Descripción |
|---|---|
{{call_from}} | Número de teléfono del llamante |
{{call_to}} | Número al que se llamó |
{{call_summary}} | Resumen de la llamada generado por IA |
{{call_sentiment}} | Sentimiento (positivo/neutro/negativo) |
{{call_task_achieved}} | Si se logró la tarea de la llamada |
{{call_transcription}} | Transcripción completa de la llamada |
WhatsApp requiere que cada mensaje iniciado por el negocio fuera de la ventana de atención al cliente de 24 horas use una plantilla preaprobada. HANC sincroniza la lista de plantillas aprobadas desde la cuenta compartida de Twilio Content, así que el desplegable siempre muestra exactamente lo que es elegible para enviar ahora mismo — no puedes elegir por accidente un borrador, una plantilla rechazada o un SID que no existe. Para añadir una nueva plantilla, contacta con soporte; una vez aprobada por WhatsApp aparece automáticamente en el desplegable.
Llamada API
La acción de Llamada API post-llamada es tu webhook genérico hacia el resto de tu stack. Elige el método, define la URL y enviaremos el payload completo de la llamada — tu endpoint recibe un objeto JSON estructurado que describe lo que ocurrió.
| Ajuste | Descripción |
|---|---|
| Name | Obligatorio. Identificador de la acción |
| Trigger Condition | Cuándo disparar (vacío = cada llamada). Evaluado por un LLM contra la transcripción. |
| API URL | Obligatorio. URL del endpoint de la API |
| HTTP Method | Obligatorio. GET, POST, PUT, DELETE, PATCH |
| Headers | Cabeceras opcionales de la petición |
| Query Parameters | Parámetros opcionales de query string |
Qué recibe tu endpoint
Para POST / PUT / PATCH, tu endpoint recibe un objeto JSON en el body de la petición. Tus parámetros de body configurados se mezclan con el payload completo de la llamada:
{
"call_from": "+431234567890",
"call_to": "+439876543210",
"direction": "inbound",
"call_type": "phone",
"call_status": "ended",
"start_timestamp": 1730000000000,
"end_timestamp": 1730000187000,
"duration": 187000,
"transcription": [
{ "speaker": "agent", "content": "Hello…", "timestamp": 1730000001000 },
{ "speaker": "user", "content": "Hi…", "timestamp": 1730000003000 }
],
"call_summary": "Customer asked about pricing…",
"task_achieved": true,
"sentiment": { "sentiment": "positive", "explanation": "…" },
"custom_analysis_data": {
"name": "John",
"email": "john@example.com"
},
"collected_data": { /* in-call form submissions */ },
"transfer_history": [ /* if any agent transfer happened */ ],
"recording_url": "https://…",
"disconnection_reason": "user_hangup",
"is_anonymous": false,
"is_simulation": false,
"created_at": 1730000000000,
"updated_at": 1730000187000
}
Para GET / DELETE, los mismos campos se aplanan en la query string — pero los valores anidados como transcription, sentiment y custom_analysis_data se descartan (las URLs no pueden transportar datos estructurados con sensatez). Usa POST/PUT/PATCH si necesitas la transcripción.
Cada petición también recibe una cabecera X-Correlation-Id para trazabilidad, y hace timeout tras 30 segundos.
- Pre fetch plantilla
{phone}etc. en URL/cabeceras/query/body. Devuelve al prompt, antes de la llamada. - Llamada API post-llamada envía el volcado completo de la llamada en body o query. Sin templating de URL — tu endpoint obtiene URL estática + body dinámico.
Variables de recuperación
Las Variables de recuperación son campos de datos personalizados que la IA extrae automáticamente de las conversaciones. Por ejemplo, el agente puede capturar el nombre del llamante, su correo, número de teléfono o cualquier otra información que definas.
Variables predeterminadas
Cada agente nuevo se crea con dos variables de recuperación predeterminadas:
| Variable | Tipo | Descripción |
|---|---|---|
| Dirección de correo del llamante | ||
| Phone | Phone | Número de teléfono del llamante |
Están habilitadas por defecto y se muestran en el formulario del widget de llamada. Puedes editarlas o eliminarlas, y añadir tus propias variables personalizadas.
Tipos de variable
| Tipo | Caso de uso | Ejemplo |
|---|---|---|
| Text | Nombres, direcciones, notas, entrada libre | Nombre del cliente, dirección de entrega |
| Number | Cantidades, presupuestos, IDs | Cantidad de pedido, importe del presupuesto |
| Direcciones de correo con validación | Correo del cliente | |
| Phone | Números de teléfono con validación | Número de teléfono del cliente |
| Selector | Elección entre opciones predefinidas | Plan preferido (Basic/Pro/Enterprise) |
| Checkbox | Consentimiento o confirmación sí/no | "Acepto recibir correos de marketing" |
Configurar una variable
| Campo | Descripción | Ejemplo |
|---|---|---|
| Variable Name | Obligatorio. Identificador de la variable | customer_email |
| Instructions for AI | Obligatorio. Instrucciones para la IA sobre cuándo y cómo extraer este valor | "The customer's email address. Ask if not provided." |
| Example Format | (Opcional) Ejemplo de formato esperado | "john@example.com" |
| Options (for Selector) | (Solo Selector) Lista de opciones permitidas | ["Basic", "Pro", "Enterprise"] |
| Show in Form | Si mostrar este campo en el formulario del widget de llamada | Habilitado por defecto |
Mostrar en el formulario
Cuando Show in Form está habilitado, la variable aparece como un campo de entrada visible en el widget web antes y durante la llamada. Esto permite a los llamantes rellenar su información directamente, además de que la IA la extraiga de la conversación.
La IA pedirá de forma natural la información faltante durante la conversación. Define una descripción clara como "Dirección de correo del cliente, pídela educadamente si no se proporciona" y el agente lo gestionará.
Añadir herramientas y acciones
- Ve a la pestaña Actions de tu agente.
- Haz clic en Add Tool.
- Elige la fase correcta del desplegable — Pre fetch, Llamada en vivo o Post llamada.
- Configura los ajustes.
- Guarda — los cambios se aplican en la siguiente llamada.
Todas las entradas se listan juntas en la tabla de Actions. Haz clic en cualquier fila para editar, o usa el ícono de papelera para eliminar.
Relacionado
- Visión general de agentes de voz IA
- Ingeniería de prompts: referenciar herramientas en tu prompt
- Base de conocimiento: fuentes de información
- Integraciones: sistemas externos con los que tus herramientas pueden hablar