Saltar al contenido

Acciones ​

Con las acciones, tu asistente hace algo más que hablar: buscar los datos de un cliente antes de que empiece la llamada, comprobar el stock durante la conversación y enviar un correo, un SMS o un webhook cuando termina. En este artículo verás cómo funcionan las acciones y qué piezas tienes a tu disposición.

Dónde encontrar las acciones ​

Las acciones se gestionan por asistente, en la pestaña Tareas, dentro de Acciones en el editor. Ahí las creas y las activas o desactivas. Si una acción debe servir para más asistentes, configúrala en cada uno de ellos.

Para crear una acción:

  1. Abre el asistente, entra en la pestaña Tareas, abre Acciones y haz clic en Añadir nuevo.
  2. Elige el tipo: Correo, SMS, Petición HTTP, Google Sheets o WhatsApp.
  3. Ponle un nombre a la acción. En una petición HTTP o en Google Sheets, elige el momento en Cuándo: Antes de la llamada (solo petición HTTP), Durante la conversación o Después de la conversación. El correo, el SMS y WhatsApp siempre se ejecutan después de la conversación.
  4. Rellena los ajustes.
  5. Si quieres, añade una condición (no en una acción antes de la llamada) y, en una acción después de la conversación, variables personalizadas.

No hay botón de guardar: la acción se guarda automáticamente en cuanto sus campos son correctos. Una acción sin nombre no se guarda, y tampoco una petición HTTP sin una URL válida ni una acción de Google Sheets sin Id de la hoja de cálculo. Una acción de WhatsApp también necesita un Nombre de la plantilla y un Número del equipo válido, y una variable personalizada o un parámetro necesita un nombre válido. Si falta, verás un mensaje de error y tus cambios en el asistente no se guardarán hasta que lo rellenes.

Duplicar, en la fila de una acción, copia esa acción con un id nuevo y un nombre que termina en “(copy)”.

Tres momentos ​

MomentoQué ocurreTipos disponibles
Antes de la llamadaEn cuanto se contesta una llamada entrante, antes del saludo, la plataforma envía una petición HTTP a tu sistema. La respuesta se convierte en contexto para el asistente: así ya sabe, por ejemplo, cómo se llama quien llama o si tiene una factura pendiente.Petición HTTP, CRM (buscar a quien llama)
Durante la conversaciónLa acción se convierte en una herramienta que el asistente puede usar por sí mismo cuando se cumple la condición. Por ejemplo, buscar a un cliente, comprobar el stock o crear un ticket. El asistente recibe la respuesta y la usa de inmediato en la conversación.Petición HTTP, Google Sheets (consultar filas o añadir una fila)
Después de la conversaciónPoco después de que termine la conversación, se procesa: se obtienen el resumen y tus variables personalizadas y las acciones se ejecutan una tras otra.Correo, SMS, plantilla de WhatsApp, petición HTTP, Google Sheets (añadir una fila), CRM (nota, contacto y negocio)

Una petición HTTP antes de la llamada solo se ejecuta en llamadas entrantes, no en llamadas salientes, SMS, WhatsApp ni chat web. Tu sistema debe responder en un máximo de 3 segundos con un objeto JSON; si no, la llamada empieza sin ese contexto. Encontrarás más información en Petición HTTP. Una tarea de CRM antes de la llamada también busca al cliente en llamadas salientes, SMS y WhatsApp, y en el chat web en cuanto el cliente confirma su número con un código.

Una conversación por SMS, WhatsApp o chat termina cuando el asistente la cierra, cuando alguien hace clic en Terminar conversación en la Bandeja o tras un tiempo sin actividad: en el chat web, el Tiempo de inactividad del asistente (60 minutos por defecto); en SMS y WhatsApp, 6 horas; y con tu equipo, solo 18 horas después del último mensaje, nunca mientras el cliente espera una respuesta. Solo entonces se ejecutan las acciones de después de la conversación.

Una acción de WhatsApp envía un mensaje de plantilla a un número del equipo verificado, nunca al cliente, y solo funciona si WhatsApp está conectado en este asistente. El número se verifica con un código en la propia acción.

Condiciones ​

En una acción durante o después de la conversación, escribes en lenguaje llano cuándo se aplica. El modelo de IA lee esa frase y decide en función de ella.

En las herramientas durante la conversación, el campo se llama ¿Cuándo debe usar esto el asistente?. Describe cuándo debe usar la herramienta el asistente. Si lo dejas vacío, el asistente se guía solo por el nombre de la acción. Por ejemplo:

  • "Cuando quien llama menciona su número de cliente."
  • "Cuando quien llama pregunta si una pieza está en stock."
  • "Cuando quien llama quiere avisar de una avería y ha dado su dirección."

En las acciones después de la conversación, el campo se llama ¿Con qué condición debe ejecutarse después de la conversación?. Decide si la acción se ejecuta o no. Si lo dejas vacío, la acción se ejecuta después de cada conversación. Si no, por ejemplo:

  • "Solo si quien llama quería reservar una cita."
  • "Solo si era una urgencia."
  • "Solo si la llamada no se transfirió a un miembro del equipo."

En una acción antes de la llamada, la condición no se usa: esa acción se ejecuta en cada conversación en la que puede ejecutarse (ver arriba) mientras esté activada. El campo sigue visible, con el texto de una acción después de la conversación, pero lo que escribas ahí no tiene ningún efecto.

Pon la condición en la acción, no en las instrucciones

Es tentador escribir "envía un correo si …" en las instrucciones del asistente. Eso no funciona: las instrucciones determinan cómo habla el asistente y la condición determina si se ejecuta una acción. Mantén limpias las instrucciones y deja la lógica en la condición de la acción.

Variables ​

En las plantillas (asunto, texto, URL, cabeceras, cuerpo, columnas) usas variables que se rellenan automáticamente con datos de la conversación. Estas variables integradas están disponibles en las acciones después de la conversación:

VariableSignificado
personNumberEl número de quien llama (o, en llamadas salientes, de la persona a la que se llama). Vacío en el chat web, porque el widget y la página de chat no transmiten ningún número de teléfono
agentNumberTu número de la plataforma por el que entró la conversación o desde el que se llamó. Vacío en el chat web
conversationIdId único de la conversación
conversationLinkEnlace directo a la conversación en la Bandeja
startTimestampHora de inicio de la conversación (ISO 8601, por ejemplo 2026-09-11T14:32:10.000Z)
directioninbound (entrante) o outbound (saliente)
channelvoice (llamada), sms, whatsapp o webchat
durationSecondsDuración de la conversación en segundos (0 en SMS, WhatsApp y chat web)
disconnectReasonCódigo técnico del motivo por el que terminó la llamada, por ejemplo completed, transferred o user_busy. Vacío en SMS, WhatsApp y chat web
summaryResumen de la conversación, escrito por el modelo de IA
plainTranscriptTranscripción completa en texto plano
audioLinkEnlace a la conversación en la Bandeja, donde puedes escuchar la grabación. No es un enlace a un archivo de audio. Vacío si no hay grabación; las grabaciones se eliminan a los 30 días
outcomeResultado, como código: resolved (respondida), transferred (transferida), appointment_booked (cita reservada), callback_requested (devolución de llamada solicitada), voicemail (buzón de voz), abandoned (colgada), no_interaction (sin palabras) o spam
assistant.nameNombre del asistente que atendió la conversación
company.nameEl nombre de tu empresa
company.website, company.phone, company.emailTu sitio web y el teléfono y el correo para clientes. Vacíos si no los has rellenado
company.addressTu dirección, solo si la compartes con los clientes. Si no, vacía
contact.nameNombre del contacto, si el número se reconoció en Clientes → Contactos al empezar la conversación o si el contacto se creó a partir de esta conversación. Vacío en el chat web y en las llamadas salientes a un número que ya es un contacto
contact.companyEmpresa del contacto, si se conoce. Vacío en los mismos casos que contact.name
inboundContext.<campo>Cualquier campo que tu sistema haya devuelto antes de la llamada, por ejemplo inboundContext.customerId

En los otros momentos tienes otras variables:

  • Antes de la llamada: fromNumber, toNumber, personNumber, agentNumber y las variables company de la tabla.
  • Durante la conversación: los valores que el asistente rellena en Parámetros que rellena el asistente. Ese campo está en una petición HTTP y en Consultar filas (durante la llamada) de Google Sheets. Las variables integradas como personNumber y conversationId quedan vacías aquí. Si necesitas, por ejemplo, el número de quien llama, crea un parámetro para ello. Una acción de Google Sheets que añade una fila durante la conversación no tiene este campo: en las columnas solo funcionan entonces el texto fijo y las variables de una campaña o de la API. Si quieres datos de la conversación en la fila, elige Después de la conversación.

En una llamada de una campaña o hecha a través de la API, las variables que se enviaron con ella también están disponibles durante y después de la conversación.

Variables personalizadas ​

¿Quieres guardar algo que no está en la lista, como el código postal o el tipo de avería? Define una variable personalizada en una acción después de la conversación, en Variables personalizadas que extraer. Cada variable personalizada tiene:

AjusteSignificadoValor predeterminado
Nombre de la variableEl nombre que usas en las plantillas, por ejemplo codigo_postal. Empieza por una letra y, por lo demás, solo contiene letras sin acentos, dígitos y _—
Tipostring (texto), number (número) o boolean (sí/no)string
Descripción para el asistenteLa explicación con la que el modelo de IA saca el valor de la conversación—

Después de la conversación, el modelo de IA lee la transcripción y rellena cada variable personalizada según su descripción. Luego puedes usar el valor en todas las acciones que se ejecuten después de esa conversación. Ejemplo: nombre codigo_postal, tipo string, descripción "El código postal de la dirección de quien llama".

Consejos:

  • Escribe una descripción precisa. "La dirección" es vago; "Solo el código postal de la dirección de la avería, por ejemplo 28001" da mejores resultados.
  • Usa una variable integrada si existe. No crees una variable personalizada telefono; usa personNumber.
  • Si algo no se menciona en la conversación, la variable queda vacía, aunque hayas marcado obligatorio. Así el modelo no se pone a adivinar.

Sintaxis de las plantillas ​

Una variable se escribe en una plantilla entre dobles llaves: {{summary}}. Los campos anidados se escriben con un punto: {{contact.name}}, {{company.name}}, {{inboundContext.customerId}}. Las variables personalizadas funcionan igual: {{codigo_postal}}.

Las variables desconocidas o vacías se sustituyen por un texto vacío, así que la plantilla siempre funciona. Un ejemplo de texto de correo:

text
Conversación nueva por {{channel}} el {{startTimestamp}}

Quien llama: {{contact.name}} ({{personNumber}})
Resultado: {{outcome}}
Código postal: {{codigo_postal}}

Resumen:
{{summary}}

Ver la conversación: {{conversationLink}}

Ver los resultados ​

El resultado de cada acción después de la conversación se guarda con la conversación. Abre una conversación en la Bandeja y despliega Detalles técnicos. En Qué hicieron las acciones ves el nombre de cada acción, con una breve línea técnica en inglés. El nombre aparece en rojo si la acción ha fallado y en verde si no se ha producido ningún error. Por tanto, el verde no siempre significa que se haya enviado algo, porque una acción omitida también aparece en verde. Mira también la línea técnica:

  • sent to oficina@ejemplo.com o HTTP 200: la acción se ha ejecutado. Si no hay ningún número después de sent to, no se ha enviado nada. Eso ocurre con un SMS a quien llama después de un chat web, porque ahí no se conoce ningún número de teléfono.
  • HTTP 401: con el inicio de la respuesta: la acción ha fallado y el nombre aparece en rojo.
  • skipped: ...: no se ha enviado nada. Por ejemplo skipped: condition not met si la condición no se cumplía, pero también skipped: no recipient, skipped: email sender not configured, skipped: business has no SMS-capable number or sender name o skipped: empty text si falta algo.

Así compruebas rápidamente si tu correo se ha enviado o por qué un webhook devolvió un 401. Encontrarás más sobre la Bandeja en Bandeja y análisis.

Las acciones antes de la llamada y durante la conversación no aparecen en esta lista. Lo que se obtuvo antes de la llamada está en Datos buscados antes de la llamada. Los valores de tus variables personalizadas están en Datos de la conversación.

Artículos relacionados ​

Yarla Ayuda — la guía de tu asistente telefónico.