Caso de uso de soporte: usar WhatsApp para crear un flujo de agente de IA

Planes de ActiveCampaign
Starter
Plus
Pro
Enterprise

Con la función de WhatsApp de ActiveCampaign, puedes usar ChatGPT para crear un flujo que responda las preguntas más frecuentes sobre tu negocio. Al hacerlo, tu equipo de Soporte puede centrarse en problemas más complejos de tus clientes y tú puedes ofrecer información sobre tus productos o servicios 24/7, incluso cuando tus agentes no están en línea.

Este artículo te muestra cómo crear un flujo de agente de IA de soporte entrante que responda preguntas de clientes, con una condición de transferencia para enviar la conversación a una persona si la pregunta es demasiado compleja para la IA.

Toma nota

  • Para completar esta configuración, necesitas:
  • Te recomendamos usar el playground si todavía no estás familiarizado con la API. Anota tu assistant_id porque lo vas a necesitar más adelante.
  • Esta opción es para usuarios avanzados. Necesitas sentirte cómodo con el código. Nuestro equipo de Experiencia del cliente no puede ayudarte a implementar ni a solucionar problemas de código
  • Este flujo requiere que uses un campo personalizado de entrada de texto de contacto para guardar la respuesta de la clientela a tu saludo. En los pasos de abajo usamos un campo llamado "gpt_response". Aprende cómo crear un campo de contacto personalizado 

Crear un flujo de soporte GPT

Paso 1: Crear un flujo nuevo.

Desde tu cuenta de ActiveCampaign:

  1. Hacer clic en WhatsApp > Flujos de mensajes.
  2. Haz clic en "Nuevo flujo de mensajes".
  3. En la pestaña "Detalles", asigna a tu flujo un nombre breve pero descriptivo. Luego haz clic en "Siguiente".
  4. En la pestaña "Desencadenar", define cómo entran los contactos en tu flujo. Para este ejemplo:
    • Seleccionar "Mensaje entrante"
    • Seleccionar "Cualquier mensaje". Esto asegura que el flujo se inicie cuando un cliente potencial o contacto envíe un mensaje a tu número de soporte
    • Haz clic en "Siguiente"

Paso 2: agregar un paso de "Question" a tu flujo.

Cuando una persona cliente desencadena nuestro flujo, queremos saludarla con un mensaje o una pregunta. Para hacerlo, vamos a agregar el paso "Pregunta" a nuestro flujo. 

La respuesta del cliente a este paso se guarda en el flujo como una variable de paso. Nos referiremos a esta variable en el paso tres a continuación. 

Ten en cuenta que guardamos automáticamente el nombre y apellido y el número de teléfono del cliente cuando inicia un flujo entrante.

  1. Selecciona la opción de paso "Pregunta", luego haz clic en "Agregar".
  2. Configurar el paso "Pregunta":
    • Haz clic en el ícono de lápiz y ponle un nombre a tu paso. Te recomendamos usar nombres cortos y descriptivos. En este ejemplo, llamaremos a este paso "Iniciar conversación"
    • Escribe la pregunta que quieres hacer en el campo indicado. Por ejemplo, "Hola ¿Cómo puedo ayudarte hoy?” 
      Recuadro de sugerencia en verde: Haz clic en el icono de rayo en el editor para personalizar el mensaje. Por ejemplo, puedes saludar a tus clientes por su nombre de pila.
    • Seleccionar un tipo de respuesta. Ten en cuenta que, según el tipo de respuesta que selecciones, tendrás que hacer configuraciones adicionales. Lee el artículo de la etapa "Question" para obtener más información
    • Configurar un mensaje de validación de respuesta
    • Haz clic en las opciones opcionales para activarlas:
      • Ir a otro paso si el contacto no responde la pregunta correctamente
      • Ir a otro paso si el contacto no responde la pregunta en un periodo de tiempo determinado
      • Hacer algo si el mensaje no se envía

Paso 3: Guardar la respuesta del cliente

Luego, queremos guardar la respuesta del cliente en el paso "Pregunta" de arriba. Para hacer eso, vamos a agregar el paso "Actualizar contacto" a nuestro flujo. El paso "Actualizar contacto" guardará la respuesta del cliente como un valor de campo personalizado en su registro de contacto.

  1. Agregar el paso "Actualizar contacto" a tu flujo:
    • Haz clic en el nodo («+») debajo del paso "Pregunta"
    • Seleccionar "Actualizar contacto"
  2. Configurar el paso "Actualizar contacto":
    • Haz clic en el ícono de lápiz y ponle un nombre a tu paso. En este ejemplo, llamaremos a este paso "Create/Update contact"
    • Haz clic en la pestaña "Personalizado" > botón "Agregar propiedad"
    • Haz clic en el primer menú desplegable y selecciona el campo personalizado que quieres actualizar con la respuesta del cliente. En este ejemplo, vamos a usar un campo personalizado de contacto llamado "gpt_response" 
    • Ahora necesitamos vincular nuestro campo personalizado con la variable del paso que guardó la respuesta del cliente. Para hacerlo, haz clic en el ícono de rayo, haz clic en "Step Variables", luego selecciona la variable de paso disponible. (En este momento solo debería aparecer una en la lista)

      Ejemplo del paso de flujo Crear o actualizar contacto. Esto muestra la propiedad y la variable en la pestaña personalizada.

Paso 4: integrar GPT para responder preguntas

En este paso, iniciamos un hilo de OpenAI para enviar la respuesta de la persona usuaria al agente de IA.

  1. Agregar un paso "API" a tu flujo:
    • Haz clic en el nodo (+) debajo del paso "Actualizar contacto" 
    • Selecciona "Connect APIs" y luego haz clic en "Add"
  2. Configurar el paso "Conectar APIs":
    • Haz clic en el ícono de lápiz y asigna un nombre a tu paso. En este ejemplo, llamaremos a este paso "Iniciar conversación de OpenAI"
    • Seleccionar "Post" en "Tipo de método"
    • Ingresa la siguiente URL: https://api.openai.com/v1/threads
    • Seleccionar "JSON" en la pestaña "Body". Dejar el "Message body" en blanco
    • En la pestaña "Headers", agrega los siguientes tres encabezados:
      • Encabezado 1: OpenAI-Beta / assistants=v2
      • Encabezado 2: Content-Type / application/json
      • Encabezado 3: Autorización / Bearer YOUR_API_KEY

        Example of the Connect APIs flow step configuration.
  3. Gestionar la respuesta de la API:
    • OpenAI responderá con un objeto JSON que contiene el thread_id, y los datos estarán disponibles durante el resto de la ejecución del flujo. Estos datos son temporales. Si necesitas consultar estos datos después de que el contacto salga del flujo, te recomendamos guardarlos 

Paso 5: Enviar la consulta del cliente a OpenAI

  1. Agregar otro paso de "API" a tu flujo:
    • Haz clic en el nodo (+) debajo de la rama "Respuesta" del paso anterior
    • Selecciona "Connect APIs" y luego haz clic en "Add"
  2. Configurar el paso "Connect APIs":

    • Haz clic en el icono de lápiz y asigna un nombre a tu paso. En este ejemplo, llamaremos a este paso "Enviar mensaje al hilo de OpenAI"
    • Seleccionar "Post" en "Method Type"
    • Introduce la siguiente URLhttps://api.openai.com/v1/threads//messages
    • Ahora tenemos que actualizar la URL para que incluya la respuesta del cliente a nuestro paso de "Pregunta". Para ello:
      • Haz clic entre las dos barras “//” en la URL
      • Luego, haz clic en el icono de rayo > Step Variables
      • Selecciona la variable de paso que contiene “step.STEPNAME.response.ID”. Para continuar con nuestro ejemplo, nuestra variable se ve así: “step.Enviar mensaje a OpenAI Thread.respose.id"
    • En la pestaña "Body", selecciona "JSON"
    • Agregar el siguiente objeto JSON en el cuerpo:
    {
    
      "role": "usuario",
    
      "content": ""
    
    }
  3. Ahora necesitamos actualizar el objeto JSON para que haga referencia al campo que usamos en el paso "Actualizar contacto" de arriba.
    • Haz clic entre las dos comillas (“”) en la línea de contenido
    • Hacer clic en el ícono de rayo > Contacto > Nombre de campo. Para continuar con nuestro ejemplo, usamos el campo llamado "last_chatgpt_response"

Paso 6: Ejecutar el hilo de OpenAI

  1. Agregar un paso de API para ejecutar el asistente:
    • Haz clic en el nodo (+) debajo de la rama "Respuesta"
    • Selecciona "Connect APIs" y luego haz clic en "Add"
  2. Configurar el paso "Conectar APIs":
    • Haz clic en el ícono de lápiz y ponle un nombre a tu paso. En este ejemplo lo llamaremos "Run OpenAI thread with messages"
    • Seleccionar "Publicar" en "Tipo de método"
    • Introduce la siguiente URLhttps://api.openai.com/v1/threads//runs
    • Ahora tenemos que actualizar la URL para que incluya el ID de respuesta del hilo. Para ello:
      • Haz clic entre las dos barras “//” en la URL
      • A continuación, haz clic en el ícono de rayo > Step Variables
      • Seleccionar la variable de paso que contiene el ID del hilo de respuesta. Para seguir con nuestro ejemplo, seleccionaremos "step".Iniciar OpenAI thread.response.id”
    • En la pestaña "Body", selecciona "JSON"
    • Agregar el siguiente objeto JSON en el cuerpo:
{
  "assistant_id": "YOUR_ASSISTANT_ID"
}
  • Ten en cuenta que tendrás que insertar tu ID de asistente. Puedes obtener el ID del asistente cuando creas un asistente nuevo en OpenAI

Paso 7: Revisar si hay respuesta de GPT

Aquí agregamos otro paso de "Conectar API" para obtener una respuesta de OpenAI. También vamos a añadir un paso "Condicional" para comprobar si se envió una respuesta.

  1. Agregar el paso "Conectar API" para verificar si hay una respuesta:
    • Haz clic en el nodo (+) debajo de la rama "Respuesta"
    • Selecciona "Connect APIs" y luego haz clic en "Add"
  2. Configurar el paso "Conectar APIs":
    • Haz clic en el ícono de lápiz y ponle un nombre a tu paso. En este ejemplo, llamaremos a este paso "Obtener OpenAI generado"
    • Seleccionar "Get" en "Method Type"
    • Escribir la siguiente URL: https://api.openai.com/v1/threads//messages
    • Ahora necesitamos actualizar la URL para que incluya el ID de respuesta del hilo. Para ello:
      • Haz clic entre las dos barras “//” en la URL
      • Luego, haz clic en el ícono de rayo > Step Variables
      • Selecciona la variable de paso que contiene el ID del hilo de respuesta. Para seguir con nuestro ejemplo, seleccionaremos "step".Iniciar OpenAI thread.response.id”
    • No selecciones nada en la pestaña "Body"
  3. Agregar un paso "Condicional".
    • Haz clic en el nodo (+) debajo de la rama "Respuesta" 
    • Selecciona "Condicional" luego haz clic en "Agregar"
    • Configurar la condición para comprobar si la respuesta de OpenAI está vacía. Para ello:
      • Ponle un nombre a tu paso. Para este ejemplo, la llamaremos "Validar si el mensaje está ahí"
      • Usar los campos desplegables para seleccionar tus condiciones. En este ejemplo, usamos lo siguiente:

Dónde: paso.Obtener los mensajes generados de OpenAI.messages.response.data.0.role (Es) Igual a assistant 

Paso "AND".Obtener mensajes generados de OpenAI.messages.response.data.0.content.0.text.value "Is empty."
Haz clic en la opción "x No"


Example of the configuration fields for the Conditional step.

  1. Configurar la rama "Path 1":
    • Agregar un paso "Espera" que espere 10 segundos
    • Añadir un paso "Ir a" para volver al paso de API que verifica la respuesta de GPT

      Example of the Go to step configuration.
  2. Configurar la rama "Else". Aquí necesitamos comprobar si la respuesta de GPT indica la necesidad de una intervención humana:
    • Agregar un paso "Condicional".
      • Haz clic en el nodo (+) debajo de la rama "Else" 
      • Seleccionar "Conditional" luego hacer clic en "Add"
      • Configurar el paso:
        • Asigna un nombre a tu paso. En este ejemplo, lo llamaremos "Asignar persona"
        • Usa los campos desplegables para seleccionar tus condiciones. Puedes hacer que revise si hay palabras clave o frases específicas en la respuesta de GPT que indiquen que se necesita intervención humana. Para nuestro ejemplo usamos lo siguiente:

          Dónde: paso.Obtener mensajes generados de OpenAI.messages.response. Data.0.content.0.text.value 
          Contiene Asignar humano

          Example of the Conditional step configuration.

Paso 8: Configurar la rama "Ruta 1" en el paso "Condicional"

  1. Haz clic en el nodo (+) debajo de "Ruta 1".
  2. Selecciona "Question" y luego haz clic en "Add".
    • Haz clic en el ícono de lápiz y ponle un nombre a tu paso. En nuestro ejemplo, la llamaremos "Continuar chat"
    • En el cuerpo del mensaje, haz clic en el rayo, luego haz clic en "Step variables"
    • Selecciona la variable de paso para el paso "Obtener mensaje generado de OpenAI". En este ejemplo, usaremos "paso".Obtener mensaje generado OpenAI.message.response.data.0.content.0.text.value
    • Seleccionar "Texto libre" para el tipo de mensaje

      Example of Question step configuration.
  3. Haz clic en el nodo, luego agrega el paso "Actualizar contacto". Para configurar este paso:
    • Haz clic en el ícono de lápiz y ponle un nombre a tu paso. En este ejemplo la vamos a llamar "Crear/actualizar contacto 2"
    • Haz clic en la pestaña "Personalizado", luego haz clic en "Agregar propiedad"
    • Selecciona el campo personalizado que creaste para este flujo. El nuestro se llama "last_chatgpt_response"
    • En el valor, haz clic en el rayo y luego haz clic en "Variables de paso".
    • Selecciona la variable de paso para el paso anterior. En este ejemplo, el nuestro se llama "step".Continuar chat"
  4. Haz clic en el nodo y añade un paso "Ir a". Aquí queremos que los contactos vayan al paso "Sent Message to OpenAI Thread". Para ello:
    • Haz clic en el ícono de lápiz y asigna un nombre a tu paso. Nosotras la llamamos "Volver a OpenAI"
    • El paso que estamos seleccionando es "Enviar mensaje a hilo de OpenAI". Ten en cuenta los dos pasos resaltados en la imagen a continuación:

      Ejemplo del flujo de Support GPT en el Flow Builder.

Paso 9: Configurar la rama "Else" y asignar un agente

En esta parte final del flujo, vamos a añadir dos pasos más que envían un mensaje al contacto para que sepa que lo estamos transfiriendo a una persona agente. El paso final es asignar la conversación al agente.

  1. Haz clic en el nodo debajo de la rama "Else" y selecciona el paso "Mensaje". Para configurar este paso:
    • Haz clic en el icono de lápiz y asigna un nombre a tu paso. Llamaremos a la nuestra "Asignar mensaje de agente"
    • Haz clic en el menú desplegable de "Tipo de mensaje" y selecciona "Texto"
    • Para el cuerpo, escribe un mensaje breve para que la persona sepa que se está transfiriendo a una persona del equipo

      Example of the Message step configuration.
  2. Asignar la conversación a un equipo o agente. Para ello:
    • Haz clic en el nodo debajo del paso anterior, luego selecciona el paso "Conversación"
    • Configurar el paso:
      • Haz clic en el icono del lápiz y ponle un nombre a tu paso. La nuestra se llama "Asignar agente"
      • En el menú desplegable "Usuario(s) para asignar esta conversación", selecciona el usuario al que quieres enviar el mensaje.
      • Haz clic en el interruptor de la configuración "Append tags?". Esto significa que cualquier etiqueta que agregues al contacto o a la conversación se sumará a las etiquetas que ya existen.

Paso 10: Guardar y publicar el flujo

Haz clic en "Publicar" para activar el flujo. 

Ejemplo de estructura de flujo

Tu flujo ahora debería tener la siguiente estructura:

  1. Desencadenar: Cualquier mensaje entrante
  2. Paso de pregunta: Pide al usuario su consulta
  3. Paso Actualizar contacto: guardar la respuesta del usuario.
  4. Paso para conectar API: integrar OpenAI para responder preguntas
  5. Paso Conectar APIs: Enviar la consulta del usuario a OpenAI
  6. Paso Conectar API: Ejecutar hilo de OpenAI con mensajes
  7. Paso Conectar API: Revisar respuesta de OpenAI
  8. Paso condicional: Comprobar si la respuesta está disponible
    • Rama de recorrido 1:
      • Paso de espera: Esperar diez segundos
      • Ir a paso: Volver para comprobar si hay respuesta de OpenAI
    • Rama "Else":
      • Paso condicional: Verificar si se necesita intervención humana
        • Rama 1 de ruta:
          • Paso de pregunta: Obtener la respuesta generada por OpenAI
          • Paso Actualizar contacto: Actualizar campo personalizado con información del cliente
          • Ir al paso: Volver al paso "Enviar mensaje al hilo de OpenAI" (paso cinco arriba)
        • Otra rama:
          • Paso de mensaje: Indica al cliente que lo vas a dirigir con una persona del equipo de soporte.
          • Paso Asignar agente: Asignar la conversación a un agente

Pasos finales

Enviar un mensaje de prueba a tu número de soporte para asegurarte de que el flujo se desencadena correctamente y que las respuestas de GPT sean precisas. Además, ten en cuenta las conversaciones reales que tus usuarios pueden tener y ajusta la indicación de GPT y la base de conocimientos en consecuencia para mejorar las respuestas.

¿Tienes más preguntas? Ponte en contacto

Start free trial