Compartir por


Trabajar con variables

Use variables para almacenar las respuestas de los clientes para poder reutilizar su contenido más adelante en la conversación.

También puede usar variables para crear expresiones lógicas que dirijan dinámicamente al cliente por diferentes rutas de conversación. Por ejemplo, guarde el nombre de un cliente en una variable denominada customerNamey el agente puede dirigirse al cliente por nombre a medida que continúa la conversación.

Puede pasar variables a otros temas, y devolverlas desde flujos de Power Automate.

Crear una variable

Cualquier nodo que devuelva una salida, como un nodo Pregunta , crea automáticamente una variable de salida del tipo adecuado.

Captura de pantalla de un nodo Pregunta, con el nombre predeterminado y el tipo de la variable resaltada.

Sugerencia

Cambie el nombre de los nodos para que sea más fácil identificarlos. Selecciona el campo de nombre del nodo para actualizar el nombre directamente, o selecciona los tres puntos (...) del nodo y selecciona Renombrar en el menú. También puede renombrar nodos en el editor de código.

No es posible cambiar el nombre de los nodos Gatillo y nodos Ir al paso.

Los nombres de nodo pueden tener hasta 500 caracteres de largo.

Seleccionar la entidad que se va a usar

Los nodos de preguntas usan opciones de varias opciones de forma predeterminada. Para usar otra entidad precompilada o personalizada, seleccione el cuadro Identificar y, a continuación, seleccione el tipo de información que desee.

Captura de pantalla de un nodo Pregunta con el panel

Cambiar el nombre de una variable

Para que los agentes sean más fáciles de mantener, reemplace el nombre predeterminado de cada variable por un nombre descriptivo.

  1. Seleccione la variable . Aparece el panel de Propiedades de variables.

  2. En Nombre de variable, escriba el nombre que desee para la variable.

Establecer una variable

Normalmente, se usa un nodo Pregunta para almacenar la entrada del usuario en una variable. Sin embargo, es posible que desee establecer el valor de una variable usted mismo. En esos casos, use un nodo Establecer valor variable.

  1. Seleccione el icono Agregar nodo en el nodo después del cual desea agregar un nodo Establecer valor de variable .

  2. Seleccione Administración de>variables Establecer un valor de variable. Aparece un nodo Establecer valor de variable en el lienzo.

  3. Seleccione el cuadro debajo de Establecer variable. Aparece el panel Seleccionar una variable .

    • Si la variable que desea establecer ya existe, selecciónela.

    • De lo contrario, seleccione Crear nuevo. Esta acción crea una nueva variable. Su tipo es desconocido hasta que le asigna un valor.

      Captura de pantalla de un nodo

  4. Para Valor, asigne un valor utilizando una de las siguientes opciones:

    • Escriba un valor literal.

    • Seleccione una variable existente del mismo tipo.

    • Use una fórmula de Power Fx. Las fórmulas de Power Fx son útiles para tipos más complejos, donde no se pueden usar valores literales, como los tipos Tabla y Registro.

Uso de variables en nodos de acción

Cuando se usa una variable en un nodo Action , si su tipo base coincide con un tipo de parámetro especificado para un flujo o para una aptitud de Bot Framework, puede alimentarlo a ese parámetro. La salida de los nodos Action genera nuevas variables.

Para obtener más contexto, consulte los escenarios de ejemplo en Llamada a un flujo de agente desde un tema y Uso de variables de entrada y salida para pasar información.

Usar valores literales para entradas variables

En un nodo donde se establece un valor para los parámetros de entrada, puede escribir un valor literal en lugar de seleccionar otra variable como valor.

Captura de pantalla que muestra el uso de un valor literal para un parámetro de entrada de variable denominado productName

El nodo intenta interpretar valores literales como una cadena, un número o un valor booleano. Por ejemplo, 123 se interpreta como un número. Si desea que se interprete como un valor de cadena en su lugar, ajuste el valor entre comillas dobles, de la siguiente manera: "123".

En algunos escenarios, como escenarios que usan tipos complejos, es posible que tenga que usar una fórmula de Power Fx para establecer un tipo específico.

Uso de variables de entorno para secretos de Azure Key Vault

Una variable de entorno puede hacer referencia a un secreto en Key Vault. Las variables de entorno secretas son un caso especial de variables de entorno con consideraciones únicas.

Para crear una variable de entorno secreta en Power Apps, debe configurar un almacén de Key Vault.

Para autorizar a Copilot Studio para leer este Key Vault, complete las siguientes acciones:

  1. Asigna el rol Usuario de secretos de Key Vault a la aplicación Microsoft Copilot Studio Service.

  2. Para autorizar a todos los agentes del entorno para acceder al secreto, cree una etiqueta AllowedEnvironments en el secreto y agregue los identificadores de entorno permitidos separados por comas.

  3. Para autorizar solo a agentes específicos del entorno específico para que puedan usar esta bóveda, cree una etiqueta AllowedAgents y coloque el identificador del agente en el formato {envId}/{schemaName}. Para valores múltiples, separe los valores con comas.

    Si alcanza el número máximo de caracteres pero aún necesita agregar más agentes, agregue otra etiqueta con un nombre descriptivo pero único (por ejemplo: AllowedAgents2).

El tiempo de ejecución del cuadro de diálogo almacena en caché el valor del secreto durante cinco minutos. Almacena en caché las lecturas fallidas durante 30 segundos.

Advertencia

Al agregar el secreto al agente, podría exponer el valor de dicho secreto. Cualquier persona que pueda editar el agente en el entorno podría agregar un nodo Message y devolver el valor de las variables de entorno secretas en un mensaje.

Panel de variables

En el panel Variables , puede ver todas las variables disponibles para un tema, independientemente de los nodos en los que se definan o usen.

Para abrir el panel Variables , seleccione Variables en la barra de menús del tema.

Captura de pantalla del panel Variables, con el botón Variables resaltado.

Para cada variable de tema, puede seleccionar si puede recibir su valor de otros temas, devolver su valor a otros temas o ambos. También puede seleccionar una variable para editar sus propiedades en el panel Propiedades de variable.

Panel de propiedades de variables

En el panel Propiedades de variable, puede cambiar el nombre de una variable, ver dónde lo usa el agente o convertirlo a una variable global. No se puede convertir una variable global en una variable de tema. También puede seleccionar si una variable de tema puede recibir valores de otros temas o pasar su valor a ellos.

Para abrir el panel Propiedades de variable de una variable, seleccione la variable deseada en el panel Variables. También puede abrir el panel Propiedades de variables desde cualquier nodo que use variables seleccionando la variable deseada.

Pasar variables entre temas

Al redirigir un tema a otro, puede pasar los valores de las variables del tema de origen al tema de destino y también devolver valores del tema de destino al tema de origen. Pasar variables entre temas es especialmente útil cuando un tema anterior ya recopiló información que un tema posterior necesita. Sin duda, los usuarios aprecian que no tienen que responder a las mismas preguntas más de una vez.

Recibir valores de otros temas

Cuando un tema define una variable (por ejemplo, en un nodo de pregunta), el agente formula al usuario la pregunta para completar el valor de la variable. Si el agente ya ha adquirido el valor en un tema anterior, no hay razón para volver a hacer la pregunta. En estos casos, puede establecer la variable como Recibir valores de otros temas. Cuando otro tema redirige a este, puede pasar el valor de una variable o valores literales a esta variable y omitir la pregunta. La experiencia del usuario que habla con el agente es perfecta.

En este ejemplo se usan dos temas, Greeting y Talk to Customer. Ambos temas piden el nombre del cliente. Sin embargo, si el tema Saludo se ejecuta primero, el tema Hablar con el cliente omite su pregunta. En su lugar, utiliza el valor de la variable pasada desde el tema Saludo.

Este es el flujo del tema Conversación con el cliente:

Captura de pantalla del flujo de la conversación del tema Hablar con el cliente.

Como se muestra en el panel de prueba, si este tema se desencadena primero, pregunta al usuario: "¿Qué debo llamarle?" Almacena el valor en una variable de cadena denominada customerName. La customerName variable también se establece para obtener su valor de otros temas. El tema concluye con el mensaje: "¡Espero que esté teniendo un día maravilloso, customerName!"

Este es el flujo del tema de saludo:

Captura de pantalla del flujo de la conversación del tema Saludar.

Como se muestra en el panel de prueba, si este tema se desencadena primero, pregunta al usuario: "¿Cuál es su nombre?" Almacena el valor en una variable de cadena denominada customerName. El tema envía el mensaje: "¡Encantado de conocerle, customerName!" A continuación, redirige al tema Hablar al Cliente , que envía el mensaje: "¡Espero que esté teniendo un día maravilloso, customerName!". Sin embargo, tenga en cuenta que el tema Hablar al Cliente omitió volver a solicitar el nombre del usuario. En su lugar, usó el valor de la customerName variable pasada desde el tema Greeting .

Finalmente, aquí está esa segunda conversación nuevamente, esta vez desde la perspectiva del tema Hablar al cliente:

Captura de pantalla del flujo de conversación Hablar con el cliente cuando se activa primero el tema Saludar.

Siga los pasos para configurar un tema para recibir valores de otros temas. En este escenario de ejemplo se usa el tema predefinido Greeting como tema de origen y un nuevo tema Talk to Customer como tema de destino, pero los mismos pasos funcionan para cualquier tema que debe usar un valor de un tema anterior siempre que sea posible.

Configure el destino tema

El tema de destino recibe valores de otros temas. En este ejemplo, es Hablar con el cliente.

  1. Cree un tema y asígnele el nombre "Hablar con el cliente".

  2. Agregue frases de desencadenador como "hablar conmigo", "hablar conmigo" y "chatear conmigo".

  3. Agregue un nodo Pregunta y escriba "¿Cómo le puedo llamar?" para el mensaje.

  4. En Identificar, seleccione la entidad preconstruida Nombre de la persona.

  5. Seleccione el nombre de la variable. El panel Propiedades de variables se abre.

  6. Reemplace el nombre predeterminado por customerNamey, a continuación, seleccione Recibir valores de otros temas.

    Captura de pantalla del panel

  7. Agregue un nodo Mensaje.

  8. En el cuadro de mensaje, escriba "Espero que esté teniendo un día maravilloso, ".

  9. Seleccione el icono Insertar variable ({x}) y después seleccione customerName.

  10. Seleccione el espacio después de la variable y escriba un signo de exclamación (!).

  11. Guarde el tema.

Establecer el tema de origen

El tema de origen es el tema que redirige a otro tema. Proporciona el valor y lo pasa al tema de destino. En este ejemplo, es Greeting.

  1. Vaya al tema Saludo y elimine los nodos predeterminados, excepto el nodo Desencadenador.

  2. Agregue un nodo Pregunta y escriba "¿Cómo se llama?" para el mensaje.

  3. En Identificar, seleccione la entidad preconstruida Nombre de la persona.

  4. Reemplace el nombre predeterminado por customerNameFromGreeting.

  5. Agregue un nodo Mensaje.

  6. En el cuadro de mensaje, escriba "Encantado de conocerle, ".

  7. Seleccione el icono Insertar variable ({x}) y después seleccione customerNameFromGreeting.

  8. Seleccione el espacio después de la variable y escriba un signo de exclamación (!).

  9. Agregue un nodo Redireccionamiento y seleccione el tema de destino Hablar con el cliente.

  10. Seleccione Agregar entrada y luego seleccione la variable del tema de destino al que desea pasar el valor.

    Captura de pantalla del tema Saludo con la variable customerName agregada como entrada en un nodo de redireccionamiento.

  11. Seleccione el icono > y, a continuación, seleccione la variable cuyo valor desea pasar, customerNameFromGreeting, en este ejemplo.

    El nodo de Redireccionamiento debería tener el siguiente aspecto:

    Captura de pantalla del nodo Redireccionamiento completado en el tema Saludo.

  12. Guarde el tema.

Devolver valores a temas originales

En un agente, un tema recopila información específica. Varios otros temas pueden llamarlo y esperar que devuelvan la información como una variable. La variable se convierte en parte del tema de origen y se puede usar como cualquier otra variable. Al hacer que la información que el agente obtenga disponible en todos los temas, este enfoque reduce la necesidad de variables globales.

Continuemos con el ejemplo de la sección anterior. Haga una nueva pregunta en el tema Hablar con el cliente y, a continuación, devuelva la respuesta al tema Greeting .

Configure la fuente tema para una variable devuelta

Cuando se devuelve una variable a un tema, el tema de origen es el tema que proporciona el valor para volver al tema original. En este ejemplo, el tema de origen es Hablar con el cliente.

  1. Vaya al tema de origen.

  2. Agregue un nodo Pregunta y escriba "¿En qué ciudad vive?" para el mensaje.

  3. En Identificar, seleccione la entidad preconstruida Ciudad.

  4. Seleccione la variable para abrirla en el panel Propiedades de variable. Asígnelo customerCity, y luego seleccione Restablecer valores a los temas originales.

    Captura de pantalla del tema Hablar con el cliente con la variable customerCity y sus propiedades resaltadas.

  5. Agregue un nodo Mensaje.

  6. Seleccione el icono Insertar variable ({x}) y después seleccione customerCity.

  7. Después de la variable en el cuadro de mensaje, escriba "¡En esta época del año tiene que ser una maravilla!".

  8. Guarde el tema.

Configurar el tema de destino para una variable devuelta

Cuando se devuelve una variable a un tema, el tema de destino recibe valores del tema actual. En el ejemplo siguiente, el tema de destino es Greeting.

  1. Vaya al tema de destino.

  2. La variable seleccionada en el tema de origen aparece en el nodo Redireccionamiento como una variable de salida.

    Captura de pantalla del flujo de conversación del tema Saludar con una variable devuelta en un nodo Redirigir.

  3. Guarde el tema.

Análisis de valores

El nodo Analizar valor convierte un valor de un tipo a otro. Un caso de uso común para el nodo Analizar valor es convertir JSON sin formato. Por ejemplo, un agente llama a un flujo que llama a una API. La API devuelve un resultado. Necesita una manera de analizar este resultado y devolver una o varias variables primitivas. Mediante el nodo Analizar valor , puede enviar el resultado completo de la API como una cadena, como la siguiente:

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

El nodo Analizar valor convierte la variable de cadena en una variable de tipo Record. El editor de Power Fx proporciona finalización de código de IntelliSense y sugerencias para este tipo.

Además de analizar cadenas JSON, un uso clave del nodo Analizar valor es procesar objetos no tipados en tiempo de ejecución. El caso de uso más común es cuando recibe un evento y necesita analizar el valor del evento. O podría querer analizar la propiedad System.Activity.ChannelData, que varía durante la ejecución según el canal.

Si necesita analizar información de un evento procedente de Teams, consulte la documentación para desarrolladores de Teams para encontrar un ejemplo del aspecto que podría tener el evento esperado. A continuación, puede seguir las instrucciones de esta sección utilizando el evento de ejemplo como datos de muestra.

Para agregar un nodo Analizar valor a un tema:

  1. Seleccione el icono Agregar nodo en el nodo después del cual desea analizar un valor. Seleccione Administración de variables y seleccione Analizar valor.

  2. Agregue un nodo Analizar valor y seleccione la variable que desea analizar.

    Captura de pantalla que muestra la selección de la variable a analizar.

  3. Para el tipo de datos, seleccione From Sample Data (Datos de ejemplo).

    Captura de pantalla que muestra la selección del tipo de datos para un nodo Analizar valor.

  4. Seleccione Obtener esquema desde el JSON de ejemplo, escriba el ejemplo JSON deseado en el editor que se abre y seleccione Confirmar.

    Captura de pantalla que muestra el editor donde se escriben datos JSON de ejemplo.

  5. Seleccione la variable para contener el valor analizado. Normalmente, se crea una nueva variable.

    Captura de pantalla que muestra cómo crear una variable para contener un valor analizado directamente desde el nodo Analizar valor.

    La variable de salida ahora tiene el tipo esperado: record.

    Captura de pantalla que muestra que la variable que contiene los datos analizados tiene el tipo esperado: registro.