Construir un flujo de agente

Completado

Los flujos de agente son herramientas en Microsoft Copilot Studio para ampliar las capacidades de un agente mediante flujos de trabajo de Power Automate personalizados. En esta unidad, aprenderá a crear un flujo para responder a los usuarios que cancelan el pedido de una máquina actualizando un registro en una tabla de Dataverse. Configurará entradas, filtrará registros específicos y utilizará expresiones dinámicas para modificar datos según las indicaciones del usuario. Al final de esta unidad, comprenderá cómo los flujos de agente sirven como potentes herramientas que unen las experiencias conversacionales con la lógica de backend y la manipulación de datos.

Construir un flujo de agente

  1. Desde la página Herramientas del agente, seleccione el botón + Agregar una herramienta.

  2. Seleccione + Nueva herramienta en la ventana Agregar herramienta que se abrirá a fin de añadir una nueva herramienta.

  3. Seleccione Flujo de agente en la siguiente pantalla para crear un nuevo flujo de agente.

  4. Se ha creado un nuevo flujo de agente que permitirá a Copilot tomar medidas en nombre de su cliente o de su personal, como Cancelar un pedido. Verá que ya hay dos elementos en la pantalla: uno que inicia el proceso y recibe entradas de Copilot Studio y otro final que envía una respuesta a Copilot Studio tras la ejecución de las acciones. Para comenzar, añadirá una lista de entradas que se enviarán al flujo de agente. Seleccione la tarjeta desencadenadora Cuando un agente llama al flujo y, en el panel que se abrirá a la izquierda, seleccione la opción + Agregar una entrada para añadir una variable de entrada.

    La entrada que queremos usar es el campo Id. de pedido de la tabla Pedidos de máquinas. Este campo es un tipo autonumeración; aunque el tipo de datos para este campo es texto, usaremos la entrada Número para nuestro flujo de agente. Esto se debe a que nuestro Id. de pedido solo contiene caracteres numéricos, por lo que en nuestra entrada de flujo de agente, haremos que agente busque un número para analizar a partir de las respuestas del usuario.

  5. En el panel Cuando un agente llama al flujo, seleccione la opción Número en el menú Elegir el tipo de entrada de usuario.

  6. Cambie el nombre de la entrada a la izquierda para que sea Id. de pedido. Esto le indica al agente que espera un número como entrada y que su nombre es Id. de pedido.

  7. Ahora que tiene una variable de entrada establecida, debe agregar una acción que pueda encontrar el registro que coincida con el Id. de pedido proporcionado en la tabla Pedidos de máquinas.

  8. Seleccione el símbolo + entre la tarjeta desencadenadora y la acción Responder al agente para añadir una nueva acción.

  9. En el panel Agregar una acción que se abrirá a la izquierda, busque List rows Dataverse y seleccione la acción Enumerar filas en la sección Microsoft Dataverse.

    Esta acción examina una tabla de Dataverse y le permite modificar o extraer datos de registros individuales de esa tabla.

    • Si se abre una pantalla Crear conexión, ponga un Nombre de conexión, elija Oauth como Tipo de autenticación y seleccione Iniciar sesión.

    • Es posible que deba permitir ventanas emergentes para que Copilot Studio pueda crear esta conexión.

    • A continuación, seleccione la cuenta Microsoft que ha estado usando a lo largo del curso en la pantalla del selector de cuentas y elija Permitir acceso.

  10. Establezca el campo Table name en nuestra tabla Pedidos de máquinas; esto le indica a la acción que queremos que mire los registros de la tabla Pedidos de máquinas.

    En el siguiente paso, agregará una expresión de filtro que indique a la acción que solo debe extraer el registro que coincida con nuestro Id. de pedido proporcionado.

  11. Seleccione el campo Filtrar filas e introduzca el texto ppcat_orderid eq ''. Esto le indica a la acción que solo queremos filas que sean iguales a lo que hay entre las comillas simples.

    ppcat_orderid es el nombre lógico de la columna Order ID y eq es la expresión de consulta de filtro para indicar es igual a. Puede encontrar el nombre lógico de cada columna yendo a la sección de columnas de una tabla de Dataverse. La razón por la que tenemos comillas simples es para indicar que el contenido dinámico que proporcionamos es una cadena de texto.

  12. Ahora, coloque la posición del cursor entre las comillas simples y seleccione el icono de rayo a la derecha para insertar contenido dinámico entre las comillas simples.

  13. En el menú de contenido dinámico que se abrirá, elija el contenido dinámico Order ID en Cuando un agente llama al flujo. Asegúrese de que el contenido dinámico esté entre comillas simples.

    Ahora, la acción Enumerar filas está completa y lista para extraer el registro que coincida con el Id. de pedido proporcionado. En el siguiente paso, añadirá una acción Update a row Dataverse para establecer el campo Order Status del registro coincidente en Cancelado.

  14. Seleccione el símbolo + debajo de la acción Enumerar filas para insertar una nueva acción.

  15. En el panel Agregar una acción que se abrirá a la izquierda, busque Update a row Dataverse y seleccione la acción Actualizar una fila en Microsoft Dataverse.

  16. En el panel Actualizar una fila que se abrirá a la izquierda, seleccione la tabla Pedidos de máquinas para indicar que la fila actualizada estará en la tabla Pedidos de máquinas. Elija la conexión creada anteriormente si se le solicita.

    Ahora que tenemos la tabla Pedidos de máquinas seleccionada, debemos decirle a la acción qué registro está actualizando. Normalmente, cuando observa los resultados de una acción Enumerar filas, se crea un bucle para que pueda interactuar con cada registro coincidente. Pero en nuestro caso, solo queremos extraer un registro debido a que nuestra columna Id. de pedido son valores únicos; por ejemplo, cada pedido de máquina tiene su propio Id. de pedido único que ningún otro pedido de máquina puede tener.

    En el siguiente paso, usaremos una expresión Power Fx para indicarle a la acción "Actualizar una fila" que use solo el primer registro obtenido de la acción "Enumerar filas".

  17. Seleccione el campo Row ID y seleccione el símbolo fx a la derecha para abrir el editor de expresiones de Power Fx.

  18. En la ventana del editor de Power Fx, copie y pegue la siguiente expresión: first(outputs('List_rows')?['body/value'])?['ppcat_machineorderid']; luego, seleccione el botón Agregar para añadirlo a su campo Row ID.

    Esta expresión busca el primer registro obtenido de la acción Enumerar filas y usa el Machine Id. de pedido de ese registro como Row ID. Un Row ID es un identificador único global (GUID) que se adjunta a todos los registros de una tabla.

    Ahora, en el campo Row ID, debería tener un símbolo fx rosa con first(...) al lado. Al seleccionar este cuadro rosa, se debería abrir el editor y confirmar la expresión que ha añadido.

  19. Ahora que tenemos seleccionado el registro que queremos actualizar, debemos indicar qué campo nos gustaría actualizar. Seleccione el botón Mostrar todo en la sección Parámetros avanzados de la acción "Actualizar una fila".

  20. Seleccione el campo Order Status y configúrelo como Cancelado. Esto actualiza la fila del Id. de pedido proporcionado al Order Status "Cancelado" cuando un usuario desencadena este flujo de agente (pidiéndole que cancele un pedido).

  21. Ahora, el flujo de agente ya está listo para la publicación. En la esquina superior derecha, seleccione el botón Publicar para finalizar el flujo.

  22. Después de que se publique el flujo, aparecerá una ventana confirmando que todo ha salido bien. Seleccione el botón azul Volver al agente para salir del diseñador de flujos y volver a la página Herramientas de su agente.

  23. Después de unos segundos, el flujo de agente aparecerá como Sin título en la página Herramientas. Seleccione este flujo para abrir sus detalles.

  24. En la sección Detalles, ponga el Nombre en Order Cancellation Flow.

  25. Póngale al flujo una Descripción, como This flow sets a Machine Order record to canceled when a user asks to cancel an order.

  26. Ahora, baje hasta la sección Finalización. Seleccione el menú desplegable en Después de la ejecución y elija la opción Enviar respuesta específica. En el campo Mensaje para mostrar, añada el siguiente texto: Your order has been canceled, thank you for choosing Contoso Coffee!

  27. Seleccione el botón Guardar en la esquina superior derecha de los detalles del flujo para enviar estos cambios. Lo último que tiene que hacer ahora es añadir la herramienta a las instrucciones de su agente.

  28. Después de guardar, vaya a la página Descripción general del agente y añada la herramienta a sus instrucciones. Puede hacerlo insertando una barra diagonal, seleccionando el Order Cancellation Flow y proporcionando una descripción de la instrucción, como When a user wants to cancel an order, use Order Cancellation Flow.

    Nota

    Para añadir una herramienta como contenido dinámico en las instrucciones, introduzca una barra diagonal / a fin de abrir la ventana de contenido dinámico y seleccione Order Cancellation Flow.

Probar el flujo

Ahora que su agente tiene acceso al flujo de agente y sabe cómo usarlo, puede probarlo con los datos de muestra que creó anteriormente cuando simuló hacer pedidos de máquinas en la aplicación Machine Ordering. Esto emula el proceso por el que pasarían los usuarios finales: una vez que solicitan una máquina, se crea un registro para ese pedido con un Id. de pedido asociado.

Primero, deberá obtener el Id. de pedido de uno de los registros de la tabla Pedidos de máquinas.

  1. Vuelva a la pestaña del explorador que tiene abierta la solución Agents in a Day. Si necesita volver, seleccione los puntos suspensivos del menú de navegación izquierdo en Copilot Studio y seleccione Soluciones en la parte superior.

  2. Con la solución Agents in a Day abierta, navegue hasta la tabla Pedidos de máquinas para ver los registros disponibles para usted.

  3. Para ver las columnas Id. de pedido y Order Status en la vista Datos y columnas de Pedido de máquinas, es posible que tenga que añadirlas. Para ello, seleccione el desplegable más v de la derecha y las columnas Id. de pedido y Order Status en el menú Mostrar columna existente; a continuación, seleccione Guardar.

  4. Ahora, desplácese hacia la derecha en la tabla para ver los Id. de pedido. Elija uno de los Id. de pedido que usará para las pruebas.

  5. Vuelva a la pestaña del navegador con el agente abierto en Copilot Studio. En el panel de prueba de la derecha, envíe un mensaje solicitando cancelar un pedido, como I'd like to cancel a machine order.

  6. Cuando el agente solicite el Id. de pedido, proporcione el número de Id. de pedido que le gustaría probar.

  7. Debería recibir el mensaje de éxito que proporcionó en los detalles de finalización del flujo. El mapa de actividad también mostrará el flujo completo con la entrada del Id. de pedido que ha proporcionado.

  8. Vuelva a la pestaña con la tabla Pedidos de máquinas abierta en la solución Agents in a Day. Ahora, el registro con el Id. de pedido que le ha proporcionado al agente debería tener un estado de pedido Cancelado. Es posible que deba actualizar la página para ver los cambios actualizados.

Los flujos de agente aportan automatización y flexibilidad a Copilot Studio, ya que permiten que el agente llame a la lógica externa a través de Power Automate. En esta unidad, ha creado un flujo de trabajo de cancelación que utiliza un Id. de pedido proporcionado por el usuario para localizar y actualizar un registro en la tabla Pedidos de máquinas. Ha aprendido a pasar parámetros de entrada, filtrar registros, aplicar expresiones de Power Fx y definir respuestas personalizadas. Ahora que el agente está equipado con esta herramienta, los usuarios pueden interactuar con él conversacionalmente mientras desencadenan sofisticadas operaciones de datos en segundo plano.

Ya ha adquirido una sólida comprensión de las herramientas y de su uso en Copilot Studio; en el siguiente módulo, le daremos funcionalidad autónoma al Contoso Support Agent. Los agentes autónomos utilizan desencadenadores que escuchan eventos externos para ejecutar herramientas definidas.