Ir al contenido principal

Fin Messenger: Mapear datos usando Salesforce Flows

Aprende a configurar la transferencia de Fin Messenger a agentes de Salesforce usando Flows y atributos pre-chat.

Cuando usas Fin Messenger for Salesforce, si Fin no puede responder a la pregunta de un cliente, puedes agregar un paso Hand off to Salesforce agent a tu flujo de trabajo. Esto crea un chat en vivo en Salesforce para que uno de tus agentes tome el control, permitiendo que el usuario continúe su conversación sin interrupciones en Fin Messenger. Puedes aprender más sobre cómo Fin Messenger maneja los datos en esta guía.

Fin envía automáticamente todos los atributos de datos People y Conversation desde la plataforma Fin a Salesforce. Estos datos no se almacenan en ningún objeto de Salesforce; se transmiten mediante routing attributes durante el curso de una conversación en Salesforce cuando ocurren estos eventos:

  • Create conversation – Cuando se inicia una conversación.

  • Post in app message – Cuando se crea una nueva entrada en la conversación.

  • Upload a file – Cuando se comparte un archivo en la conversación.

Para mapear estos datos a campos en tu chat en vivo de Salesforce, necesitarás usar Flows. Este artículo explica el proceso completo de configuración.


Datos pre-chat vía routingAttributes

Salesforce espera datos pre-chat vía routingAttributes para Salesforce In-App Messaging. Puedes encontrar la documentación de Salesforce para esto aquí.

Generamos un JSON que contiene TODOS los datos de usuario y conversación y lo pasamos a routingAttributes al hacer solicitudes vía la API de Salesforce In-App Messaging. Así que cuando se activa el paso Hand off to Salesforce Agent deberías ver algo similar al JSON siguiente como datos pre-chat.

Ejemplo JSON

{
"_firstName": "John",
"_lastName": "Smith",
"_email": "john.smith.999@gmail.com",
"_subject": "Next",
"conversation_custom_data_Name": "John Smith",
"conversation_custom_data_Fin AI Agent: Preview": "false",
"conversation_custom_data_AI Tone of Voice": "Friendly", "conversation_custom_data_AI Answer Length": "Standard",
"conversation_custom_data_AI Pronoun Formality": "Let Fin decide",
"user_first_name": "John",
"user_last_name": "Smith,
"user_full_name": "John Smith",
"user_email": "email.john.999@gmail.com",
"user_user_id": "4a7a9b3d-951e-47d4-ae41-8e3f05a6969a",
"user_created_at": "",
"user_last_request_at": "2025-08-11 15:26:42 +0000",
"user_geoip_data_country_name": "United States",
"user_geoip_data_region_name": "Texas",
"user_geoip_data_city_name": "Dallas",
"user_geoip_data_timezone": "America/Chicago",
"user_browser_locale": "en",
"user_geoip_data_country_code2": "US",
"user_geoip_data_country_code3": "USA"
}

Nota: Seguimos el siguiente patrón al generar un nombre de parámetro.

Si es un atributo de usuario:

  • Un atributo estándar definido por el sistema se antepone con user_*

  • Si es un atributo personalizado creado, se antepone con user_custom_data_*

  • Los datos de ubicación son un caso especial y están anidados bajo user_geoip_data_*

Si es un atributo de conversación:

  • Si es un atributo estándar definido, se antepone con conversation_*

  • Si es un atributo personalizado, se antepone con conversation_custom_data_*


Cómo usar atributos pre-chat en Salesforce Flows

Nota: Si ya tienes un flujo configurado, salta a los pasos que aplican a tu configuración.

1. Accede a Flows en Salesforce

  1. Abre Service Setup.

  2. Escribe Flows en la barra de búsqueda superior.

  3. Selecciona Flows bajo Process Automation.

2. Crea un nuevo Flow

  1. Haz clic en New Flow.

  2. Selecciona Start from scratch.

  3. Elige Omni-Channel flow, luego haz clic en Create.

3. Crea un nuevo recurso

  1. En el Flow Builder, abre el panel izquierdo y haz clic en New Resource.

  2. Crea una variable llamada recordId.

    • Asegúrate de que el nombre coincida exactamente.

    • Marca Available for input, de lo contrario no funcionará.

4. Añade un elemento Route Work

  1. Haz clic en el botón + y selecciona Route Work.

  2. Añade una etiqueta (por ejemplo, route_to_queue).

  3. Para Record ID Variable, selecciona la variable recordId.

  4. Elige Messaging como el Canal de Servicio y Queue como el tipo de ruta.

  5. Bajo Queue, selecciona la Cola de Soporte conectada al Canal de Mensajería.

5. Guarda y activa el Flow

6. Actualiza la configuración de enrutamiento Omni-Channel

Navega a Setup > Messaging Settings > Omni-Channel Routing y actualiza lo siguiente:

  • Tipo de enrutamiento: Omni-Flow

  • Definición de Flow: Selecciona tu nuevo flujo

  • Cola de respaldo: La misma Cola de Soporte del paso 4C

7. Añade tus parámetros personalizados

Añade parámetros bajo Custom Parameters.

Consejo: Mantén las convenciones de nombres consistentes (snake_case o camelCase) durante toda la configuración.

8. Agregar asignaciones de parámetros

Para simplificar, use el mismo Flow Variable Name que el nombre del parámetro.
Los parámetros predeterminados incluyen First Name, Last Name, Email y Subject.

9. Agregar parámetros como campos visibles antes del chat

  1. Vaya a Embedded Service Deployments y abra su implementación.

  2. Abra el Pre-Chat Form y agregue parámetros como campos visibles.

  3. Los campos predeterminados están listados en el lado derecho.

  4. Agregue campos personalizados a través del modal Custom y seleccione Text como tipo de campo.

10. Guardar y publicar cambios

Importante: Cada cambio en el Pre-Chat Form debe ser publicado en la página de Embedded Service Deployment. Guardar solo no aplicará las actualizaciones.

11. Verifique su configuración

Para confirmar que los atributos se están pasando correctamente:

  1. Vaya a Object Manager.

  2. Abra Messaging Session, luego seleccione Fields & Relationships.

  3. Agregue cada parámetro como un campo personalizado Text y asegúrese de que todos sean visibles.

  4. Guarde los cambios para cada campo.

12. Agregue variables para parámetros personalizados en el Flow

  1. Regrese a Setup > Flows.

  2. En el editor de Flow, cree variables para cada parámetro personalizado usando los mismos nombres que en su Parameter Mapping.

  3. Agregue un elemento Update Records:

    • Seleccione Messaging Session como el objeto.

    • Filtre por Id = recordId.

    • Asigne cada parámetro a su campo correspondiente.

  4. Guarde como una nueva versión de Flow y actívela.

13. Valide la población de campos personalizados

Si está configurado correctamente, sus campos personalizados ahora se llenarán automáticamente en la página de detalles de Messaging Session.


Eventos de conversación para depuración

Para confirmar que sus Salesforce Flows se están activando y completando con éxito:

  1. Vea Conversation events para rastrear cuándo se inician o completan las transferencias.

Los siguientes eventos confirman las transferencias de Salesforce In-App Messaging:

  • Transferencia iniciada a Salesforce In App Messaging

  • Transferido a Salesforce In App Messaging

Puede hacer clic en Handed off to Salesforce In App Messaging para abrir un panel lateral que muestra los atributos de enrutamiento y la carga útil enviada a Salesforce durante la transferencia. Esto le ayuda a verificar que la transferencia funciona correctamente y a solucionar cualquier transición fallida.


Preguntas frecuentes

¿Qué datos envía Fin a Salesforce durante una transferencia?

Fin envía todos los atributos de datos de user y conversation como atributos de enrutamiento cuando ocurre una transferencia. Esto incluye campos estándar del sistema, datos personalizados y datos de ubicación. La carga JSON que recibe contiene todos los atributos disponibles, que luego pueden mapearse a través de Salesforce Flows.

¿Fin almacena datos dentro de Salesforce?

No. Fin no almacena ningún dato directamente en los objetos de Salesforce. Todos los datos se pasan temporalmente vía atributos de enrutamiento durante la sesión de chat en vivo.

¿Por qué no puedo ver mis parámetros personalizados en Salesforce?

Si sus parámetros no aparecen:

  • Confirme que los nombres de parámetros en su Flow coincidan con los de los atributos de enrutamiento de Fin.

  • Verifique que cada variable esté marcada como Available for input.

  • Asegúrese de haber publicado cualquier cambio en su Embedded Service Deployment (guardar solo no los aplicará).

¿Qué sucede si la transferencia a Salesforce falla?

Si la transferencia falla, lo verá en Conversation events bajo Analyze > Conversations. Busque eventos etiquetados:

  • Transferencia iniciada a Salesforce In-App Messaging

  • Transferencia completada a Salesforce In-App Messaging
    Si falta el evento de finalización, revise la configuración de su Flow o los ajustes de enrutamiento en Salesforce.

¿Puedo probar la transferencia antes de ponerla en producción?

Sí. Puede activar el paso Hand off to Salesforce agent en un entorno de pruebas o sandbox para confirmar que el Flow y las asignaciones de campos funcionan correctamente antes de habilitarlo en producción.

¿Cómo sé qué atributos incluye Fin en el JSON?

Fin sigue una convención clara de nomenclatura:

  • user_* para atributos de usuario

  • user_custom_data_* para atributos personalizados de usuario

  • conversation_* y conversation_custom_data_* para atributos de conversación
    Puede consultar el JSON de ejemplo en este artículo para ver la estructura esperada.

¿Ha quedado contestada tu pregunta?