Conceitos Básicos

O Designer de Fluxo Visual é uma ferramenta visual para projetar interações entre uma habilidade e seus usuários. Os tópicos a seguir contêm as primeiras coisas que você precisa saber.

Visual Designer

Com o Designer de Fluxo Visual, os fluxos de caixas de diálogo são projetados visualmente, em vez de por meio de um editor de código. As conexões entre estados são representadas em diagramas visuais. Variáveis, parâmetros e propriedades de componentes são definidos em editores e caixas de diálogo especializados.

Vários Fluxos

No Designer de Fluxo Visual, você cria fluxos para lidar com as várias partes das conversas para as quais está projetando sua habilidade. Normalmente, você teria:

  • O Fluxo Principal, que é o ponto de entrada principal da habilidade e que é mais uma configuração do que um fluxo. O fluxo principal contém:
    • Variáveis globais.
    • Eventos que mapeiam para fluxos.
  • Um fluxo para cada intenção regular.
  • Um único fluxo para tratar todas as intenções de resposta (embora também seja possível ter fluxos separados para intenções de resposta individuais se você quiser incluir um comportamento específico para essas intenções de resposta).
  • Subfluxos e fluxos de utilitários reutilizáveis (por exemplo, para autenticação) que podem ser chamados por outros fluxos.

Eventos

Em habilidades criadas com o Designer de Fluxo Visual, um fluxo é acionado quando ocorre um evento mapeado para esse fluxo. Há eventos para cada intenção da habilidade e eventos incorporados para casos padrão (como entrada inesperada do usuário e erros). Além disso, você pode definir eventos personalizados, que permitem acionar fluxos com base em ações emitidas quando outro fluxo termina.

Os eventos acionados no nível de habilidade são mapeados para fluxos. Os eventos acionados em um fluxo são mapeados para estados no fluxo. (No caso de eventos de Erro de Caixa de Diálogo, se você não tiver mapeado o evento para um estado no fluxo atual, o evento se propaga para o Fluxo Principal, de onde ele é mapeado para um fluxo.)

Observação

Os eventos no Designer de Fluxo Visual correspondem aproximadamente às ações de transição padrão nos fluxos de caixas de diálogo YAML.

Variáveis, Escopo e Parâmetros

Com o Designer de Fluxo Visual, você pode definir variáveis no nível de fluxos individuais e globalmente.

  • em fluxos individuais. As variáveis definidas em um fluxo não podem ser acessadas diretamente de fora desse fluxo.

    O tempo de vida de uma variável de fluxo é limitado a esse fluxo. Seu valor é limpo depois que a caixa de diálogo tiver passado até o fim do fluxo. Se um usuário retornar a esse fluxo posteriormente na sessão, a variável será reinicializada.

  • No Fluxo Principal. As variáveis definidas aqui têm um escopo (global) de toda a habilidade, o que significa que elas podem ser acessadas por todos os fluxos da habilidade.

    Os valores dessas variáveis globais persistem durante a sessão do usuário com a habilidade. As variáveis são limpas quando a sessão do usuário com a habilidade termina, o que acontece quando ocorre uma das seguintes coisas:

    • O usuário fecha a janela de chat.
    • A sessão expira após um período de inatividade (cujo valor é definido no nível do canal e geralmente é de 24 horas).
    • No contexto de um assistente digital, o usuário sai da habilidade ou atinge um estado que chama diretamente outra habilidade.
      Observação

      Quando o usuário interrompe uma conversa com uma entrada não sequitur e é roteada temporariamente para outra habilidade, o assistente digital permanece no contexto da habilidade original e suas variáveis não são limpas automaticamente. Nesse caso, se o usuário retornar à habilidade original após a interrupção, as variáveis manterão seus valores. Se o usuário optar por não retornar à habilidade original, a habilidade original será encerrada e as variáveis serão apagadas.

Os valores das variáveis podem ser transmitidos dentro e fora dos fluxos usando parâmetros de entrada e saída. Ao usar parâmetros em vez de referências diretas a variáveis entre fluxos, você faz fluxos que são independentes, o que permite a reutilização, promove um comportamento previsível e reduz a probabilidade de bugs.

Observação

Os nomes dos parâmetros de entrada de um fluxo precisam ser distintos dos nomes das variáveis desse fluxo.

Para obter mais informações sobre como trabalhar com variáveis, consulte Expressões para Valores de Variáveis e Outros Tipos de Variáveis.

Componentes Novos, Modificados e Removidos

O conjunto de componentes do Visual Flow Designer é praticamente o mesmo do editor baseado em YAML, mas há algumas adições, remoções e modificações. Aqui está um rápido resumo das maiores diferenças.

Os seguintes componentes são exclusivos do Visual Flow Designer:

  • Chamar Fluxo: Usado para chamar um fluxo de um fluxo existente.
  • End Flow: Usado para encerrar um determinado fluxo. Você também pode usar a propriedade action desse componente para especificar um evento que aciona outro fluxo. Normalmente, essa ação seria usada por uma transição de ação especificada em um componente Chamar Fluxo no fluxo pai. Para fluxos de nível superior, a ação no estado Fluxo Final aciona o evento personalizado no Fluxo Principal.
  • Enviar Mensagem: Um componente Resposta Comum simplificada (System.CommonResponse) para exibir uma mensagem.
  • Fazer uma Pergunta: Um componente Resposta Comum simplificada (System.CommonResponse) para solicitar uma resposta a um usuário.
  • Resolver Entidade Composta: Um componente Resolver Entidades (System.ResolveEntities) simplificado projetado especificamente para trabalhar com entidades compostas.
  • Componentes de Exibir Tabelas e Formulários.

Os seguintes componentes não estão disponíveis no Designer de Fluxo Visual:

  • System.Intent: Essa funcionalidade foi substituída pela resolução automática de intenção, que ocorre quando não há fluxo ativo. Consulte Detecção e Resolução de Intenções.
  • System.ConditionEquals: Use o componente Alternar.
  • System.ConditionExists: Use o componente Alternar.
  • System.Text: Use um dos Modelos do Componente de Resposta Comum, o componente Resolver Entidade ou o novo componente Fazer Pergunta.
  • System.List: Use um modelo de componente Resposta Comum ou o componente Resolver Entidade.
  • System.Output: Use um modelo de componente Resposta Comum, o componente Resolver Entidade ou o componente Enviar Mensagem.
  • System.Qna: Se você estiver usando módulos do módulo de perguntas e respostas, deverá migrar para o uso de intenções de resposta.

Para obter um resumo completo dos componentes no Designer de Fluxo Visual, consulte Modelos de Componente.