Conceptos sobre el diseño de flujos de agente

Completado

Como ya hemos visto, cuando diseña y crea flujos de agente, las acciones que se ejecutan se basan en desencadenadores y acciones anteriores. Por ejemplo, puede crear una acción que extraiga los detalles de un archivo añadido de SharePoint que desencadenó el flujo de agente. Al crear flujos de agente, hay varios componentes que se pueden usar para hacer que su flujo sea más flexible y dinámico.

Aunque hay diferentes opciones disponibles, las siguientes tres son las capacidades utilizadas en la mayoría de los flujos de agente.

  • Valores dinámicos
  • Condiciones
  • Expresiones

Valores dinámicos

Los valores dinámicos son datos generados por los desencadenadores y las acciones de un flujo de agente. Le permiten capturar información de pasos anteriores, como respuestas de solicitudes web, y usarla en acciones posteriores. 

Cómo funcionan los valores dinámicos:

  1. Cada desencadenador y acción en un flujo de agente produce datos, por ejemplo, una acción "obtener registro" extrae todos los datos de un registro específico. Estos datos están disponibles para ser utilizados en otros pasos como contenido dinámico.
  2. En la ventana del diseñador de flujos de agente, encontrará una sección Contenido dinámico dentro de los campos de entrada de cada paso (un icono que parece un rayo). En esta sección muestra el contenido dinámico disponible de los pasos anteriores.
  3. Puede seleccionar el contenido dinámico deseado directamente desde el selector o escribir expresiones con el botón Agregar contenido dinámico.

Por ejemplo, una organización farmacéutica utiliza sensores de temperatura IoT para supervisar y controlar la temperatura de las habitaciones donde se fabrican tipos específicos de medicamentos. Si la temperatura en esas habitaciones supera un nivel específico, la organización debe recibir una alerta para poder diagnosticar el problema y tomar las medidas necesarias. Muchos dispositivos de IoT generan datos en respuestas JSON. Supongamos que un dispositivo IoT generó un error con la siguiente respuesta JSON.

{"deviceid":"nest1234","readingtype":"Temperature","reading":80,"eventtoken":"cfd5e690-ee88-4ca8-a75d-3b86ac61295c","threshold":70,"ruleoutput":"AlarmTemp","time":"2019-10-19T16:42:26.457Z"}

Use la acción "Analizar JSON" para extraer los datos necesarios y usar ese valor en una acción posterior, como se muestra en la imagen. 

Condiciones

Las condiciones son una forma de controlar el flujo de un flujo de nube en función de criterios específicos. Nos permiten introducir lógica al tomar decisiones, y ejecutan diferentes acciones en función de si una condición es verdadera o falsa. Básicamente, funcionan como instrucciones "if/then" dentro de un flujo, lo que nos permite crear automatizaciones más dinámicas y flexibles. 

Aquí hay una explicación más detallada:

  • Lógica condicional: se evalúan los criterios dados y el flujo sigue diferentes caminos en función del resultado (verdadero o falso). Si la condición es verdadera, el flujo continúa por una ruta específica; si es falso, sigue otra. 
  • Tipos de condiciones:
    • Condiciones de desencadenador: las condiciones de desencadenador determinan cuándo se inicia un flujo.
    • Condiciones de flujo: las condiciones de flujo controlan la ejecución de acciones dentro de un flujo.
  • Flexibilidad y automatización: las condiciones son cruciales para crear procesos más complejos y automatizados. Le permiten adaptar las acciones del flujo en función de diversas entradas y condiciones.

Por ejemplo, supongamos que desea enviar un correo electrónico solo si una publicación en X con una palabra clave específica se ha vuelto a publicar 100 veces. Configuraría una condición para comprobar el número de reenvíos y, luego, decidiría si envía el correo electrónico en función de eso.

En la imagen, la condición tiene dos partes.

  1. Busca un tweet que incluya la palabra Copilot.
  2. Espera a que el recuento de retweets (cuando se vuelve a publicar algo) supere los 100.

Al añadir varias condiciones "Y" a la expresión, puede crear condiciones más complejas.

Para obtener más información sobre las condiciones y obtener orientación detallada, consulte Agregar una condición a un flujo.

Expresiones

Las expresiones le permiten manejar, convertir o evaluar datos y realizar lógica compleja dentro de sus flujos. Se pueden utilizar para procesar datos, tomar decisiones y establecer valores dinámicamente en los pasos de un flujo de trabajo. 

Aspectos esenciales en las expresiones.

  • Funciones: las funciones llevan a cabo diversas acciones, como manipular cadenas, operaciones de fecha y hora, evaluaciones lógicas y cálculos matemáticos.
  • Contenido dinámico: como ya hemos visto, puede incluir contenido dinámico de acciones o desencadenadores anteriores en sus expresiones.
  • Copilot: tal y como ocurre al crear un flujo de agente, Copilot se puede usar para editar expresiones en flujos de agente expresando sus requisitos en lenguaje natural.

Puede añadir una expresión seleccionando el icono de PowerFx en el campo de elemento de acción al que desea agregar la expresión. Veamos un escenario de ejemplo que compara las cifras de ventas de dos productos de una lista de SharePoint y envía un correo electrónico si las ventas del producto A son mayores que las del producto B.

Pasos para crear el flujo

  1. Desencadenador: comience con un desencadenador en la lista de SharePoint, como "Cuando se crea o modifica un elemento".
  2. Obtener elementos: agregue acciones para obtener las cifras de ventas del producto A y el producto B de la lista de SharePoint.
  3. Condición: añada una condición para comparar las cifras de ventas.

Cómo añadir la expresión

  1. Agregar condición: en la condición, utiliza una expresión para comparar las cifras de ventas del producto A y el producto B.
  2. Expresión: seleccione Editar en modo avanzado en la tarjeta de condición. Use la siguiente expresión:
  3. Aquí, triggerOutputs()?['body/ProductASales'] obtiene dinámicamente la cifra de ventas del producto A y triggerOutputs()?['body/ProductBSales'] obtiene la cifra de ventas del producto B.
  4. Acciones verdadero/falso: si la condición es verdadera (las ventas del producto A son mayores que las del producto B), añada una acción para enviar un correo electrónico. Si es falso, puede añadir otra acción o dejarla vacía.

Otros ejemplos de uso de expresiones:

  • Manipulación de cadenas: uso de las funciones replace(), substring() o split() para manipular cadenas.
  • Operaciones de fecha y hora: uso de utcnow(), adddays() o formatDateTime() para trabajar con fechas y horas.
  • Evaluación lógica: uso de equals(), less() u or() para comparar valores y tomar decisiones.
  • Cálculos matemáticos: uso de add(), sub() o mul() para realizar cálculos adicionales.

Al usar expresiones, puede crear flujos de nube más eficaces y flexibles que puedan gestionar tareas complejas de procesamiento y automatización de datos.