Partilhar via


Trabalhar com variáveis

Você pode usar variáveis para armazenar as respostas dos clientes e 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 dirigir-se ao cliente pelo nome à medida que a conversação continua.

As variáveis também podem ser transmitidas e devolvidas de 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. 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 são criados com opções de escolha múltipla por predefinição. Para usar uma entidade pré-criada ou personalizada diferente, selecione a caixa Identificar e, em seguida, selecione o tipo de informação desejado.

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

Mudar o nome de uma variável

As variáveis recebem automaticamente um nome quando as cria. Uma prática recomendada é dar às suas variáveis nomes significativos para deixar seu propósito claro para qualquer pessoa que precise manter seu agente.

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

  2. Em Nome da variável, insira o nome desejado para a variável.

Definir uma variável

Normalmente, utiliza um nó Pergunta para armazenar a entrada de utilizador numa variável. No entanto, pode haver situações em que você mesmo queira definir o valor de uma variável. 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 é apresentado na tela.

  3. Selecione a caixa em Definir variável e, em seguida, selecione Criar uma nova variável. É criada uma variável nova. 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 Até ao valor, atribua 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

Em nós onde pode definir um valor para parâmetros de entrada, pode sempre introduzir um valor literal em vez de selecionar outra variável como o 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 de caracteres, pode colocar o valor entre aspas duplas, assim: "123".

Para alguns cenários (por exemplo, cenários que usam tipos complexos), talvez seja necessário usar uma fórmula Power Fx para definir um tipo específico.

Utilizar variáveis de ambiente para segredos do Azure Key Vault

Uma variável de ambiente pode fazer referência a 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 secreta no portal do Power Apps, deve configurar o seu Key Vault.

Para autorizar o Copilot Studio para ler este Key Vault, deve executar as seguintes ações:

  1. Atribua a função Utilizador de Segredos do Key Vault à aplicaçã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 usar este Key Vault, 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 valor secreto é colocado em cache em runtime da caixa de diálogo durante cinco minutos. As leituras sem êxito são colocadas em cache 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

O painel das Variáveis é onde pode ver todas as variáveis disponíveis para um tópico, independentemente dos nós em que estão definidas ou utilizadas. Para cada variável, pode selecionar se esta pode receber o respetivo valor de outros tópicos, devolver o respetivo valor para outros tópicos ou ambos. Também pode selecionar uma variável para editar as respetivas propriedades no painel Propriedades da variável .

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.

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. No entanto, não é possível converter uma variável global novamente para uma 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. Você também pode abrir o painel Propriedades da variável a partir de qualquer nó que use 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.

Neste exemplo, usamos dois tópicos, Saudação e Falar 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 acionado primeiro, pergunta ao utilizador: "Como devo chamar-lhe?" Armazena o valor numa variável de cadeia (de carateres) chamada customerName. A variável customerName também é 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 acionado primeiro, pergunta ao utilizador: "Como se chama?" Armazena o valor numa variável de cadeia (de carateres) 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, utilizou o valor da variável customerName transmitida 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.

Vamos percorrer os passos para configurar um tópico para receber valores de outros tópicos. O nosso cenário de exemplo usa o tópico predefinido Saudação como o tópico de origem e um novo tópico Falar com o cliente como o tópico de destino, mas os mesmos passos funcionam para qualquer tópico que deve usar um valor de um tópico anterior quando possível.

Configurar o tópico de destino

O tópico de destino é o tópico para o qual está a ser redirecionado, aquele que recebe valores de outros tópicos. No nosso exemplo, é Falar com o cliente.

  1. Crie um novo tópico e chame-lhe "Falar com o cliente".

  2. Adicione frases acionadoras como "fale comigo", "converse 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 abre-se.

  6. Substitua o nome predefinido por "customerName" e, em seguida, 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 "!".

  11. Guarde o tópico.

Configurar o tópico de origem

O tópico de origem é o tópico que faz o redirecionamento, aquele que fornece o valor e o transmite ao tópico de destino. No nosso exemplo, chama-se Saudação.

  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 predefinido 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 "!".

  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

Em um agente, um tópico destina-se a recolher 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. As informações obtidas pelo agente estão, portanto, disponíveis em todos os tópicos, reduzindo a necessidade de variáveis globais.

Vamos continuar com o exemplo da seção anterior. Fazemos uma nova pergunta no tópico Falar com o Cliente e, em seguida, devolvemos a resposta ao tópico Saudação.

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

Quando está a devolver uma variável a um tópico, o tópico de origem é o tópico que fornece o valor para transmitir ao tópico 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 como "customerCity" e 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 é o tópico que recebe valores do tópico atual. No nosso exemplo, o tópico de destino é Saudação.

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

  2. A variável selecionada no tópico de origem deve aparecer no nó Redirecionar como uma 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ó Analisar valor permite converter um valor de um tipo num valor de outro tipo. Um caso de utilização comum para o nó de Analisar valor é converter JSON bruto. Por exemplo, um agente chama um fluxo, que por sua vez chama uma API. Em seguida, a API devolve um resultado. Agora você precisa de uma maneira de analisar esse resultado e retornar uma ou mais variáveis primitivas. Com o nó Parse value, pode enviar todo o resultado da API como uma string, como o seguinte:

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

O nó Analisar valor pode converter a variável de cadeia de carateres que tem agora numa variável do tipo Registo, para a qual o editor Power Fx fornece preenchimento automático de código IntelliSense e sugestões.

Além de analisar cadeias de carateres JSON, uma utilização importante do nó de Analisar valor é analisar objetos sem tipo em runtime. O caso de utilização mais comum é quando recebe um evento e precisa 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ó no nó após o qual pretende analisar um valor, aponte para Gestão de variáveis e selecione Analisar valor.

  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. Selecione o tipo de dados. Neste caso, escolha Dos dados de exemplo.

    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. Finalmente, selecione a variável para manter o valor analisado. Normalmente, criaria uma nova variável.

    Captura de ecrã a mostrar como criar uma variável para manter um valor analisado diretamente do nó Analisar 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.