Usando Fin Tasks, puede dar a Fin instrucciones paso a paso para la tarea que desea que realice. Hemos proporcionado algunas mejores prácticas y ejemplos al redactar estas instrucciones para Fin.
Nota: Fin Tasks está actualmente bajo disponibilidad gestionada, ofreciendo soporte personalizado y práctico. Por favor, consulte el acceso con su Gerente de Cuenta.
Mejores prácticas para Fin Task
Instrucciones claramente redactadas pueden hacer una gran diferencia en cómo funciona su Fin Task.
Consejos generales para prompts de LLM
Antes de profundizar en los detalles de Fin Tasks, aquí hay algunos consejos útiles que generalmente se aplican al trabajar con modelos de lenguaje grandes (LLMs):
Un buen prompt es imprescindible e instructivo. Comience las oraciones con un verbo y evite la voz pasiva.
No deje lugar a ambigüedades: una instrucción detallada es mejor que una breve.
Para lectura adicional, vea los temas de introducción aquí.
Alcance y organización de la tarea
Aunque Fin retiene memoria de pasos previos, acciones realizadas o datos almacenados, aún debe 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
Necesita crear puntos de control claros en un flujo de trabajo complejo
Diferentes partes interesadas o equipos son responsables de diferentes partes de un proceso
Desea habilitar diferentes puntos de entrada en un flujo de trabajo
Estructura de la tarea
Título y descripción del disparador
Asegúrese 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
Debe escribir de 3 a 5 oraciones para describir cuándo Fin debe activar esta tarea. Sea lo más específico posible e incluya uno o más de los siguientes:
Escenarios comunes en los que activar esta tarea sería apropiado.
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:
Use esta tarea cuando un cliente reporte haber recibido un pedido que fue dañado durante la entrega, como bebidas derramadas, comida derramada o envases rotos. No use 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:
Use 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úrese 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 podrá tomar una decisión en cualquier etapa y avanzar hacia una solución o tener una salida del proceso si está atascado. Para nuestro ejemplo, esto sería:
1. Si puede determinar la fecha del pedido y es menor a 30 días, emita un reembolso.
2. Si puede determinar la fecha del pedido pero es mayor a 30 días, informe 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, informe al cliente que escalará a un miembro humano del equipo de soporte y ejecute la escalación haciendo... (este ejemplo asume que la lógica de escalación ha sido incorporada en la Fin Task)
Si la lógica y la información a la que Fin necesita acceder es demasiado abierta, debe considerar si puede dividir el bloque de instrucciones en pasos más pequeños con lógica más definida y restringida.
También necesitará identificar los valores de entrada necesarios para realizar la tarea. Indique 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. Guía (opcional):
Guía sobre cómo Fin interactúa, responde y se comporta durante una tarea proporcionando instrucciones claras. 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 Tareas de Fin es usar la función Guardar como borrador. Esto te permite editar y probar cambios en una Tarea activa 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 deberían y no deberían 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 de ejemplo 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 conectores de datos
No necesitas recopilar todas las entradas manualmente antes de ejecutar un conector de datos. Al configurar el conector de datos, 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 cambia el contexto o la intención del cliente. 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 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 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 etiquetas 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.
Ejemplo de instrucción:
"Etiquetar conversación 'Consulta de facturación' y 'Alta prioridad'."
Nota: Asegúrate de que las etiquetas usadas en las instrucciones coincidan con las configuradas en tu espacio de trabajo Fin.
Ejemplos de Tareas Fin
Hemos recopilado varios ejemplos de casos de uso a continuación que pueden ayudarte a diseñar tus Tareas Fin.
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 "denied" e informa al cliente del resultado.
Si la fecha del pedido es menos de 30 días anterior a la fecha actual, continúa con el 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 "escalation" 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 "success" 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 "escalation" e informa al cliente que has tomado esta acción.
Guía: 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: Usa @get_subscription_details para la suscripción con ID @collected_subscription_id para obtener detalles de esa suscripción. Luego sigue la lógica a continuación para determinar si la suscripción recuperada 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):
Informa al cliente que no puedes cancelar la suscripción en este momento porque la suscripción está dentro de su período de compromiso.
Establece @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 el 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 la 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 el ID @collected_customer_id para obtener el estado actual de la cuenta del cliente. Luego siga la lógica a continuación:
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".
Si la cuenta del cliente está activa y es elegible para actualizaciones:
Proceda al Paso 2.
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:
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".
Si la dirección es reconocida y entregable:
Proceda al Paso 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:
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".
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 el ID @collected_loyalty_member_id para obtener el estado de la cuenta del miembro. Luego siga la lógica:
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.
Establezca @points_adjustment_outcome en "denied".
Si la cuenta está en buen estado:
Proceda al Paso 2.
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.
Establezca @points_adjustment_outcome en "escalation".
Paso 2: Use @audit_loyalty_activity proporcionando @collected_loyalty_member_id y @collected_points_adjustment_request para revisar transacciones recientes de lealtad y ver si la solicitud está justificada. Luego:
Si el ajuste solicitado se refiere a una transacción fuera del período de reclamación (la fecha de reclamación es de hace más de 90 días):
Informe al cliente que la solicitud no puede ser concedida debido a las políticas del programa.
Establezca @points_adjustment_outcome en "denied".
Si la solicitud es válida (por ejemplo, se omitieron puntos de una compra reciente elegible):
Proceda al Paso 3.
Si la auditoría devuelve resultados inconclusos (no se encontró una 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.
Establezca @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:
Si el ajuste de puntos se procesa con éxito:
Informe al cliente que su saldo de lealtad ha sido actualizado.
Establezca @points_adjustment_outcome en "success".
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 una revisión manual.
Establezca @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.



