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.

Definir varias rutas en un flujo

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Interpretar los requisitos de negocio y visualizarlos en un diagrama de flujo del proceso.
  • Crear un flujo para implementar el proceso de los requisitos de negocio.
  • Utilizar la lógica de ramificación para seleccionar una de varias rutas en un flujo.
Nota

Nota

¿Es su idioma de aprendizaje español (LATAM)? Comience el reto en un Trailhead Playground en español (LATAM) y utilice las traducciones entre paréntesis para navegar. Copie y pegue solo los valores en inglés, ya que las validaciones del reto dependen de los datos en ese idioma. Si no aprueba el reto en su organización en español (LATAM), recomendamos que (1) cambie la configuración local a Estados Unidos, (2) cambie el idioma a inglés (según estas instrucciones) y, luego, (3) haga clic en el botón “Check Challenge” (Comprobar el reto) nuevamente.

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 solo una parte del proceso hacia el dominio de Flow Builder. De principio a fin, la ruta Crear flujos con Flow Builder le sirve de guía en el aprendizaje de todo sobre Flow Builder. Siga esta secuencia de insignias recomendada para desarrollar habilidades sólidas de automatización de procesos y convertirse en un experto en Flow Builder.

Antes de empezar

Para esta insignia se supone que sabe cómo crear un flujo con variables, entradas y elementos de datos, como el elemento Get Records (Obtener registros). Si no conoce estos conceptos o necesita un repaso, consulte las insignias Aspectos básicos de Flow Builder y Datos y acciones en los flujos.

Cuando el flujo se ejecuta, viaja como si fuera un tren, avanzando por el camino hacia el final y haciendo que sucedan cosas en cada parada. Pero los trenes no siempre avanzan por una única ruta. Las vías del tren se dividen, convergen y se entrelazan para llegar a donde tienen que ir. Flow Builder le permite crear una automatización que haga lo mismo, con rutas que se pueden ramificar y combinar según lo considere adecuado.

Flo Smith conduciendo una locomotora de vapor por unas vías que van en varias direcciones

El poder de If

En algunos casos de uso de automatización, se requiere que automatice de distintos modos para diferentes situaciones. Observemos un ejemplo.

Flo Smith es una administradora experta de Salesforce y analista de negocios en Pyroclastic, Inc. En este módulo, usted es un administrador de Salesforce del equipo de Flo que la ayuda a automatizar algunos de los procesos de negocio de Pyroclastic. 

La tarea que Flo le asignará hoy es crear una automatización que permita establecer de forma automática la prioridad correcta cuando se creen casos de asistencia. El valor de la prioridad depende del tipo de problema y de la influencia del solicitante. Flo empieza revisando los requisitos de negocio.

  1. If Type = Downtime: priority = Severity 0 (Si tipo = Interrupciones: prioridad = Severidad 0).
  2. If Type = Usability and the contact who submitted it is a VIP: priority = Severity 1 (Si tipo = Usabilidad y el contacto que lo envió es VIP: prioridad = Severidad 1).
  3. If Type = Usability and the contact who submitted it is not a VIP: priority = Severity 2 (Si tipo = Usabilidad y el contacto que lo envió no es VIP: prioridad = Severidad 2).
  4. Otherwise (else), priority = Severity 3 (De lo contrario [else], la prioridad = Severidad 3).

Observe que todas las líneas, excepto la última, empiezan con if. La última línea actúa como un valor predeterminado para los casos que no cumplen con ninguno de los tres requisitos anteriores.

Nota

Al organizar las líneas de esta forma, Flo creó lo que los desarrolladores llaman declaración if-then-elseif. SI (IF) algo es verdadero, ENTONCES (THEN) se realiza una acción; DE LO CONTRARIO (ELSE), se comprueba SI (IF) otra cosa es verdadera. Ese if tiene muchísimo poder en el flujo.

A continuación, usted y Flo crearán un diagrama de flujo para visualizar la automatización mediante la cual se establecerá la prioridad del caso. Puede hacer esto de cualquier forma que le funcione: desde hacer bocetos en papel hasta usar una herramienta de diseño o un programa de diagramas de flujo. Su objetivo es transformar los requisitos de texto a un modelo visual de la automatización prevista.

Analicemos el diagrama de flujo. Tiene cuatro requisitos de negocio.

Diagrama de flujo que corresponde a los requisitos anteriores. El diseño tiene 3 preguntas (diamantes) y 4 resultados que representan los tipos de severidad de 0 a 3.

Cada requisito de negocio incluye un cuadro de severidad para la ruta que se seleccionará cuando se cumpla el requisito, la ruta Yes (Sí). En Flow Builder, se conocen como resultados, y cada resultado tiene su propia ruta en el lienzo.

Cada resultado (excepto el último) tiene condiciones que se deben cumplir. En Flow Builder, esas condiciones se denominan requisitos de condición.

Diagrama de flujo de elementos de decisión con cuatro resultados y tres diamantes, que corresponden a los requisitos 0, 1, 2 y 3 definidos anteriormente.

El último resultado es el predeterminado. No tiene condiciones. El flujo elige el resultado predeterminado cuando no se cumple ninguna de las condiciones de los otros resultados.

Para crear este tipo de lógica de ramificación en un flujo, debe utilizar un elemento de decisión.

El elemento de decisión

El elemento Decision (Decisión) le permite crear varias rutas. Crear un elemento de decisión según un diagrama de flujo tiene dos pasos.

  1. Cree un resultado para cada ruta Yes (Sí) del diagrama. (El resultado predeterminado rige la ruta No final). Los resultados se enumeran en orden bajo Outcome Order (Orden de resultados).
  2. Agregue requisitos de condición a cada resultado, excepto al predeterminado. Los requisitos de condición para cada resultado provienen del diamante correspondiente en el diagrama de flujo.

El elemento de decisión incluye resultados y requisitos de condición correspondientes a los pasos anteriores.

Las rutas del elemento de decisión representan los resultados.

El lienzo de Flow Builder, que muestra un elemento de decisión que se divide en cuatro rutas para representar los tipos de severidad 0 a 3.

Cuando el flujo llega a un elemento de decisión, evalúa el primer resultado. Si se cumplen las condiciones, el flujo elige ese resultado y sigue su ruta. De lo contrario, el flujo continúa según el orden de resultados hasta que encuentra un resultado para el cual se cumplen los requisitos de condición. Si no se cumple ninguno de los requisitos de condición de los resultados, el flujo sigue la ruta predeterminada del resultado. Cuando las distintas rutas se combinan, el flujo regresa a esa ruta única.

¿Todo listo para pasar a la práctica 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 la zona de pruebas cuando es el momento de completar los retos prácticos.

Crear un elemento de decisión

Vamos a crear un flujo para automatizar este proceso de negocio. Pero primero, agreguemos estos valores de listas de selección obligatorios a los campos relevantes. Para obtener más información sobre cómo agregar valores de listas 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 (Severidad 0), Severity 1 (Severidad 1), Severity 2 (Severidad 2), Severity 3 (Severidad 3)
  2. En el objeto Case (Caso), en el campo Type (Tipo), agregue estos valores: Downtime (Interrupciones), Usability (Usabilidad)

Crear un elemento de decisión y definir resultados

Siga estos pasos para volver a crear el proceso de diagrama de flujo como un flujo, con un elemento Decision (Decisión).

  1. Cree un flujo desencadenado por registro:
    • En Object (Objeto), seleccione Case (Caso).
    • Acepte la configuración predeterminada del desencadenador y las condiciones de entrada.
    • En Optimize the Flow for (Optimizar el flujo para), seleccione Fast Field Updates (Actualizaciones de campo rápidas).
      Elija dicha opción cuando solo desea actualizar el registro desencadenante. Consulte la insignia Flujos desencadenados por registro para obtener más información sobre las actualizaciones de campo rápidas.
  1. Agregue un elemento de decisión al flujo:
    • En el lienzo, haga clic en Agregar elemento.
    • Seleccione Decision (Decisión).
    • En Label (Etiqueta), introduzca Check Case Details (Verificar detalles del caso).
  1. Defina los resultados:
    • En OUTCOME ORDER (Orden de resultados), deje seleccionada la opción New Outcome (Nuevo resultado).
    • En OUTCOME DETAILS (Detalles de resultado), en Label (Etiqueta), introduzca Severity 0 (Severidad 0).
    • Junto a OUTCOME ORDER (Orden de resultados), haga clic en Nuevo resultado para crear un nuevo resultado.
    • Etiquete el segundo resultado Severity 1 (Severidad 1).
    • Cree otro resultado y etiquételo como Severity 2 (Severidad 2).
    • En OUTCOME ORDER (Orden de resultados), seleccione Default Outcome (Resultado predeterminado).
    • Cambie su etiqueta a Severity 3 (Default) (Severidad 3 [Predeterminada]).

Agregar requisitos de condición a los resultados

  1. Defina los requisitos de condición del resultado de severidad 0:
    • En OUTCOME ORDER (Orden de resultados), seleccione Severity 0 (Severidad 0).
    • En OUTCOME DETAILS (Detalles de resultado), en Resource (Recurso), haga clic en Triggering Case (Caso desencadenante) y seleccione Case Type (Tipo de caso).
    • Mantenga Equals (Es igual a) como el operador.
    • En Value (Valor), seleccione Downtime (Interrupción).
  1. Defina los requisitos de condición del resultado de severidad 1:
    • Introduzca el primer requisito de condición:
      • Resource (Recurso): Triggering Case (Caso desencadenante)> Case Type (Tipo de caso)
      • Operator (Operador): Equals (Es igual a)
      • Value (Valor): Usability (Usabilidad)
    • Haga clic en Add Condition (Agregar condición).
    • Introduzca el segundo requisito de condición:
      • Resource (Recurso): Triggering Case (Caso desencadenante)> Contact ID (Id. de contacto)> Contact Description (Descripción del contacto)
      • Operator (Operador): Contains (Contiene)
      • Value (Valor): VIP
  1. Defina los requisitos de condición del resultado de severidad 2:
    • Resource (Recurso): Triggering Case (Caso desencadenante) > Case Type (Tipo de caso)
    • Operator (Operador): Equals (Es igual a)
    • Value (Valor): Usability (Usabilidad)
      Por más que el tercer diamante del diagrama especifique que el contacto no es VIP, no tenemos que verificar ese requisito para el tipo de severidad 2. Los requisitos de condición se evalúan en orden, por lo cual el elemento de decisión no verifica este resultado, salvo que el contacto no sea VIP.

El elemento de decisión debe verse similar a lo siguiente:El panel lateral de decisión con cuatro resultados correspondientes a los requisitos: Severidad 0, 1, 2 y 3.

Haga clic en Cerrar para cerrar el panel lateral.

El diagrama de flujo tenía cuatro resultados potenciales, así que el elemento de decisión tiene cuatro resultados. Esos cuatro resultados crean cuatro rutas posibles que el flujo puede tomar, cada una con un nombre según su resultado correspondiente. Así aparece en el lienzo.

El lienzo de Flow Builder, donde se muestra un elemento de decisión con 4 rutas correspondientes a los resultados definidos anteriormente: Severity 0 (Severidad 0), Severity 1 (Severidad 1), Severity 2 (Severidad 2) y Severity 3 (Severidad 3).

Este es un buen momento para asignarle un nombre al flujo nuevo y guardarlo.

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

Crear elementos de actualización de registros

En cada ruta de severidad, debe agregar un elemento que actualice el caso nuevo con el valor de prioridad adecuado. Por ejemplo, en la ruta de severidad 0, el campo Priority (Prioridad) se establece en Severity 0 (Severidad 0).

Primero, agregue un elemento Update Records (Actualizar registros) a las tres primeras rutas.

  1. En Severity 0 (Severidad 0), 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 Sev0).
  4. Acepte el nombre de API generado automáticamente.
  5. En How to Find Records to Update and Set Their Values (Cómo encontrar registros para actualizar y establecer sus valores), conserve el valor predeterminado: Use the case record that triggered the flow (Usar el registro de caso que desencadenó el flujo).
  6. Desplácese a Set Field Values for the Case Record (Establecer valores de campo para el registro de caso).
  7. En Field (Campo), seleccione Priority (Prioridad).
  8. En Value (Valor), seleccione Severity 0 (Severidad 0).
  9. Haga clic en Cerrar en el panel Update Records (Actualizar de registros) para cerrarlo.
  10. Repita los pasos 1 a 9 para las rutas de severidad 1 y 2. No se olvide de cambiar la etiqueta y el valor de cada ruta.

En la ruta de severidad 3, debe copiar y pegar el elemento de la ruta de severidad 2. Es un ejemplo bastante simple, pero si alguna vez necesita copiar o mover (cortar y pegar) una gran cantidad de elementos juntos, es bueno conocer esta técnica.

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

El flujo debería tener un aspecto similar al siguiente en el lienzo.

El lienzo de Flow Builder, en el que se muestra el mismo elemento de decisión con 4 rutas, y cada ruta ahora incluye un elemento de actualización de registros distinto. Cada elemento de actualización de registros está etiquetado con el valor al que establece la prioridad.

Cuando el flujo sigue la ruta para un resultado específico, ejecuta solo el elemento de actualización de registros en esa ruta.

Nota

Si desea ver el flujo en acción, haga clic en Activate (Activar) para activarlo y, a continuación, cree un caso. Solo los usuarios con el permiso Manage Flows (Gestionar flujos) pueden ejecutar un flujo que no está activado. Tenga en cuenta que cuando se activa un flujo, no puede hacer cambios en esa versión del flujo. En su lugar, cree una versión nueva del flujo y haga los cambios en dicha 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 una 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 de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios