Ir al contenido principal

Usa branches en workflows de Fin

Cómo dirigir tus workflows de Fin a las rutas correctas usando ramificación condicional.

Al construir un workflow de Fin, puedes continuar al siguiente camino usando Reply Buttons (donde un cliente selecciona un botón para elegir la ruta) o Branches. Las branches dirigen el workflow verificando cada condición. Si se cumple una condición, el workflow avanzará al camino conectado a esa condición.

Con branches, cuando se cumple una condición, el workflow avanzará directamente al camino conectado; no se hará ninguna otra conexión.

Agregar branches a tu workflow

Para agregar una branch a tu workflow, haz clic en + Add step en el camino donde quieres añadirla y elige Branches. Si no aparecen de inmediato, puedes desplazarte por la lista o usar la búsqueda en la parte superior.

Una vez que hayas agregado el paso de branches, puedes continuar añadiendo las condiciones de la branch.

Agregar condiciones a branches

Para agregar una condición a una branch, haz clic en + Add branch que insertará una nueva branch al final de las branches “If”.

Para elegir la condición, haz clic en Missing condition para abrir el panel lateral.

Aquí puedes seleccionar los datos y construir la condición que se aplicará a esta branch.

Importante: Si varias palabras clave deben conducir al mismo camino, agrégalas como condiciones OR separadas dentro de UNA branch — no crees una branch separada para cada palabra clave. Crear una branch por palabra clave, incluso si conducen al mismo camino, puede causar conflictos o fallos en la conexión. El operador AND/OR solo aplica a condiciones combinadas dentro de la misma branch; no tiene efecto entre branches separadas.

Condición de branch para segmentación de audiencia

Para habilitar Fin solo para una audiencia específica, puedes usar Branches para seleccionar un campo o atributo relevante y dirigir sin problemas a esos users a Fin. Mientras tanto, la branch Else asegura que los users fuera de esta audiencia sigan un camino diferente y apropiado. Así mantienes una experiencia fluida y personalizada para todos los users.

Branches también te permiten personalizar la transferencia realizando acciones específicas para diferentes audiencias. Puedes dirigir a una marca particular o verificar un atributo específico en la conversación para asegurar que se enrute al público correcto sin problemas.

Consejo profesional: Si tienes múltiples branches, puedes editar y renombrar la branch con una descripción como guía o referencia para identificarla fácilmente.

Uso de datos en branches

La ramificación condicional en workflows soporta todos los atributos de datos dentro de Fin; tanto los que has sincronizado desde tu plataforma, como los que has añadido a la plataforma Fin. Esto incluye Datos de Personas, Datos de Empresa, datos de Conversación o Disponibilidad. Esto incluye etiquetas de conversación, etiquetas de persona — etiquetas vinculadas al perfil de un cliente que pueden usarse como condiciones de branch; etc.

Nota: Las etiquetas de persona funcionan de manera similar a las etiquetas de conversación para las condiciones de ramificación en workflows. La diferencia clave es el alcance: una etiqueta de persona está vinculada al perfil del cliente y aparecerá en todas sus conversaciones, mientras que una etiqueta de conversación aplica solo a la conversación específica donde se añadió. Usa etiquetas de conversación para etiquetar una interacción única. Usa etiquetas de persona para marcar a un cliente en todas sus conversaciones — por ejemplo, para identificar a un cliente VIP o un cliente spam para que los compañeros vean ese contexto cada vez que abren una conversación con él.

Nota: Si usas la condición IS o IS NOT para branches, asegúrate de no dejar espacios adicionales al inicio o al final del texto. Dado que esta condición debe coincidir exactamente con el texto ingresado, los espacios adicionales harán que el criterio no coincida. Esto significa que las condiciones IS y IS NOT también son sensibles a mayúsculas y minúsculas, así que si tu condición contiene "is bug" y el mensaje contiene "is Bug", esa condición no se cumplirá; en este caso, usar "contains bug" permitirá más flexibilidad en tu condición.

Nota: Las branches que usan un segmento como condición tienen un límite de 320 predicados tras la expansión. Si un segmento es demasiado complejo para expandirse dentro de este límite, la branch se trata como "sin coincidencia" y la conversación pasa a la branch Else. Para evitar esto, simplifica las condiciones del segmento o divídelas en segmentos más pequeños.


Preguntas frecuentes

¿Por qué mi branch de workflow no reconoce el correo electrónico de un user?

Si tu branch de workflow no coincide con el correo electrónico de un user, generalmente significa que no se pasó ningún correo para esa conversación. Aquí hay algunas cosas para verificar:

1. ¿Fue este un user conectado o una prueba?

  • Users conectados: Para capturar correos automáticamente en Fin Messenger, necesitas tener el Messenger instalado para users conectados, y el user debe estar conectado en tu app.

  • Escenarios de prueba: Si estás probando, asegúrate de que tu user de prueba esté conectado para que su correo pueda ser capturado.

Aunque no es obligatorio, recomendamos encarecidamente usar autenticación JWT (JSON Web Token) con Fin Messenger. Esto asegura que terceros no puedan suplantar users ni acceder a sus conversaciones.

2. Recopilar un correo cuando no está disponible

Si el user no está conectado, puedes agregar un paso Collect data en tu workflow antes de ramificar. Esto pedirá al user que ingrese su correo manualmente. Para users conectados, el campo de correo se completará automáticamente.

¿Puedo cambiar a un cliente a una audiencia diferente a mitad de conversación?

No — las reglas de audiencia se aplican una vez, al inicio de la conversación, y no pueden reevaluarse mientras esa conversación esté abierta. Incluso si actualizas los atributos de un cliente usando JavaScript, esos cambios no tendrán efecto hasta que comience una nueva conversación.

Si necesitas que Fin use un conjunto de conocimientos diferente desde la misma pantalla del producto — por ejemplo, porque el cliente navegó a otra área de tu producto — la solución es:

  1. Llamar a Intercom('update', { attribute_name: 'new_value' }) para actualizar el atributo que determina la audiencia objetivo.

  2. Llamar a Intercom('startConversation') para abrir una conversación nueva. Fin evaluará los atributos actualizados al inicio de la conversación y aplicará el contenido y la guía específicos para esa audiencia.

Nota: Este enfoque requiere el SDK JavaScript de Intercom Messenger. Consulta las referencias de métodos Intercom('update') y Intercom('startConversation') para más detalles.

¿Ha quedado contestada tu pregunta?