Partilhar via


Trabalhar com variáveis

Use variáveis para armazenar as respostas dos clientes para que possa reutilizar o conteúdo deles mais tarde na conversa.

Também pode utilizar variáveis para criar expressões lógicas que encaminham dinamicamente o cliente ao longo de diferentes caminhos de conversação. Por exemplo, guarde o nome de um cliente numa variável chamada customerName, e o agente pode tratar o cliente pelo nome à medida que a conversa avança.

Pode-se passar e retornar variáveis para outros tópicos e fluxos do Power Automate.

Criar uma variável

Qualquer nó que retorna uma saída, como um nó Pergunta , cria automaticamente uma variável de saída do tipo apropriado.

Captura de ecrã de um nó de pergunta, com o nome padrão e o tipo da variável realçados.

Gorjeta

Renomeie os nós para torná-los mais fáceis de identificar. Selecione o campo do nome do nó para atualizar diretamente o nome, ou selecione os três pontos (...) do nó e selecione Renomear no menu. Você também pode renomear nós no editor de códigos.

Não é possível renomear nós de Acionador e nós de Ir para o passo.

Os nomes dos nós podem ter até 500 carateres.

Selecionar uma entidade a utilizar

Os nós de pergunta utilizam opções de múltipla escolha por defeito. Para usar uma entidade pré-construída ou personalizada diferente, selecione a caixa Identificar e depois selecione o tipo de informação que pretende.

Captura de ecrã de um nó Pergunta com o painel 'Escolher informações para identificar' aberto.

Mudar o nome de uma variável

Para facilitar a manutenção dos seus agentes, substitua o nome padrão de cada variável por um nome significativo.

  1. Selecione a variável. O painel Propriedades da variável aparece.

  2. Em nome da variável, introduza o nome que quer para a sua variável.

Definir uma variável

Normalmente, usas um nó Question para armazenar a entrada do utilizador numa variável. No entanto, pode querer definir o valor de uma variável por si mesmo. Nesses casos, use um nó Definir valor da variável.

  1. Selecione o ícone Adicionar nó sob o nó após o qual deseja adicionar um nó Definir valor da variável.

  2. Selecione Gerenciamento de> variáveisDefina um valor de variável. Um nó Definir valor da variável aparece na tela.

  3. Selecione a caixa abaixo de "Set variable". O painel Selecionar uma variável aparece.

    • Se a variável que queres definir já existir, seleciona-a.

    • Caso contrário, selecione Criar novo. Esta ação cria uma nova variável. O tipo é desconhecido até que lhe atribua um valor.

      Captura de ecrã de um nó 'Definir valor da variável' com uma nova variável de tipo desconhecido.

  4. Para o valor To (Valor), atribui um valor usando uma das seguintes opções:

    • Escreva um valor literal.

    • Selecione uma variável existente do mesmo tipo.

    • Utilize uma fórmula do Power Fx. As fórmulas do Power Fx são úteis para tipos mais complexos em que os valores literais não podem ser usados, como os tipos Tabela e Registo.

Usar variáveis em nós de ação

Quando você usa uma variável em um nó Ação , se seu tipo base corresponder a um tipo de parâmetro especificado para um fluxo ou para uma habilidade do Bot Framework, você poderá alimentá-la para esse parâmetro. A saída dos nós de Ação gera novas variáveis.

Para obter mais contexto, consulte os cenários de exemplo em Chamar um fluxo de agente de um tópico e Usar variáveis de entrada e saída para passar informações.

Usar valores literais para entradas variáveis

Num nó onde defines um valor para os parâmetros de entrada, podes inserir um valor literal em vez de selecionar outra variável como valor.

Captura de ecrã que mostra a utilização de um valor literal para um parâmetro de entrada da variável chamado productName.

O nó tenta interpretar valores literais como uma cadeia de carateres, um número ou um booleano. Por exemplo, 123 é interpretado como um número. Se quiser que seja interpretado como um valor de cadeia, enrole o valor entre aspas duplas, assim: "123".

Para alguns cenários, como cenários que usam tipos complexos, pode ser necessário usar uma fórmula de Power Fx para definir um tipo específico.

Use variáveis de ambiente para os segredos do Azure Key Vault

Uma variável de ambiente pode referenciar um segredo no Key Vault. As variáveis de ambiente secretas são um caso especial de variáveis de ambiente com considerações únicas.

Para criar uma variável de ambiente secreto no Power Apps, deve configurar um cofre Key Vault.

Para autorizar o Copilot Studio a ler este cofre do Key Vault, complete as seguintes ações:

  1. Atribuir o papel de Utilizador de Segredos do Key Vault ao serviço Microsoft Copilot Studio Service.

  2. Para autorizar todos os agentes do ambiente a acessar o segredo, crie uma tag AllowedEnvironments no segredo e adicione os IDs de ambiente permitidos separados por vírgulas.

  3. Para autorizar apenas agentes específicos do ambiente a utilizarem este cofre, crie uma etiqueta AllowedAgents e coloque o identificador do agente no formato {envId}/{schemaName}. Para vários valores, separe os valores por vírgulas.

    Se atingir o número máximo de carateres, mas ainda precisar de adicionar mais agentes, adicione outra etiqueta com um nome descritivo, mas exclusivo (por exemplo: AllowedAgents2).

O tempo de execução Dialog armazena o valor secreto em cache durante cinco minutos. Armazena em cache as leituras não bem-sucedidas durante 30 segundos.

Advertência

Ao adicionar o segredo no agente, você pode expor o valor desse segredo. Qualquer pessoa que possa editar o agente no ambiente pode adicionar um nó Mensagem e retornar o valor das variáveis de ambiente secretas em uma mensagem.

Painel das variáveis

No painel de Variáveis, podes ver todas as variáveis disponíveis para um tema, independentemente dos nós em que estejam definidas ou usadas.

Para abrir o painel Variáveis , selecione Variáveis na barra de menus do tópico.

Captura de ecrã do painel Variáveis, com o botão Variáveis realçado.

Para cada variável de tópico, pode selecionar se ela pode receber o seu valor de outros tópicos, devolver o seu valor a outros tópicos, ou ambos. Também pode selecionar uma variável para editar as respetivas propriedades no painel Propriedades da variável .

Painel de propriedades da variável

No painel Propriedades da variável , você pode renomear uma variável, ver onde seu agente a usa ou convertê-la em uma variável global. Não podes converter uma variável global de volta numa variável de tópico. Também pode selecionar se uma variável de tópico pode receber valores ou passar o respetivo valor para outros tópicos.

Para abrir o painel Propriedades da variável para uma variável, selecione a variável desejada no painel Variáveis. Também pode abrir o painel de propriedades das variáveis a partir de qualquer nó que utilize variáveis, selecionando a variável desejada.

Transmitir variáveis entre tópicos

Ao redirecionar um tópico para outro, pode transmitir os valores das variáveis do tópico de origem para o tópico de destino e também devolver valores do tópico de destino para o tópico de origem. A passagem de variáveis entre tópicos é especialmente útil quando um tópico anterior já recolheu informações de que um tópico posterior precisa. Seus usuários certamente apreciam não ter que responder às mesmas perguntas mais de uma vez.

Receber valores de outros tópicos

Quando um tópico define uma variável (por exemplo, num nó Pergunta), o agente faz uma pergunta ao utilizador para preencher o valor da variável. Se o agente já adquiriu o valor num tópico anterior, não há razão para fazer a pergunta novamente. Nesses casos, pode definir a variável como Receber valores de outros tópicos. Quando outro tópico redireciona para este, pode transmitir o valor de uma variável ou um valor literal para esta variável e ignorar a pergunta. A experiência para o utilizador que fala com o agente é perfeita.

Este exemplo utiliza dois tópicos, Cumprimento e Conversa com o Cliente. Ambos os tópicos pedem o nome do cliente. No entanto, se o tópico Saudação for executado primeiro, o tópico Falar com o cliente ignora a pergunta. Em vez disso, utiliza o valor da variável transmitida do tópico Saudação .

Aqui está o fluxo do tópico Falar com o cliente:

Captura de ecrã do fluxo de conversação do tópico Falar com o cliente.

Como mostrado no painel de teste, se este tópico for ativado primeiro, pergunta ao utilizador: "Como devo chamar-te?" Armazena o valor numa variável string chamada customerName. A customerName variável também está definida para obter o seu valor de outros tópicos. O tópico termina com a mensagem: "Espero que tenha um dia maravilhoso, customerName!"

Aqui está o fluxo do tópico Saudação :

Captura de ecrã do fluxo de conversação do tópico de saudação.

Como mostrado no painel de teste, se este tópico for ativado primeiro, pergunta ao utilizador: "Qual é o seu nome?" Armazena o valor numa variável string chamada customerName. O tópico envia a mensagem: "Prazer em conhecê-lo, customerName!" Em seguida, redireciona para o tópico Falar com o cliente, que envia a mensagem: "Espero que tenha um dia maravilhoso, customerName!" Observe, no entanto, que o tópico Falar com o cliente não solicitou novamente o nome do utilizador. Em vez disso, usava o valor da customerName variável passada do tópico Saudação .

Finalmente, aqui está a segunda conversação novamente, desta vez da perspetiva do tópico Falar com o Cliente:

Captura de ecrã do fluxo de conversação do tópico Falar com o cliente quando o tópico Saudação é acionado primeiro.

Percorra os passos para definir um tema e receber valores de outros temas. Este cenário de exemplo utiliza o tópico Saudação como tópico de origem, e um novo Falar com o Cliente como tópico de destino, mas os mesmos passos funcionam para qualquer tópico que deva utilizar o valor de um tópico anterior sempre que possível.

Configurar o tópico de destino

O tema destino recebe valores de outros tópicos. Neste exemplo, é Falar com o Cliente.

  1. Crie um novo tema e chame-lhe "Falar com o Cliente."

  2. Adiciona frases gatilho como "fala comigo", "fala comigo" e "conversa comigo".

  3. Adicione um nó Pergunta e introduza "Como devo chamar-lhe?" para a mensagem.

  4. Em Identificar, selecione a entidade pré-criada Nome da pessoa.

  5. Selecione o nome da variável. O painel Propriedades da variável é aberto.

  6. Substitua o nome padrão por customerName, e depois selecione Receber valores de outros tópicos.

    Captura de ecrã do painel 'Propriedades da variável' a mostrar a variável customerName e respetivas propriedades.

  7. Adicione um nó de Mensagem.

  8. Na caixa de mensagem, introduza "Espero que tenha um dia maravilhoso, ".

  9. Selecione o ícone Inserir variável ({x}) e, em seguida, selecione customerName.

  10. Selecione o espaço após a variável e introduza um ponto de exclamação (!).

  11. Guarde o tópico.

Configurar o tópico de origem

O tema de origem é aquele que redireciona para outro tema. Fornece o valor e transmite-o para o tópico de destino. Neste exemplo, é Greeting.

  1. Vá para o tópico Saudação e elimine os nós predefinidos, exceto o nó Acionador.

  2. Adicione um nó Pergunta e introduza "Como se chama?" para a mensagem.

  3. Em Identificar, selecione a entidade pré-criada Nome da pessoa.

  4. Substitua o nome padrão por customerNameFromGreeting.

  5. Adicione um nó de Mensagem.

  6. Na caixa de mensagem, introduza "Prazer em conhecê-lo, ".

  7. Selecione o ícone Inserir variável ({x}) e, em seguida, selecione customerNameFromGreeting.

  8. Selecione o espaço após a variável e introduza um ponto de exclamação (!).

  9. Adicione um nó de Redirecionamento e selecione o tópico de destino Falar com o cliente.

  10. Selecione Adicionar entrada e, em seguida, selecione a variável do tópico de destino ao qual pretende transmitir um valor.

    Captura de ecrã do tópico Saudação com a variável customerName adicionada como entrada num nó de redirecionamento.

  11. Selecione o ícone > e, em seguida, selecione a variável cujo valor deseja transmitir, customerNameFromGreeting, neste exemplo.

    O nó Redirecionamento deve ter este aspeto:

    Captura de ecrã do nó Redirecionamento concluído no tópico Saudação.

  12. Guarde o tópico.

Devolver valores aos tópicos originais

Num agente, um tema recolhe uma informação específica. Vários outros tópicos podem chamá-lo e esperar que devolva as informações como uma variável. A variável torna-se parte do tópico de origem e pode ser usada como qualquer outra variável. Ao tornar a informação que o agente obtém disponível em vários tópicos, esta abordagem reduz a necessidade de variáveis globais.

Vamos continuar com o exemplo da seção anterior. Fazes uma nova pergunta no tópico Falar com o Cliente e depois deves responder ao tópico Saudação .

Configurar o tópico de origem para uma variável devolvida

Quando devolve uma variável a um tópico, o tópico de origem é o tema que fornece o valor para passar de volta ao tema original. Neste exemplo, o tópico de origem é Falar com o cliente.

  1. Vá para o tópico de origem.

  2. Adicione um nó Pergunta e introduza "Em que cidade mora?" para a mensagem.

  3. Em Identificar, selecione a entidade pré-criada Cidade.

  4. Selecione a variável para abrir o painel Propriedades da variável. Nomeie-o customerCity, e depois selecione Devolver valores aos tópicos originais.

    Captura de ecrã do tópico Falar com o cliente com a variável customerCity e respetivas propriedades realçadas.

  5. Adicione um nó de Mensagem.

  6. Selecione o ícone Inserir variável ({x}) e, em seguida, selecione customerCity.

  7. Após a variável na caixa de mensagem, introduza "deve ser lindo nesta época do ano!".

  8. Guarde o tópico.

Configurar o tópico de destino para uma variável devolvida

Quando devolve uma variável a um tópico, o tópico de destino recebe valores do tópico atual. No exemplo seguinte, o tema de destino é Saudação.

  1. Vá para o tópico de destino.

  2. A variável que selecionaste no tópico de origem aparece no nó Redirecionar como variável de saída.

    Captura de ecrã do fluxo de conversação do tópico Saudação com uma variável devolvida num nó de redirecionamento.

  3. Guarde o tópico.

Analisar valores

O nó de análise de valor converte um valor de um tipo para outro. Um caso de uso comum para o nó valor de análise é converter o JSON em estado bruto. Por exemplo, um agente chama um fluxo que chama uma API. A API devolve um resultado. É preciso uma forma de analisar este resultado e devolver uma ou mais variáveis primitivas. Ao usar o nó Parse value, pode enviar todo o resultado da API como uma cadeia de caracteres, da seguinte forma:

{
    "Name": "Parker",
    "Position": "Product manager",
    "Company": "Contoso",
    "FormerPositions": [{
            "Position": "Customer service representative"
        }
    ]
}

O nó de valor de análise converte a variável string numa variável do tipo Registo. O editor Power Fx fornece completamento de código IntelliSense e sugestões para este tipo.

Para além da análise de cadeias JSON, uma das principais utilizações do nó de análise de valor é a análise de objetos não tipados em tempo de execução. O caso de uso mais comum é quando recebes um evento e precisas de analisar o valor do evento. Ou talvez você queira analisar a System.Activity.ChannelData propriedade, que varia em tempo de execução por canal.

Se você precisar analisar informações de um evento proveniente do Teams, consulte a documentação do desenvolvedor do Teams para encontrar um exemplo de como o evento esperado pode parecer. Em seguida, poderá seguir as instruções nesta seção, usando o evento de exemplo como dados de amostra.

Para adicionar um nó de Analisar valor a um tópico:

  1. Selecione o ícone Adicionar nó sob o nó, depois do qual quer interpretar um valor. Aponte para gestão de variáveis e selecione Valor de Análise.

  2. Adicione um nó Analisar valor e selecione a variável que deseja analisar.

    Captura de ecrã a mostrar a seleção da variável a analisar.

  3. Para o tipo de dado, selecione From Sample Data.

    Captura de ecrã a mostrar a seleção do tipo de dados para um nó Analisar valor.

  4. Selecione Obter esquema de exemplo JSON, insira o exemplo JSON desejado no editor que é aberto e selecione Confirmar.

    Captura de tela mostrando o editor onde você insere dados JSON de exemplo.

  5. Selecione a variável para manter o valor analisado. Normalmente, cria-se uma nova variável.

    Captura de ecrã mostrando como criar uma variável para manter um valor analisado diretamente do nó de análise de valor.

    A variável de saída agora tem o tipo esperado: registro.

    Captura de tela mostrando que a variável que contém os dados analisados tem o tipo esperado: registro.