Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

Defina múltiples rutas en un flujo

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Interpretar los requisitos empresariales y visualizarlos en un diagrama de flujo del proceso.
  • Crear un flujo para implementar el proceso de requisitos empresariales.
  • Utilizar la lógica de ramificación para escoger una de las múltiples rutas de un flujo.
Nota

Nota

¿Su idioma de aprendizaje es español? Comience el reto en un Trailhead Playground en español y utilice las traducciones proporcionadas entre paréntesis para navegar. Copie y pegue solo los valores en inglés, ya que las validaciones del reto se basan en los datos en inglés. Si no aprueba el reto en su organización en español, le recomendamos que (1) cambie la configuración regional a Estados Unidos, (2) cambie el idioma a inglés, siga las instrucciones descritas aquí y, a continuación, (3) vuelva a hacer clic en el botón Check Challenge (Comprobar el reto).

Consulte la insignia Trailhead en su idioma para obtener más información sobre cómo aprovechar la experiencia de Trailhead en otros idiomas.

Nota

Esta insignia es un paso más en el proceso de dominar Flow Builder. De principio a fin, la ruta Crear flujos con Flow Builder lo guía por todos los conceptos sobre Flow Builder. Siga esta secuencia recomendada de insignias para desarrollar capacidades sólidas de automatización de procesos y convertirse en experto de Flow Builder.

Antes de empezar

En esta insignia se presupone que usted sabe cómo crear un flujo con variables, entradas y elementos de datos, como Get Records (Obtener registros). Si no sabe qué son estos conceptos o necesita refrescar su conocimiento sobre ellos, consulte las insignias Conceptos básicos de Flow Builder y Datos y acciones en flujos.

Cuando se ejecuta su flujo, se mueve como un tren, recorriendo el camino hasta el final y haciendo que pasen cosas en cada una de las paradas. Pero los trenes no siempre recorren la misma ruta. Los vías del tren se dividen, se juntan y giran para llegar a donde necesitan ir. Flow Builder le permite crear automatizaciones que hacen esto mismo, con rutas que se bifurcan y se fusionan según lo determine.

Flo Smith conduciendo una locomotora de vapor por una vía que va en múltiples direcciones

El poder del SI

Algunos casos de uso de automatización requieren que automatice de diferentes maneras según la situación. Veamos un ejemplo.

Flo Smith es una administradora de rango superior de Salesforce y analista de negocios de Pyroclastic. En este módulo, usted es un administrador de Salesforce en el equipo de Flo y le brinda ayuda para automatizar algunos procesos empresariales de Pyroclastic. 

La tarea que le ha puesto hoy Flo es crear una automatización que, de forma automática, establezca la prioridad adecuada cada vez que se cree un caso de asistencia. El valor de la prioridad depende del tipo de problema y la influencia del que solicita la asistencia. Flo comienza revisando los requisitos empresariales.

  1. SI Tipo = Fuera de servicio: prioridad = Gravedad 0.
  2. SI Tipo = Utilidad y el contacto que envió el caso es VIP: prioridad = Gravedad 1.
  3. SI Tipo = Utilidad y el contacto que envió el caso no es VIP: prioridad = Gravedad 2.
  4. De lo contrario (si no), prioridad = Gravedad 3.

Observe que todas las filas, excepto la última, contienen SI. La última fila actúa como un valor por defecto para los casos que no cumplen con ninguno de los tres requisitos anteriores.

Nota

Organizando las filas de esta manera, Flo ha creado lo que los desarrolladores llaman reglas condicionales. SI algo es verdadero, ENTONCES se realiza la acción; SI NO, se comprueba SI otra cosa es verdadera. Ese SI tiene mucho poder en el flujo.

A continuación, Flo y usted debéis crear un diagrama de flujo para visualizar la automatización que establecerá la prioridad de los casos. Esto lo puede hacer de cualquier forma que le funcione: desde dibujarlo en un papel hasta utilizar un herramienta de diseño o un programa de diagramas de flujo. Su objetivo es transformar los requisitos que se muestran en texto a un modelo visual de la automatización que desea implementar.

Veamos el diagrama de flujo. Tiene cuatro requisitos empresariales.

Un diagrama de flujo correspondiente a los requisitos anteriores. El diagrama tiene 3 preguntas (rombos) y 4 resultados que representan de la gravedad 0 a la gravedad 3.

Cada requisito empresarial incluye una ruta a un cuadro de gravedad cuando se cumple el requisito, la ruta Yes (Sí). En Flow Builder, se denominan Outcomes (Salidas), y cada una de esas salidas tiene su propia ruta en el lienzo.

Cada salida (excepto la última) tiene condiciones que se deben cumplir. En Flow Builder, se denominan Condition Requirements (Requisitos de condición).

El diagrama de flujo del elemento Decision (Decisión) con cuatro salidas y tres rombos, que corresponden a los requisitos 0, 1, 2 y 3 definidos anteriormente.

La última salida es la opción por defecto. No tiene condiciones. El flujo elige la salida por defecto cuando no se cumple ninguna de las anteriores condiciones.

Para crear este tipo de lógica de ramificación en un flujo, se utiliza un elemento Decision (Decisión).

El elemento Decision (Decisión)

El elemento Decision (Decisión) le permite crear múltiples caminos. Crear un elemento Decision (Decisión) basado en un diagrama de flujo tiene dos pasos.

  1. Crear una salida para cada ruta Yes (Sí) en el diagrama. (La última ruta No la gestiona la salida por defecto). Las salidas se muestran por Outcome Order (Orden de salida).
  2. Agregue requisitos de condición a cada salida, excepto a la salida por defecto. Los requisitos de condición para cada salida provienen de su correspondiente rombo en el diagrama de flujo.

El elemento Decision (Decisión) incluye salidas y requisitos de condición correspondientes a los pasos anteriores.

Las rutas del elemento Decision (Decisión) representan las salidas.

El lienzo de Flow Builder, mostrando un elemento Decision (Decisión) que se divide en cuatro rutas que representan de la gravedad 0 a la gravedad 3.

Cuando el flujo llega a un elemento de decisión, evalúa la primera salida. Si cumple sus condiciones, el flujo elige esa salida y continúa ese camino. Si no, el flujo sigue a la siguiente salida hasta que encuentre una en la que cumpla los requisitos de condición. Si no cumple ninguno de los requisitos de condición de las salidas, el flujo sigue la ruta hasta la salida por defecto. Cuando las rutas separadas se juntan, el flujo vuelve a esa ruta única.

¿Listo para ponerse manos a la obra con Flow Builder?

Inicie su Trailhead Playground ahora para seguirnos y probar los pasos de este módulo. Para abrir su Trailhead Playground, desplácese hasta el reto práctico y haga clic en Launch (Iniciar). También se utiliza el Playground cuando es el momento de completar los retos prácticos.

Crear un elemento Decision (Decisión)

Vamos a crear un flujo para automatizar este proceso empresarial. Pero antes agregue estos valores requeridos de la lista de selección a los campos correspondientes. Para obtener más información sobre cómo añadir valores de la lista de selección, consulte la unidad Gestionar los valores de su lista de selección en la insignia Administración de listas de selección.

  1. En el objeto Case (Caso), en el campo Priority (Prioridad), agregue estos valores: Severity 0 (Gravedad 0), Severity 1 (Gravedad 1), Gravedad 2 (Severity 2), Gravedad 3 (Severity 3)
  2. En el objeto Caso (Caso), en el campo Type (Tipo), agregue estos valores: Downtime (Fuera de servicio), Usability (Utilidad)

Crear un elemento Decision (Decisión) y definir las salidas

Siga estos pasos para recrear el proceso del diagrama de flujo como un flujo, utilizando un elemento Decision (Decisión).

  1. Cree un flujo desencadenado por un registro:
    • En Object (Objeto), seleccione Case (Caso).
    • Acepte la configuración desencadenante y las condiciones de entrada predeterminadas.
    • En Optimize the Flow for (Optimizar el flujo para), seleccione Fast Field Updates (Actualizaciones rápidas de campo).
      Seleccione esta opción cuando lo único que quiera hacer sea actualizar el registro desencadenante. Consulte la insignia Flujos desencadenados por registro para más información sobre actualizaciones rápidas de campo.
  1. Agregar un elemento Decision (Decisión) al flujo:
    • En el lienzo, haga clic en Agregar elemento.
    • Seleccione Decision (Decisión).
    • En Label (Etiqueta), introduzca Check Case Details (Comprobar los detalles del caso).
  1. Defina las salidas:
    • En OUTCOME ORDER (Orden de salida), deje seleccionada la opción New Outcome (Nueva salida).
    • En OUTCOME DETAILS (Detalles de salida), en Label (Etiqueta), introduzca Severity 0 (Gravedad 0).
    • Junto a OUTCOME ORDER (Orden de salida), haga clic en New Outcome (Nueva salida) para crear una nueva salida.
    • Etiquete la segunda salida con Severity 1 (Gravedad 1).
    • Cree otra salida y etiquétela con Severity 2 (Gravedad 2).
    • En OUTCOME ORDER (Orden de salida), seleccione Default Outcome (Salida por defecto).
    • Cambie su etiqueta por Severity 3 (Default) (Gravedad 3 [Por defecto]).

Agregar requisitos de condición a las salidas

  1. Defina los requisitos de condición para la salida Severity 0 (Gravedad 0).
    • En OUTCOME ORDER (Orden de salida), seleccione Severity 0 (Gravedad 0).
    • En OUTCOME DETAILS (Detalles de salida), para Resource (Recursos), haga clic en Triggering Case (Caso desencadenante) y seleccione Case Type (Tipo de caso).
    • Mantenga Equals (Es igual a) como Operator (Operador).
    • En Value (Valor), seleccione Downtime (Fuera de servicio).
  1. Defina los requisitos de condición para la salida Severity 1 (Gravedad 1).
    • Introduzca el primer requisito de condición:
      • Resource (Recurso): Triggering Case (Caso desencadenante)> Case Type (Tipo de caso)
      • Operator (Operador): Es igual a
      • Value (Valor): Usability (Utilidad)
    • Haga clic en Add Condition (Añadir condición).
    • Introduzca el segundo requisito de condición:
      • Resource (Recurso): Triggering Case (Caso desencadenante)> Contact ID (Id. de contacto)> Contact Description (Descripción de contacto)
      • Operator (Operador): Contains (Contiene)
      • Value (Valor): VIP
  1. Defina los requisitos de condición para la salida Severity 2 (Gravedad 2).
    • Resource (Recurso): Triggering Case (Caso desencadenante) > Case Type (Tipo de caso)
    • Operator (Operador): Es igual a
    • Value (Valor): Usability (Utilidad)
      A pesar de que el tercer rombo de nuestro diagrama especifique que nuestro contacto no debe ser VIP, no necesitamos comprobar ese requisito para Severity 2 (Gravedad 2). Los requisitos de condición se evalúan en orden, por lo que el elemento Decision (Decisión) no verifica esta salida a menos que el contacto no sea VIP.

Su elemento Decision (Decisión) debería tener un aspecto similar a este:El panel lateral de Decision (Decisión) con cuatro salidas correspondientes a los requisitos: Gravedad 0, 1, 2 y 3.

Haga clic en Cerrar para cerrar el panel lateral.

Su diagrama de flujo tiene cuatro posibles salidas, por lo que el elemento Decision (Decisión) tiene cuatro salidas. Esas cuatro salidas crean cuatro posibles rutas que el flujo puede tomar, cada una con el nombre correspondiente a su ruta. Así es como se muestra en el lienzo.

El lienzo de Flow Builder, mostrando el elemento Decision (Decisión) con 4 rutas correspondientes a las salidas definidas previamente: Severity 0 (Gravedad 0), Severity 1 (Gravedad 1), Severity 2 (Gravedad 2), Severity 3 (Gravedad 3).

Ahora es buen momento para guardar su nuevo flujo y ponerle un nombre.

  1. Haga clic en Save (Guardar).
  2. En Flow Label (Etiqueta de flujo), introduzca Set Case Priority (Establecer prioridad de caso).
  3. Haga clic en Save (Guardar).

Crear elementos Update Records (Actualizar registros)

En cada ruta de gravedad, debe añadir un elemento que actualice el nuevo caso con su valor de prioridad correspondiente. Por ejemplo, en la ruta Severity 0 (Gravedad 0), establezca Severity 0 (Gravedad 0) en el campo Priority (Prioridad).

Lo primero es añadir un elemento Update Records (Actualizar registros) en las primeras tres rutas.

  1. En Severity 0 (Gravedad 3), haga clic en Agregar elemento.
  2. En Shortcuts (Accesos directos), seleccione Update Triggering Record (Actualizar registro desencadenante).
  3. En Label (Etiqueta), introduzca Set Priority to Sev0 (Establecer prioridad en Gravedad 0).
  4. Aceptar el nombre de API generado automáticamente.
  5. En How to Find Records to Update and Set Their Values (Cómo buscar registros para actualizarlos y establecer sus valores), mantenga el valor predeterminado: Use the case record that triggered the flow (Utilizar el registro del caso que desencadenó el flujo).
  6. Desplácese hasta Set Field Values for the Case Record (Establecer valores de campo para los registros de caso).
  7. En Field (Campo), seleccione Priority (Prioridad).
  8. En Value (Valor), seleccione Severity 0 (Gravedad 0).
  9. Haga clic en Cerrar en el panel Update Records (Actualizar registros) para cerrarlo.
  10. Repita los pasos del 1 al 9 para las rutas Severity 1 (Gravedad 1) y Severity 2 (Gravedad 2). No olvide cambiar Label (Etiqueta) y Value (Valor) en cada ruta.

En la ruta Severity 3 (Gravedad 3), copie y pegue el elemento de la ruta Severity 2 (Gravedad 2). (Este es un ejemplo sencillo; pero, si alguna vez necesita copiar o mover [cortar y pegar] una gran cantidad de elementos de una vez, es una técnica para tener en cuenta).

  1. Haga clic en el elemento Set Priority to Sev2 (Establecer prioridad en Gravedad 2).
  2. Haga clic en Copy Element (Copiar elemento).
  3. En Severity 3 (Gravedad 3), haga clic en Agregar elemento.
  4. Haga clic en Paste 1 Element (Pegar 1 elemento).
  5. Haga clic en el nuevo elemento y seleccione Edit Element (Editar elemento).
  6. Cambiar Label (Etiqueta) a Set Priority to Sev3 (Establecer prioridad en Gravedad 3).
  7. Cambie el nombre de API a Set_Priority_to_Sev3.
  8. Cambie el campo Value (Valor) a Severity 3 (Gravedad 3).
  9. Guarde el flujo.

Su flujo tiene este aspecto en el lienzo.

El lienzo de Flow Builder, mostrando el elemento Decision (Decisión) con 4 rutas, y cada ruta ahora incluye un elemento propio Update Records (Actualizar Registros). Cada elemento Update Records (Actualizar Registros) está etiquetado con el valor al que asigna la prioridad.

Cuando el flujo sigue el camino hacia una salida específica, solo se ejecuta el elemento Update Records (Actualizar Registros) en esa ruta.

Nota

Para ver su flujo en acción, haga clic en Activate (Activar) para activar el flujo y, a continuación, crear un caso. Solo los usuarios con permiso Manage Flows (Gestionar flujos) pueden ejecutar un flujo que no se ha activado. Tenga en cuenta que, cuando un flujo está activo, no puede hacer cambios en esa versión del flujo. En su lugar, cree una nueva versión del flujo y haga sus cambios en esa nueva versión.

Recursos

Reto práctico

+500 puntos

Prepararse

Completará esta/este unidad en su propia organización de prácticas. Haga clic en Iniciar para empezar a trabajar o haga clic en el nombre de su organización para seleccionar otro diferente.

Su reto

Use a Decision Element to Make Multiple Paths
Create a flow that uses a Decision element to create different opportunity products, depending on the opportunity’s name. Use Get Records elements to retrieve the values required for opportunity products, including the price book’s ID, products’ IDs, and price book entries’ IDs.
  • Create a record-triggered flow:
    • Object: Opportunity
    • Trigger the Flow When: A record is created
    • Keep the default values for all other settings

  • Add a Get Records element:
    • Label: Get Pricebook
    • API Name: Get_Pricebook
    • Object: Price Book
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Name
      • Operator: Equals
      • Value: Standard Price Book
    • Keep the default values for all other settings

  • Add a Decision element:
    • Label: Check Opp Name
    • API Name: Check_Opp_Name
    • Outcome 1:
      • Label: 1500kW
      • API Name: X1500kW
      • Condition Requirements: All Conditions Are Met (AND)
      • Resource: Triggering Opportunity > Name
      • Operator: Contains
      • Value: 1500
    • Outcome 2:
      • Label: 2000kW
      • API Name: X2000kW
      • Condition Requirements: All Conditions Are Met (AND)
      • Resource: Triggering Opportunity > Name
      • Operator: Contains
      • Value: 2000
    • Default Outcome Label: None

  • On the 1500kW path, add a Get Records element:
    • Label: Get 1500 Product
    • API Name: Get_1500_Product
    • Object: Product
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Name
      • Operator: Contains
      • Value: 1500
    • Keep the default values for all other settings

  • On the 1500kW path, add a Get Records element after the Get 1500 Product element:
    • Label: Get 1500 PBE
    • API Name: Get_1500_PBE
    • Object: Price Book Entry
    • Condition Requirements: All Conditions Are Met (AND)
    • Add a condition requirement:
      • Field: Pricebook2Id
      • Operator: Equals
      • Value: Price Book from Get_Pricebook > Id
    • Add another condition requirement:
      • Field: Product2Id
      • Operator: Equals
      • Value: Product from Get_1500_Product > Id
    • Keep the default values for all other settings

  • On the 1500kW path, add a Create Records element after the Get 1500 PBE element:
    • Label: Create 1500 Opp Product
    • API Name: Create_1500_Opp_Product
    • How to set record field values: Manually
    • Object: Opportunity Product
    • Set Field Values:
      • Field: Opportunity ID, Value: Triggering Opportunity > Opportunity ID
      • Field: Price Book Entry ID, Value: Price Book Entry from Get 1500 PBE > Price Book Entry ID
      • Field: Quantity, Value: 1
      • Field: Total Price, Value: Price Book Entry from Get 1500 PBE > List Price

  • On the 2000kW path, add a Get Records element:
    • Label: Get 2000 Product
    • API Name: Get_2000_Product
    • Object: Product
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Name
      • Operator: Contains
      • Value: 2000
    • Keep default values for all other settings

  • On the 2000kW path, add a Get Records element after the Get 2000 Product element:
    • Label: Get 2000 PBE
    • API Name: Get_2000_PBE
    • Object: Price Book Entry
    • Condition Requirements: All Conditions Are Met (AND)
    • Add a condition requirement:
      • Field: Pricebook2Id
      • Operator: Equals
      • Value: Price Book from Get_Pricebook > Id
    • Add another condition requirement:
      • Field: Product2Id
      • Operator: Equals
      • Value: Product from Get_2000_Product > Id
    • Keep default values for all other settings

  • On the 2000kW path, add a Create Records element after the Get 2000 PBE element:
    • Label: Create 2000 Opp Product
    • API Name: Create_2000_Opp_Product
    • How to set record field values: Manually
    • Object: Opportunity Product
    • Set Field Values:
      • Field: Opportunity ID, Value: Triggering Opportunity > Opportunity ID
      • Field: Price Book Entry ID, Value: Price Book Entry from Get 2000 PBE > Price Book Entry ID
      • Field: Quantity, Value: 1
      • Field: Total Price, Value: Price Book Entry from Get 2000 PBE > List Price

  • Save and activate the flow.
    • Label: Add Generator Product to Named Opps
    • API Name: Add_Generator_Product_to_Named_Opps
Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios