Ir al contenido principal

Mejores prácticas para Fin Tasks

Consulta nuestras mejores prácticas y ejemplos al crear Fin Tasks y redactar instrucciones para Fin.

Escrito por Ivan

Usando Fin Tasks, puedes dar a Fin instrucciones paso a paso para la tarea que quieres que realice. Hemos proporcionado algunas mejores prácticas y ejemplos al redactar estas instrucciones para Fin.

Nota: Fin Procedures está disponible en disponibilidad gestionada como la siguiente evolución de Tasks, ofreciendo una experiencia de autoría más sencilla y capacidades más potentes. Por favor, consulta el acceso con tu Account Manager. Más información sobre la transición de Fin Tasks a Procedures.

Si tienes acceso a Procedures, recomendamos usarlos para nuevas automatizaciones.


Mejores prácticas para Fin Task

Instrucciones claramente escritas pueden hacer una gran diferencia en cómo funciona tu Fin Task.

Consejos generales para prompts de LLM

Antes de profundizar en los detalles de Fin Tasks, aquí hay algunos consejos útiles que se aplican generalmente al trabajar con modelos de lenguaje grandes (LLMs):

  • Un buen prompt es imperativo e instructivo. Comienza las oraciones con un verbo y evita la voz pasiva.

  • No dejes lugar a ambigüedades: una instrucción detallada es mejor que una breve.

Para lectura adicional, consulta los temas de introducción aquí.

Alcance y organización de la tarea

Aunque Fin retiene memoria de pasos previos y acciones tomadas o datos almacenados, aún necesitas diseñar tareas con límites claros y propósitos enfocados.

Cuándo usar una sola Fin Task:

  • Todos los pasos son parte de un proceso cohesivo con progresión clara.

  • Los pasos posteriores dependen de los anteriores en una secuencia lógica.

  • Todo el proceso comparte los mismos criterios de decisión y resultados.

Cuándo considerar múltiples Fin Tasks:

  • Para procesos de negocio completamente separados

  • Necesitas crear puntos de control claros en un flujo de trabajo complejo

  • Diferentes interesados o equipos son responsables de distintas partes de un proceso

  • Quieres habilitar diferentes puntos de entrada en un flujo de trabajo

Estructura de la tarea

Título y descripción del disparador

Asegúrate de que el título sea descriptivo y no solo interno.

  • Ejemplo de buena práctica: Pedidos dañados

  • Ejemplo de mala práctica: Test123

Debes escribir de 3 a 5 oraciones para describir cuándo Fin debe activar esta tarea. Sé lo más específico posible e incluye uno o más de los siguientes:

  • Escenarios comunes en los que sería apropiado activar esta tarea.

  • Ejemplos de tipos de preguntas de clientes que esta tarea respondería.

  • Frases clave que los clientes podrían usar.

Ejemplo de buena práctica:

Usa esta tarea cuando un cliente reporte haber recibido un pedido que fue dañado durante la entrega, como bebidas derramadas, comida caída o envases rotos. No uses esta tarea si el cliente reporta una entrega tardía, un artículo faltante o problemas no relacionados con daños al producto.

Ejemplo de mala práctica:

Usa esta tarea para reembolsar un pedido.

Bloque de instrucciones

El bloque de instrucciones sigue un formato estructurado compuesto por las siguientes secciones...

1. Instrucciones:

Este es un plan claro, lógicamente completo y paso a paso que Fin debe seguir. Asegúrate de cubrir todas las reglas de decisión necesarias para que Fin realice la tarea.

La mejor y más fácil forma de formularlas es seguir una lógica de “if + else”. Esta lógica garantiza que siempre puedas tomar una decisión en cualquier etapa y avanzar hacia una solución o tener una salida del proceso si estás atascado. Para nuestro ejemplo, esto sería:

1. Si puedes determinar la fecha del pedido y es menor a 30 días, emite un reembolso.

2. Si puedes determinar la fecha del pedido pero es mayor a 30 días, informa al cliente que la política de Company X no permite reembolsos en compras con más de 30 días de antigüedad.

3. De lo contrario, informa al cliente que escalarás a un miembro humano del equipo de soporte y ejecuta la escalada haciendo… (este ejemplo asume que la lógica de escalada ha sido incorporada en el Fin Task)

Si la lógica y la información a la que Fin necesita acceder es demasiado abierta, deberías considerar si puedes dividir el bloque de instrucciones en pasos más pequeños con lógica más definida y restringida.

También necesitarás identificar los valores de entrada necesarios para realizar la tarea. Indica explícitamente en el prompt:

  • Cuáles son estos atributos, para qué pueden usarse y cómo se relacionan con el contexto más amplio de la tarea.

  • Si estos atributos están garantizados a estar disponibles (por ejemplo, de un paso previo en las instrucciones)

    • Si es así, dónde están disponibles o cuál es su valor, insertándolos directamente en el prompt.

    • Si no, dónde o cómo pueden ser obtenidos (por ejemplo, del cliente)

2. Orientación (opcional):

Guía cómo Fin interactúa, responde y se comporta durante una tarea proporcionando una orientación clara. Simplemente describe cualquier comportamiento específico que desees que Fin siga mientras realiza los pasos.

Borradores de tareas

Una práctica clave para gestionar las Fin Tasks es usar la función Guardar como borrador. Esto te permite editar y probar cambios en las instrucciones de la tarea sin afectar a tus clientes.

Cuando editas una tarea activa, creas dos versiones:

  • Versión activa: Esta es la tarea activa con la que tus clientes están interactuando.

  • Versión borrador: Este es tu conjunto de cambios no publicados donde puedes trabajar y probar de forma privada.

Esto te brinda un entorno seguro para perfeccionar tus automatizaciones antes de publicarlas. Siempre usa las funciones Vista previa y Simulaciones desde el editor de tareas para probar tu versión borrador. Tus cambios solo se harán activos una vez que estés seguro y hagas clic en el botón Publicar cambios.

Disparadores de tareas

Incluye alrededor de 10 preguntas de ejemplo

Para mejorar la precisión en la coincidencia de tareas, debes proporcionar preguntas de ejemplo específicas que deben y no deben activar tu tarea. Esto ayuda a Fin a entender mejor cuándo usar tu tarea, especialmente cuando tienes múltiples tareas similares.

Puedes agregar tanto ejemplos positivos ("Activar cuando...") como ejemplos negativos ("No activar cuando...").

Comienza con unas 10 preguntas o frases de clientes altamente relevantes para asegurar que la tarea se reconozca correctamente. Si es necesario, puedes extender esto a 20–30 ejemplos, pero ten en cuenta la complejidad. Si la lista se vuelve demasiado larga o específica, considera simplificar la descripción o pasar a disparadores basados en intención para mantener claridad y manejabilidad.

Usa ejemplos negativos solo cuando se active incorrectamente

Los ejemplos de "No activar cuando..." solo deben incluirse si observas un comportamiento incorrecto de activación. Los ejemplos negativos ayudan a refinar la detección aclarando a qué Fin no debe responder, pero evita agregarlos a menos que estén abordando un problema específico con activaciones erróneas.

Instrucciones de la tarea

Divide las instrucciones solo cuando las tareas sean complejas

Usa un solo bloque de instrucciones estructurado cuando tu tarea sea sencilla o tenga menos de aproximadamente 10 pasos. Si la tarea implica lógica compleja, ramificaciones significativas o se vuelve difícil de seguir, es mejor dividirla en múltiples bloques de instrucciones para mayor claridad y mantenimiento.

Deja que Fin recopile entradas automáticamente para los data connectors

No necesitas recopilar todas las entradas manualmente antes de ejecutar un data connector. Al configurar el data connector, especifica las entradas requeridas y Fin preguntará automáticamente al cliente por las que falten. Esto reduce la complejidad de tus instrucciones y mantiene las interacciones más eficientes.

Se permite cambiar de tarea durante las conversaciones

Fin es capaz de cambiar de tarea a mitad de la conversación, e incluso cambiar a respuestas informativas (de tu contenido de soporte) cuando el contexto o la intención del cliente cambian. Esto significa que puede salir de una tarea y comenzar otra sin problemas, permitiendo interacciones más dinámicas y receptivas basadas en las necesidades cambiantes del usuario.

Las respuestas de API se recuerdan a lo largo de los pasos de la instrucción

Fin recuerda automáticamente las respuestas de API dentro del mismo bloque de instrucciones. Puedes referirte a estos resultados de forma natural en pasos posteriores, como diciendo “usando el saldo devuelto anteriormente,” sin necesidad de repetir o almacenar los datos manualmente.

No es necesario guardar las respuestas de API en atributos temporales

No es necesario almacenar explícitamente las respuestas de API en atributos temporales. Fin mantiene el seguimiento de los datos internamente, permitiéndote referenciarlos directamente en pasos posteriores usando lenguaje natural simple.

Utiliza comandos de etiquetado y escalamiento en los pasos de instrucción

Etiquetar una conversación

Mejora la categorización de conversaciones instruyendo a Fin para que etiquete conversaciones con etiquetas predefinidas en las instrucciones de la tarea. Esto ayuda en el filtrado, informes y activación de acciones de seguimiento.

Instrucción de ejemplo:

"Etiquetar conversación 'Consulta de facturación' y 'Alta prioridad'."

Escalar a un equipo

Entrega sin problemas las conversaciones que requieren intervención humana dirigiendo a Fin para escalar a un equipo o compañero específico.

Instrucción de ejemplo:

"Escalar a: Facturación"

Nota: Asegúrate de que las etiquetas y nombres de equipo usados en las instrucciones coincidan con los configurados en tu espacio de trabajo de Intercom.


Ejemplos de Fin Task

Hemos recopilado varios ejemplos de casos de uso a continuación que pueden ayudarte a diseñar tus Fin Tasks.

Reembolso de pedido

Descripción: El objetivo de esta tarea es determinar si una solicitud de reembolso hecha por un cliente es válida y, de ser así, procesarla. Siguiendo las instrucciones a continuación, podrás verificar y procesar la solicitud de reembolso de un cliente para pedidos realizados con Company X.

Paso 1: Usa @get_order_details para el pedido con ID @collected_order_id para obtener detalles de ese pedido. Luego sigue la lógica a continuación para determinar si el pedido recuperado puede ser reembolsado:

  • Si la fecha del pedido es más de 30 días anterior a la fecha actual, informa al cliente que no puedes ofrecer un reembolso porque el pedido se realizó hace más de 30 días. Establece @refund_outcome en "denegado" e informa al cliente del resultado.

  • Si la fecha del pedido es menos de 30 días anterior a la fecha actual, procede al Paso 2.

  • De lo contrario, informa al cliente que no puedes verificar si el pedido puede ser reembolsado y escala a un miembro humano del equipo de soporte. Establece @refund_outcome en "escalamiento" e informa al cliente que has tomado esta acción.

Paso 2: Usa @process_items_refund con el ID del pedido @collected_order_id para procesar un reembolso para ese pedido. Luego recopila la respuesta y:

  • Si el reembolso ha sido exitoso, informa al cliente que el reembolso se procesó correctamente. Establece @refund_outcome en "éxito" e informa al cliente del resultado.

  • De lo contrario, si el reembolso ha fallado, informa al cliente que no pudiste procesar el reembolso. Establece @refund_outcome en "escalamiento" e informa al cliente que has tomado esta acción.

Orientación: Sé empático al comunicar noticias negativas sobre denegaciones de reembolso. Cuando un reembolso sea exitoso, sé cálido y claro sobre los tiempos de procesamiento del reembolso.

Solicitud de cancelación de suscripción

Descripción: El objetivo de esta tarea es determinar si una solicitud de cancelación de suscripción hecha por un cliente es válida y, de ser así, procesarla. Siguiendo las instrucciones a continuación, podrás verificar y cancelar la suscripción de un cliente para Company X.

Paso 1: Utilice @get_subscription_details para la suscripción con ID @collected_subscription_id para obtener detalles de esa suscripción. Luego siga la lógica a continuación para determinar si la suscripción obtenida puede ser cancelada:

  • Si la suscripción aún está en su período mínimo de compromiso (un plazo de 12 meses que aún no ha transcurrido):

    • Informe al cliente que no puede cancelar la suscripción en este momento porque la suscripción está dentro de su período de compromiso.

    • Establezca @cancellation_outcome en "denied".

  • Si la suscripción es elegible para cancelación (es un plan mes a mes o el período de compromiso ha terminado):

    • Proceda al Paso 2.

  • De lo contrario, si no puede determinar a partir de los detalles de la suscripción si puede ser cancelada:

    • Informe al cliente que no puede verificar la elegibilidad de cancelación de la suscripción y escale a un miembro humano del equipo de soporte.

    • Establezca @cancellation_outcome en "escalation".

Paso 2: Use @cancel_subscription con la ID de suscripción @collected_subscription_id para procesar la cancelación. Luego recopile la respuesta y:

  • Si la cancelación tiene éxito:

    • Informe al cliente que la suscripción fue cancelada con éxito.

    • Establezca @cancellation_outcome en "success".

  • Si la cancelación falla:

    • Informe al cliente que no pudo cancelar la suscripción y que ha escalado el problema.

    • Establezca @cancellation_outcome en "escalation".

Guía: Sea directo pero empático al explicar los períodos de compromiso. Cuando tenga éxito, confirme claramente qué sucederá con la facturación en adelante.

Solicitud de cambio de dirección

Descripción: El objetivo de esta tarea es determinar si una actualización solicitada de dirección de envío para un cliente es válida y, de ser así, procesarla. Siguiendo las instrucciones a continuación, verificará y actualizará la dirección de envío en el sistema de Company X.

Paso 1: Use @get_customer_profile proporcionando la ID @collected_customer_id para obtener el estado actual de la cuenta del cliente. Luego siga la lógica a continuación:

  1. Si la cuenta del cliente está bloqueada o marcada (su account_status es "suspected fraud" o "unpaid balance"):

    • Informe al cliente que no puede proceder con el cambio de dirección debido a restricciones en la cuenta.

    • Establezca @address_change_outcome en "denied".

  2. Si la cuenta del cliente está activa y es elegible para actualizaciones:

    • Proceda al Paso 2.

  3. De lo contrario, si el sistema no puede determinar el estado de la cuenta o si hay información insuficiente:

    • Informe al cliente que no puede verificar si la dirección puede ser actualizada y escale a un agente humano de soporte.

    • Establezca @address_change_outcome en "escalation".

Paso 2: Use @validate_address proporcionando la @collected_new_address para verificar su autenticidad y capacidad de entrega. Luego siga la lógica a continuación:

  1. Si la nueva dirección no es reconocida o está fuera de las regiones atendidas por Company X (el valor de la dirección solo puede ser "United States", "European Union" o "Canada", no se admite ninguna otra región):

    • Informe al cliente que la dirección no puede ser atendida o es inválida.

    • Establezca @address_change_outcome en "denied".

  2. Si la dirección es reconocida y entregable:

    • Proceda al Paso 3.

  3. Si el resultado de la validación de la dirección es inconcluso o no puede ser determinado por el sistema:

    • Informe al cliente que no puede verificar la dirección en este momento y que ha escalado la solicitud.

    • Establezca @address_change_outcome en "escalation".

Paso 3: Use @update_customer_address proporcionando tanto @collected_customer_id como @collected_new_address para finalizar la actualización de la dirección. Luego siga la lógica a continuación:

  1. Si la actualización de la dirección es exitosa:

    • Informe al cliente que la dirección ha sido actualizada con éxito.

    • Establezca @address_change_outcome en "success".

  2. Si la actualización de la dirección falla por cualquier motivo (un error del sistema o registros en conflicto):

    • Informe al cliente que ha escalado el problema a un agente humano de soporte.

    • Establezca @address_change_outcome en "escalation".

Guía: Sea claro sobre qué regiones son compatibles. Al confirmar un cambio de dirección exitoso, recuerde al cliente que esto afectará todos los envíos futuros.

Ajuste de puntos de fidelidad

Descripción: El objetivo de esta tarea es determinar si la solicitud de un cliente para un ajuste de puntos de fidelidad es válida y, de ser así, realizar ese ajuste. Siguiendo estas instrucciones, revisará el estado de la cuenta de fidelidad del cliente, validará la solicitud y luego ajustará los puntos en el sistema de Company X.

Paso 1: Use @get_loyalty_profile con la ID @collected_loyalty_member_id para obtener el estado de la cuenta del miembro. Luego siga la lógica:

  1. Si la cuenta de fidelidad está inactiva, suspendida o marcada por actividad sospechosa:

    • Informe al cliente que su cuenta no es elegible para un ajuste de puntos en este momento.

    • Establecer @points_adjustment_outcome en "denied".

  2. Si la cuenta está en buen estado:

    • Proceda al Paso 2.

  3. De lo contrario, si el sistema no puede determinar el estado de la cuenta:

    • Informe al cliente que no puede verificar su cuenta y que escalará este asunto a un especialista de soporte.

    • Establecer @points_adjustment_outcome en "escalation".

Paso 2: Use @audit_loyalty_activity proporcionando @collected_loyalty_member_id y @collected_points_adjustment_request para revisar las transacciones recientes de lealtad y ver si la solicitud está justificada. Luego:

  1. Si el ajuste solicitado se refiere a una transacción fuera del período de reclamación (la fecha de la reclamación es de más de 90 días):

    • Informe al cliente que la solicitud no puede ser concedida debido a las políticas del programa.

    • Establecer @points_adjustment_outcome en "denied".

  2. Si la solicitud es válida (por ejemplo, se omitieron puntos de una compra reciente elegible):

    • Proceda al Paso 3.

  3. Si la auditoría devuelve resultados inconclusos (no se encontró ninguna transacción coincidente o solo datos parciales):

    • Informe al cliente que se requiere una investigación adicional y que está escalando el asunto a un agente humano.

    • Establecer @points_adjustment_outcome en "escalation".

Paso 3: Use @adjust_loyalty_points proporcionando @collected_loyalty_member_id y la cantidad de @collected_points_adjustment_request para finalizar el ajuste de puntos. Luego:

  1. Si el ajuste de puntos se procesa con éxito:

    • Informe al cliente que su saldo de lealtad ha sido actualizado.

    • Establecer @points_adjustment_outcome en "success".

  2. Si el ajuste falla debido a un error del sistema o registros conflictivos:

    • Informe al cliente que no pudo completar la solicitud y que la ha escalado para revisión manual.

    • Establecer @points_adjustment_outcome en "escalation".

Guía: Cuando un ajuste de puntos es exitoso, haga referencia a la transacción específica que generó los puntos. Sea informativo sobre las políticas del programa al negar solicitudes.


Preguntas frecuentes

¿Puede un Fin Task acceder directamente a mi knowledge base?

Sí, los Fin Tasks pueden acceder al contenido de su Help Centre pero sus artículos deben estar habilitados para Fin AI Agent.

¿Por qué Fin a veces proporciona una respuesta de mi knowledge base incluso cuando un Fin Task está activo?

Fin a veces proporciona una respuesta de mi knowledge base incluso cuando un Fin Task está activo porque Fin puede pausar una tarea activa para responder una consulta informativa usando contenido de su knowledge base. Después de proporcionar la respuesta, Fin puede elegir continuar ejecutando la tarea. Este comportamiento está diseñado para mantener la conversación eficiente al abordar la pregunta inmediata del usuario antes de reanudar los pasos de la tarea.

¿Cómo puedo asegurarme de que un Fin Task revise primero la knowledge base antes de continuar?

Para asegurarse de que un Fin Task revise primero la knowledge base antes de continuar, puede configurar su Fin Task para pausar explícitamente y buscar en su knowledge base tipos específicos de consultas. Esto se puede lograr agregando un paso de "Guía" en la configuración de Fin e incluyendo instrucciones similares directamente dentro de la tarea. Tenga en cuenta que sus artículos deben estar habilitados para Fin AI Agent.

¿Qué tipo de instrucciones debo agregar a la configuración de mi Fin Task y Guía?

Recomendamos agregar un paso de Guía con instrucciones como: "Antes de continuar con los pasos de la tarea, primero verifique si esta pregunta puede ser respondida con el contenido disponible de nuestra knowledge base". También debe agregar una guía similar directamente dentro de las instrucciones de la tarea, ya que Fin combina la guía de ambas configuraciones. Puede refinar las instrucciones de la tarea para decirle a Fin que "Analice la conversación hasta ahora," "Busque en la knowledge base según el contexto de la conversación," y "Confirme si se encontró información relevante".

¿Necesito un conector de datos para que Fin busque en mi knowledge base?

No, no necesita un conector de datos para que Fin busque en su propio contenido indexado de knowledge base. Los conectores de datos solo son necesarios cuando desea que Fin recupere o actualice información en sistemas externos, como verificar el estado de un pedido o procesar un reembolso.

¿Ha quedado contestada tu pregunta?