Descripción de actividades del diseñador de flujos

Las actividades permiten controlar el funcionamiento del bot.

Todas las actividades poseen un campo ‘description’ que sirve para indicar un breve comentario sobre el comportamiento de la actividad.

Este campo es opcional.


Actividades

SendMessage

Con esta actividad interactuamos con el cliente, permite enviar un mensaje luego de cada vez que escribe el cliente.

Este campo puede funcionar de 2 formas:

Enviar un mensaje simple

  • message
    Escribimos el mensaje que se desea enviar, cuando se ejecute la actividad enviará el texto de este campo.

Mensajes con variables

En los mensajes también es posible incluir variables mediante ${variable}

Esto hará que en el mensaje se reemplace la variable con el valor que adquiera previamente.

 

Enviar opciones

  • message
    Para enviar un menú de opciones, en este campo cada línea debe comenzar con número y guion.

  • (Ej: 1- o 1 -)

En Webchat, al cliente le llega un menú en el cual puede seleccionar las opciones con un clic.

En los demás canales, se ve como un mensaje normal.


IsOnTime

Esta acción permite evaluar una respuesta y activar un recorrido u otro dependiendo el horario que le sea introducido.

  • schedule
    El formato del horario debe ser:
    mon,tue,wed,thu,fri,sat,sun;09:00-18:00

Ejemplo:
El cliente escribe al bot y selecciona para hablar con un agente.
Tras leer la respuesta, puede decidir enviarlo a una campaña u otra dependiendo del horario en que se encuentre.


Evaluate

Permite evaluar una respuesta, y basándose en ella, decidir por un camino u otro, los evaluate pueden encadenarse uno tras otro en caso de que tengamos múltiples opciones y por cada una se realicen acciones diferentes.

  • Área en blanco
    Aquí es donde introduce código Js para evaluar opciones.


ReadMessage

Con esta opción el bot lee la respuesta enviada por el cliente para guardarla en una variable, y así, utilizarla en otras actividades.

  • variable
    Nombre de la variable que posee la respuesta.

  • timeout
    Tiempo de espera en minutos para continuar el flujo, si se excede este tiempo el contenido de la variable es:
    ““.


ReadFileMessage

Esta opción es similar a la anterior solo que se utiliza para guardar una imagen luego de solicitarla y así llegará con éxito al agente.

  • variable
    Nombre de la variable que poseerá el archivo.

  • timeout
    Tiempo de espera en minutos para continuar el flujo, si se excede este tiempo el contenido de la variable es:
    ““.


Procedure

Esta actividad permite ejecutar código JavaScript.

  • Área en blanco
    Aquí es donde introduce código Js.


ExecWebService

Permite ejecutar un web service.

  • variable
    Nombre que posee la variable que contiene la respuesta del WS.

  • method
    Método que utiliza el WS, estos pueden ser: Get, Post, Put y Delete.

  • url
    Dirección en la cual se encuentra el WS.

  • body
    Contenido del body del WS.

  • headers
    Todos los headers que lleva el WS, estos se indican header:contenido.

  • content-type
    El tipo de contenido que se envia en el WS.


ExecQueryJSON

Aquí podremos realizar consultas a la base de datos.  Ejecuta la consulta ingresada y devuelve, en la variable, la respuesta en forma de JSON.

  • variable
    Nombre que poseerá la variable que contenga el resultado de la consulta.

  • área en blanco
    Aquí se redacta la consulta SQL.


Disposition

Permite realizar una tipificación a la interacción con el bot, de esta manera se le puede dar seguimiento a los flujos recorridos por el cliente.

  • level1
    Nivel 1 de la tipificación.

  • level2
    Nivel 2 de la tipificación.

  • level3
    Nivel 3 de la tipificación.

  • comment
    Comentarios de la tipificación.

  • extra
    Contenido extra para la tipificación.


TransferBot

Con esta opción podremos transferir la interacción desde un bot a una campaña del mismo canal en que se encuentra el bot.

  • destination
    Debemos indicar el nombre exacto de la campaña a la que se desea transferir.

  • Agent

Nombre del agente al cual se quiere transferir la interacción. Si agent está vacio, transfiere directo a la cola de la campaña.

  • AgentTimeout:

Tiempo en segundos que va a sonar la interacción en el agente. Si agentTimeout se encuentra en 0, la interacción esperará por el agente, si es mayor a cero y se cumple el agentTimeout, la interacción irá directo a la cola de la campaña.

 

Cuando se transfiere desde un bot a un agente en particular, la interacción sonará en el agente hasta que se llegue al tiempo indicado en AgentTimeout.

Si el agente no atiende la interacción, la misma pasa a la cola de la campaña y será distribuida entre el resto de los agentes según la estrategia de la campaña.


LogOp

Permite imprimir el contenido de una variable en el IntegraServer.

  • log
    Se ingresa la variable que quiere imprimir con el formato ${variable}


FinishInteraction

Esta acción debe encontrarse al final de cada flujo ya que la misma le indica al bot que terminó su recorrido y cierra la interacción con el cliente.

Esta actividad no posee campos de configuración ya que su única función es terminar la interacción.


SetClientName

Esta actividad toma el contenido de una variable y lo asigna al nombre del cliente de la interacción, y a su vez, lo asigna a la variable global CLIENT_NAME del bot.

  • name
    Nombre de la variable que se utilizará como CLIENT_NAME

Ejemplo:

  1. En un mensaje se solicita al cliente que ingrese su nombre, seguido un ReadMessage que permita tomar su respuesta dentro de una variable, esa variable se ingresa en SetClientName, luego en el flujo, si mandamos un mensaje con la variable global CLIENT_NAME, se utiliza el valor de la variable en SetClientName.

  2. Cuando la interacción llega a un agente, será visible el nombre del cliente con el valor de la variable ingresada en SetClientName.


SendAttachment

A través de esta actividad se permite enviar archivos al cliente.

  • url
    Los archivos se suben en la carpeta etc/IntegraServer/web/attachments y se indica de que tipo son:

    • image

    • audio

    • video

    • application/pdf


SendEmail

Permite enviar emails.

  • template
    Nombre del template de email que se desea utilizar.

  • variables
    Dentro del template podremos tener variables a reemplazar ${ejemplo}, en este campo debemos indicar todas las variables del template a reemplazar y el valor que poseerán con el siguiente formato:
    ejemplo:valor


GoToFunction

Esta actividad permite anidar tanto bots como bots functions.

Suponga que se cuenta con un bot denominado B y un bot function denominado BF y B tiene la actividad GoToFunction y en el campo name tiene asignado name= “BF”.

Al momento de ejecutar la actividad GoToFunction se detiene la ejecución del bot B y se comienza a ejecutar BF. Luego de que termine de ejecutar BF, se retornará a B para seguir ejecutando las actividades siguientes.

Es de esta forma que se logra anidar varios bots o bots functions a un bot inicial.

  • name
    Campo que contiene el nombre del bot o del bot function al cual se pasará el control una vez que se ejecute esta actividad.


FuzzySearch

En el primer parámetro queda guardada la respuesta, la segunda variable es un string, y la tercera variable es un arreglo de palabras. En la respuesta se devuelve un JSON que se ordena por mayor coincidencia de palabras, y por cada coincidencia se devuelve un score que indica el porcentaje de coincidencia.


WaitBot

Deja pausado un bot hasta que se ejecuta la actividad Resume desde un Webhook o channel provider.


ExecCommand

Ejecuta el comando ingresado y deja el resultado en la variable.


SetData

 SetData recibe el GUID de una interacción, y le setea esa data de la interacción y a la variable global VARIABLES del bot, lo que está guardado en el campo “data”.


ExecQuery

Aquí podremos realizar consultas a la base de datos.

  • variable
    Nombre que poseerá la variable que contenga el resultado de la consulta.

  • área en blanco
    Aquí es donde se redacta la consulta SQL.


MessageResult

Para informarle al sistema que el SMS fue enviado bien o con error se debe usar la aplicación MessageResult, la misma requiere dos parámetros:

  • result
    Resultado del envío (puede ser cualquier valor).

  • id
    ID único del mensaje en caso de que corresponda (este ID es normalmente devuelto en la llamada a la API del proveedor).


ReceiveNewMessage

El webhook se puede ejecutar para ejecutar muchas aplicaciones diferentes, desde la ejecución de una consulta, una llamada a un webservice, hasta la inyección al sistema de un SMS/WhatsApp entrante.

  • message
    Mensaje, si corresponde.

  • attachment
    URL del attachment.

  • from
    Número que envía el mensaje.

  • did
    Número al que se envía el mensaje, tiene que coincidir con el DID de la campaña para que entre a la campaña.

  • id
    ID único del mensaje.

  • clientName

Nombre del usuario que envia el mensaje

  • direction

Dirección en la que enviara el mensaje. Si no se ingresa ningún dato en dicho campo se recibirá el mensaje como entrante. Las opciones validas son O (para mensaje saliente) e I (para mensaje entrante).

  • referenceMessageId

ID del mensaje al que se está respondiendo.


MessageStatus

Esta actividad permite actualizar los estados de los mensajes de WhatsApp, se le deben enviar dos parámetros:

 

  • id
    ID único del mensaje (este ID es el mismo que se envía en MessageResult).

  • status
    Los estados a actualizar pueden ser: sent, delivered, read, error, invalid_session e invalid_number.


BlacklistResult

Actividad que responde con la acción a ejecutar.

Las posibles respuestas son: Call, Do not call, Respool Alternative.


Resume

Actividad que recibe un GUID de una interacción y despausa el bot de esa interacción, la cual previamente ejecutó el Wait.


ParseXMLJSON

Recibe como parámetro un XML y deja, en la variable definida del campo “variable”, el XML que se pasó como parámetro parseado a JSON.


SetWebhookResponse

Permite configurar la respuesta del webhook permitiendo asignarle el status, el body y headers.

  • Headers: Headers que se agregaran a la respuesta del webhook. Los headers se escriben separados por salto de linea.

  • Body: Body que responderá el webhook, si no se utiliza esta actividad el webhook responde con body vacío.

  • Status: Status code que responderá el webhook, si no se utiliza esta actividad el webhook responde con status 200.