Aprender cómo crear flujos listos para el agente
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Crear un flujo que se pueda asignar a una acción de agente.
- Escribir nombres y descripciones útiles para los recursos del flujo de una acción de agente.
- Crear variables adecuadas en un flujo de acción de agente.
- Limitar los datos a los que su agente y sus flujos de acción de agente pueden acceder.
Trailcast
Si quiere escuchar una grabación de audio de este módulo, use el reproductor a continuación. Cuando haya terminado de escuchar esta grabación, recuerde volver a cada unidad, consultar los recursos y completar las evaluaciones asociadas.
Por qué debería usar flujos con los agentes
Agentforce es una herramienta sumamente potente para sus usuarios y clientes, y gran parte de esa potencia proviene de los flujos. Si bien los agentes pueden acceder a los datos de Salesforce, no pueden modificar esos datos. Si quiere que un agente cree, actualice o elimine registros, debe definir una acción de agente que cambie esos datos. Las acciones de agente pueden llamar a clases de Apex, hacer llamadas de API, ejecutar flujos o hacer referencia a una plantilla de solicitud, pero los flujos son el único método que puede alterar los datos de su Salesforce org con poco código.
Los flujos también ofrecen un nivel adicional de precisión, ya que se aseguran de que el agente esté trabajando con datos específicos. Los agentes pueden leer todos los datos de Salesforce que tengan permitido leer y usar todos los datos que consideren pertinentes. Para limitar los datos que el agente usa y aumentar en gran medida la precisión del agente, cree un flujo que extraiga datos precisos y específicos para alimentar al agente. Luego, indique al agente que use solo los datos que proporciona el flujo.
Entonces, ¿qué tiene que hacer para crear una acción de agente basada en flujo?
Crear un flujo iniciado automáticamente (sin desencadenador)
Las acciones de agente solo son compatibles con flujos de tipo Flujo iniciado automáticamente (sin desencadenador). Si bien otros tipos de flujos, como los flujos desencadenados por registro, en teoría califican como iniciados de forma automática, el flujo asignado debe ser del tipo Sin desencadenador específicamente. Si quiere usar un flujo existente en una acción de agente y no es de este tipo, debe volver a crear el flujo con el tipo Flujo iniciado automáticamente (Sin desencadenador).
Sea muy específico
La tecnología de IA depende en gran medida de las palabras. Para obtener buenos resultados cuando le pide a la IA que genere algún texto, debe brindar instrucciones detalladas, y debe ser un texto fuente detallado y preciso. Lo mismo aplica para todos los flujos que quiera ejecutar como acción de agente.
Los agentes usan los nombres de variable del flujo así como los datos con los que trabaja el flujo para entender lo que hace el flujo. Así que es importante tener nombres descriptivos precisos para las variables de entrada y salida del flujo. Evite nombres de variable como “foo”. En su lugar, use nombres de variable descriptivos como “Account_ID”.
Si bien ya se considera una mejor práctica agregar descripciones a todo en un flujo, es aún más importante cuando el flujo lo ejecuta una acción de agente. Los agentes usan la descripción del flujo y las descripciones de sus variables. Todo este texto ayuda a que el agente entienda las funciones del flujo y los datos con los que trabaja el flujo.
Asegúrese de escribir buenos nombres y descripciones para las variables de entrada y salida del flujo. Si no tiene un nombre y una descripción sólidos, el agente no puede determinar con seguridad qué hacer con una variable y sus datos.
Estos son algunos ejemplos de buenas descripciones.
Tipo de texto |
Descripción menos eficaz |
Descripción más eficaz |
|---|---|---|
Descripción de flujo |
Actualiza un número de teléfono. |
Actualiza el número de teléfono del usuario asociado con su registro de contacto. Si no existe ningún contacto coincidente, crea un nuevo registro de contacto. |
Nombre de la variable de salida del flujo |
OrderColl |
Sorted_Cupcake_Orders_Collection |
Descripción de la variable de salida del flujo |
Una recopilación de pedidos de cupcakes. |
Una recopilación de los pedidos de cupcakes del cliente que coincide con la dirección de email que brindó el cliente y organizada por más reciente. |
Siempre use variables de entrada y salida
Las acciones de agente basadas en flujos siempre requieren al menos una variable de entrada y al menos una de salida en el flujo. Aunque estas variables no fueran obligatorias, se considera una mejor práctica usar las variables de entrada y salida. Sus flujos son más precisos cuando proporciona más contexto, y sus agentes se desempeñan mejor cuando sus flujos envían los datos correctos.
Aunque no se le ocurra ningún dato para transmitir al agente, siempre hay algo que tiene que tener en cuenta para una variable de salida: los mensajes de error. Los agentes esperan algún tipo de resultado de un flujo, aunque ese resultado sea tan solo el mensaje YOUR FLOW FINISHED (FINALIZÓ SU FLUJO) del flujo. No obstante, los flujos pueden fallar y devolver errores inesperados. Sin datos del flujo, es probable que su agente ofrezca una disculpa y envíe un mensaje general, como “Algo salió mal”. O bien puede ofrecer otros datos al cliente, sin ningún contexto, simplemente porque quiere ofrecer algo.
Para evitar esto (y también para cumplir con el requisito de la variable de salida), cree una variable de salida diseñada para ofrecer mensajes de error más detallados y útiles. Use las rutas de falla y elementos de asignación en su flujo para establecer el mensaje de error en una variable de salida. Luego, asegúrese de indicarle a su agente cómo y cuándo usar esa variable de salida. Le mostraremos cómo configurar esto en las unidades siguientes.
No tenga miedo de las variables de registro
Las variables de registro no son solo para trabajar en los flujos. Los agentes también pueden recibir variables de registro. Si necesita enviar a su agente varios campos desde un registro, o desde varios registros, no cree múltiples variables. En su lugar, cree una variable de registro o una variable de recopilación de registros para esos datos, de modo que estén disponibles para los resultados. Supongamos que su agente solicita 4 campos de un caso abierto de un cliente. En lugar de usar cuatro variables independientes, devuelva esos cuatro campos de caso en una variable de registro. Y si quiere devolver varios casos, puede hacerlo en una sola variable de recopilación de registros.
Luego, su agente recibe todos esos datos y les da uso. Y si las instrucciones del agente le indican que brinde los datos de registro al cliente, primero el agente organiza esos datos en un formato útil y fácil de leer.
No permita que su flujo sature de datos al agente
Cuando un agente recibe datos de un flujo, suele creer que esos datos deberían usarse de alguna forma. Puede usar los datos para tomar decisiones o mostrar los datos al cliente innecesariamente. Hasta podría mostrarle al cliente datos que no debería ver. Por lo tanto, nunca brinde al agente datos que no quiere que use.
Por desgracia, esta regla contradice la configuración predeterminada Get Records (Obtener registros) de sus flujos. La opción predeterminada para el parámetro How to Store Record Data (Cómo almacenar los datos de registro) es “Automatically store all fields” (Almacenar automáticamente todos los campos), pero puede ser que los agentes no necesiten todos esos campos. En su lugar, seleccione el parámetro de configuración “Choose fields and assign variables” (Elegir campos y asignar variables) con una variable de registro independiente y seleccione solo los campos que necesita el agente.

Otorgar al agente los permisos correctos
Los agentes que tienen contacto con empleados usan los permisos del usuario que interactúa con el agente, pero los agentes externos usan los permisos de un usuario dedicado individual. Debido a que los agentes pueden acceder a todos sus datos de Salesforce si tienen los permisos correctos y a que es arriesgado que los agentes tengan acceso a demasiados datos, es importante asegurarse de que cada usuario dedicado del agente tenga solo los permisos necesarios. Resista el impulso de otorgar acceso a todo lo que no sea realmente necesario.
Para controlar los permisos de un agente, empiece por buscar al Usuario agente que está asignado a ese agente. Puede ver y cambiar este usuario en la página de detalles del agente.

Luego de identificar al usuario agente, brinde a este usuario los conjuntos de permisos, perfiles y funciones que necesita para ejecutar sus flujos y cumplir con las solicitudes de sus clientes.
Crear muchos flujos pequeños, no uno grande
Los agentes se benefician del diseño modular, es decir, un montón de acciones pequeñas que completan una tarea cada una. Estas acciones se pueden combinar de varias formas, y varios agentes pueden reutilizarlas.
Entonces, ¿cómo sabe dónde separar un flujo de otro? Piense en cómo asocia los flujos con un agente: crea una acción de agente para cada flujo. “Acción” es la palabra clave aquí. Cuando se le pide a un agente que realice una acción, esa misma acción suele definir los límites del flujo. Por ejemplo, si a un agente se le pide que cambie la etapa de una oportunidad, se trata de una acción que realiza un flujo. Si al agente también se le pide que cambie la fecha de cierre sin cambiar la etapa, entonces esa es una acción independiente que realiza otro flujo. Por otro lado, no necesita una acción y un flujo independientes para cada valor potencial del campo Stage (Etapa), porque el flujo puede usar el elemento Update Records (Actualizar registros) para establecer el campo a cualquier valor solicitado.
No obstante, si la acción solicitada implica actualizar los campos Stage (Etapa) y Close Date (Fecha de cierre) al mismo tiempo, podría hacerlo con un flujo de acción de agente, ya que se trata de una solicitud.
Los puntos de interacción también son otra buena manera de establecer los límites de un flujo. Los agentes no pueden solicitar a un cliente información a mitad de un flujo, así que si su agente necesita brindar información o preguntar qué sigue, se podría considerar como un buen límite. Imagínese un tema de agente sobre la gestión de oportunidades en el que el agente tuviera que realizar varias tareas.
- Pregúntele al cliente qué oportunidad debería usar.
- Obtenga datos sobre esa oportunidad.
- Con los datos correctos, pregunte al cliente cómo puede ayudarlo el agente.
- Realice la acción que solicitó el cliente.
En esta situación, un flujo puede manejar los pasos 1 y 2. El agente se encarga del paso 3. El paso 4 debería implicar uno o más flujos independientes, según las otras tareas que puede hacer el agente con el registro de oportunidad del cliente.
Otras consideraciones
Estas son algunas consideraciones para que tenga en cuenta cuando trabaja con flujos en los agentes.
Evitar el envío de cadenas de texto largas a una variable
Las variables de texto pueden contener solo 255 caracteres, y si se supera ese límite, los caracteres se truncan. Tenga cuidado cuando asigna longitudes de texto desconocidas a una variable de entrada del tipo de datos de texto. Para enviar un texto con más de 255 caracteres a un flujo, trabaje con un desarrollador para crear una variable definida por Apex.
Procurar que el texto sea lo más claro posible
Haga lo posible para ayudar a que su agente entienda su contexto y sus instrucciones. Use oraciones completas con la gramática, ortografía y puntuación correctas. Si ingresa texto en una ubicación donde no puede usar espacios, por ejemplo, el nombre de API de una variable, agregue guiones bajos entre palabras para mayor claridad. Por ejemplo, use Account_ING_Number en lugar de AccountINGNumber.
Evitar tipos de datos de salida no compatibles
Estos tipos de datos complejos no se pueden devolver al agente a través de variables de salida.
- Divisa
- Lista de selección
- Lista de selección múltiple
- Definido por Apex
Si su flujo se configura para pasar uno de estos tipos de datos a un agente, el agente ya no puede manejar otras variables de salida.
Volver a crear una acción de agente si cambia las variables de su flujo
Cuando crea una acción de agente desde un flujo, la acción captura una instantánea por única vez de las variables de entrada y salida del flujo. Esa instantánea es estática. No se actualiza si cambia las variables del flujo. Para evitar problemas cuando el agente ejecuta el flujo con variables desactualizadas, debe eliminar la acción de agente, crear una acción de agente nueva y asignar el flujo a la acción de agente.
