Conceptos básicos

El diseñador de flujo visual es una herramienta visual para diseñar interacciones entre una aptitud y sus usuarios. Los siguientes temas contienen las primeras cosas que debe saber.

Diseñador visual

Con Visual Flow Designer, los flujos de diálogo se diseñan visualmente en lugar de mediante un editor de código. Las conexiones entre estados se representan en diagramas visuales. Las variables, los parámetros y las propiedades de los componentes se definen en editores y cuadros de diálogo especializados.

Varios flujos

En el diseñador de flujos visuales, puede crear flujos para manejar las distintas partes de las conversaciones para las que está diseñando la aptitud. Normalmente tendría:

  • Flujo principal, que es el punto de entrada principal de la aptitud y que es más una configuración que un flujo. El flujo principal contiene:
    • Variables globales.
    • Eventos que se asignan a flujos.
  • Flujo para cada intención regular.
  • Un único flujo para manejar todas las intenciones de respuesta (aunque también es posible tener flujos independientes para las intenciones de respuesta individuales si desea incluir un comportamiento específico para esas intenciones de respuesta).
  • Subflujos y flujos de utilidades reutilizables (por ejemplo, para la autenticación) que pueden llamar otros flujos.

Eventos

En las aptitudes creadas con el diseñador de flujos visuales, se dispara un flujo cuando se produce un evento asignado a ese flujo. Hay eventos para cada una de las intenciones de la aptitud y eventos incorporados para casos estándar (como entradas y errores inesperados del usuario). Además, puede definir eventos personalizados, que le permiten disparar flujos en función de las acciones emitidas cuando finaliza otro flujo.

Los eventos que se disparan en el nivel de aptitud se asignan a flujos. Los eventos que se disparan en un flujo se asignan a estados del flujo. (En el caso de eventos de error de cuadro de diálogo, si no ha asignado el evento a un estado del flujo actual, el evento se propaga al flujo principal, desde donde se asigna a un flujo).

Nota

Los eventos del diseñador de flujos visuales se corresponden aproximadamente con las acciones de transición por defecto de los flujos de diálogo de YAML.

Variables, Ámbito y Parámetros

Con Visual Flow Designer, puede definir variables a nivel de flujos individuales y global.

  • En flujos individuales. No se puede acceder directamente a las variables definidas en un flujo desde fuera de ese flujo.

    La vida útil de una variable de flujo se limita a ese flujo. Su valor se borra después de que el cuadro de diálogo haya recorrido hasta el final del flujo. Si un usuario vuelve a ese flujo más adelante en la sesión, la variable se reinicializa.

  • En el flujo principal. Las variables definidas aquí tienen un ámbito (global) de toda la aptitud, lo que significa que todos los flujos de la aptitud pueden acceder a ellas.

    Los valores de estas variables globales siguen limitando la sesión del usuario con la aptitud. Las variables se borran cuando finaliza la sesión de usuario con la aptitud, lo que ocurre cuando se produce una de las siguientes situaciones:

    • El usuario cierra la ventana de chat.
    • La sesión sufre un timeout después de un período de inactividad (cuyo valor se define en el nivel de canal y suele ser de 24 horas).
    • En el contexto de un asistente digital, el usuario sale de la aptitud o alcanza un estado que llama directamente a otra aptitud.
      Nota

      Cuando el usuario interrumpe una conversación con una entrada non sequitur y se enruta temporalmente a una aptitud diferente, el asistente digital permanece en el contexto de la aptitud original y sus variables no se borran automáticamente. En este caso, si el usuario vuelve a la aptitud original después de la interrupción, las variables mantienen sus valores. Si el usuario decide no volver a la aptitud original, se sale de la aptitud original y se borran las variables.

Los valores de las variables se pueden transferir dentro y fuera de los flujos mediante parámetros de entrada y salida. Mediante el uso de parámetros en lugar de referencias directas a variables entre flujos, puede realizar flujos que sean independientes, lo que permite la reutilización, fomenta un comportamiento predecible y reduce la probabilidad de bugs.

Nota

Los nombres de los parámetros de entrada de un flujo deben ser distintos de los nombres de las variables de ese flujo.

Para obtener más información sobre cómo trabajar con variables, consulte Expresiones para valores de variables y Otros tipos de variables.

Componentes nuevos, modificados y eliminados

El conjunto de componentes del diseñador de flujo visual es en gran medida el mismo que en el editor basado en YAML, pero hay algunas adiciones, eliminaciones y modificaciones. Aquí hay un resumen rápido de las mayores diferencias.

Los siguientes componentes son exclusivos de Visual Flow Designer:

  • Llamar a flujo: se utiliza para llamar a un flujo desde un flujo existente.
  • Finalizar flujo: se utiliza para finalizar un flujo determinado. También puede utilizar la propiedad action de este componente para especificar un evento que dispare otro flujo. Normalmente, esta acción la utiliza una transición de acción especificada en un componente Llamar flujo en el flujo principal. Para los flujos de nivel superior, la acción en el estado Finalizar flujo dispara el evento personalizado en el flujo principal.
  • Enviar mensaje: componente de respuesta común simplificada (System.CommonResponse) para mostrar un mensaje.
  • Preguntar: componente de respuesta común simplificada (System.CommonResponse) para solicitar una respuesta a un usuario.
  • Resolver bolsa compuesta: componente Resolver entidades simplificado (System.ResolveEntities) diseñado específicamente para trabajar con entidades de bolsa compuesta.
  • Componentes de Mostrar tablas y formularios.

Los siguientes componentes no están disponibles en el diseñador de flujos visuales:

  • System.Intent: esta funcionalidad se ha sustituido por la resolución automática de intenciones, que se produce cuando no hay ningún flujo activo. Consulte Detección y resolución de información.
  • System.ConditionEquals: utilice el componente Cambiar en su lugar.
  • System.ConditionExists: utilice el componente Cambiar en su lugar.
  • System.Text: utilice una de las plantillas de componentes de respuesta común, el componente Resolver entidad o el nuevo componente Preguntar en su lugar.
  • System.List: utilice una plantilla de componente de respuesta común o el componente Resolver entidad en su lugar.
  • System.Output: utilice una plantilla de componente de respuesta común, el componente Resolver entidad o el componente Enviar mensaje en su lugar.
  • System.Qna: si utiliza módulos de preguntas y respuestas, debe migrar al uso de intenciones de respuesta.

Para obtener una descripción completa de los componentes en el diseñador de flujos visuales, consulte Plantillas de componentes.