Ir al contenido principal

Ejemplos prácticos de Procedimientos Fin

Vea ejemplos prácticos de cómo construir pasos efectivos, condiciones y llamadas a conectores de datos en sus Procedimientos Fin.

Escrito por Dawn

Este artículo cubre ejemplos prácticos de cómo estructurar sus pasos, condiciones y llamadas a conectores de datos en Procedimientos Fin.


Estructurando pasos de Instrucción

El paso Instrucción es el paso predeterminado y más poderoso.

Combine acciones relacionadas en un solo paso

Menos pasos bien diseñados que combinen coherentemente acciones relacionadas son mejores que muchos pasos pequeños y separados.

Menos efectivo:

  • Paso 1: @read Email.

  • Paso 2: Pida el correo electrónico si no está presente.

  • Paso 3: @use get_subscription_details

  • Paso 4: Envíe una respuesta listando todos los campos API.

Más efectivo:

@read email. Si no se conoce, pida al usuario su correo electrónico antes de continuar. Luego @use get_subscription_details y responda preguntando al usuario en qué necesita ayuda. Incluya el plan actual del usuario, estado del plan y próxima fecha de renovación en su respuesta.

Sea claro y completo

Piense en Fin como un nuevo compañero sin contexto previo. Si un humano no puede entender fácilmente sus instrucciones, probablemente Fin tampoco.

Menos efectivo:

Recoja el número de pedido del cliente y asegúrese de que sea válido y no un número de seguimiento

Más efectivo:

Recoja el número de pedido del cliente. Si proporcionaron un número pero es más largo de 11 caracteres excluyendo el # al inicio, infórmeles que puede ser un número de seguimiento y pídales el número de pedido nuevamente. Si el cliente no puede proporcionar su número de pedido, no continúe @Escalate:Support team.

Añadiendo notas para contexto del compañero

Use @Add note dentro de un paso de instrucción para dejar contexto interno en la conversación. Esto es especialmente útil antes de escaladas o transferencias, dando a los compañeros el contexto que necesitan.

Menos efectivo:

  • Paso 1: @use Get_Order_Details y diga al cliente el estado.

  • Paso 2: Si el pedido está perdido, @Escalate a Support team.

Más efectivo:

@use Get_Order_Details y diga al cliente el estado. Si el pedido aparece como perdido o no entregado después de la fecha de entrega esperada, @Add note con el número de pedido, proveedor de envío, fecha de entrega esperada y estado actual del seguimiento. Luego @Escalate a Support team.


Usando el paso Condición

Las condiciones le indican a Fin cómo comportarse en diferentes situaciones. Puede usarlas para bifurcaciones mayores y distintas en su lógica.

Ejemplo: Condición de código para elegibilidad de reembolso

Este ejemplo usa una condición Código para verificar la salida de un conector de datos.

SI: data["Check refund eligibility"].decision == "eligible"

  • Informe al usuario que su suscripción es elegible para reembolso. Presente la opción de pausar como alternativa: "Si prefiere, puede pausar su suscripción en lugar de cancelarla; así no tendrá que pagar una tarifa de reinicio si decide volver más tarde." Confirme si el usuario desea continuar con el reembolso o pausar su suscripción.

  • Si el usuario desea continuar con su reembolso, entonces @Use Process refund para completar el reembolso. Una vez completado, informe al usuario que el reembolso ha sido procesado y los fondos estarán en su cuenta típicamente en 7-14 días.

SINO:

  • Informe al usuario que su suscripción no es elegible para reembolso. @Tag Not refund eligible.

  • Ofrézcale la opción de cancelar su suscripción y que esto pausará cualquier pago futuro.

  • @Escalate to Support team.

Ejemplo: Condición de lenguaje natural para estado de cumplimiento

Este ejemplo usa lenguaje natural para verificar un atributo.

SI: @Read Fulfillment status es 'fulfilled'

  • Notifique al cliente que su pedido no puede ser cancelado, ya que ya ha sido cumplido.

  • @End Fin continúa

Desde aquí, puede hacer clic en el ícono + para Agregar condición else if o Agregar else.


Trabajando con conectores de datos y atributos

Puede usar conectores de datos y atributos para obtener o actualizar información.

Llamando a un conector de datos

Puede instruir a Fin para usar un conector de datos para obtener o actualizar información de un sistema externo.

Ejemplo: @Use: Get order status y diga al cliente cuál es el estado de su pedido.

Permitiendo que Fin recopile entradas

No necesitas decir explícitamente a Fin que recopile los datos que un conector necesita. Fin infiere las entradas que debe recopilar según la configuración del conector.

Incorrecto (innecesariamente complejo):

Primero pide al cliente su correo electrónico, luego llama a @get_order_details con ese correo electrónico

Sencillo y claro:

Llama a @get_order_details

Leyendo datos de un conector

Cuando usas un conector de datos, los datos devueltos están disponibles durante todo el Procedimiento. Usa @read attribute para acceder a estos datos en pasos posteriores en lugar de llamar al mismo conector nuevamente.

Menos efectivo (más lento):

  • Paso 1: @use Get_Subscription_info e incluye @read plan status en tu respuesta

  • Paso 2: @use Get_Subscription_info e incluye @read refund eligibility en tu respuesta

Sencillo y más rápido:

  • Paso 1: @use Get_Subscription_info incluye @read plan status en tu respuesta

  • Paso 2: incluye @read refund eligibility en tu respuesta

Leyendo un atributo de Intercom

También puedes leer datos de Intercom como atributos de People, Company o Conversation.

Ejemplo: Informa al cliente su @Read People.Plan


Uso de Secciones

Las secciones te permiten organizar un Procedimiento en bloques lógicos con nombre. Por defecto, Fin ejecuta los pasos de arriba hacia abajo sin importar los límites de sección; las secciones no cambian el comportamiento de ejecución a menos que indiques a Fin que salte a una.

Ejemplo: Organizando un procedimiento de devoluciones con secciones

Divide un procedimiento largo en secciones con nombre para mejorar la legibilidad y facilitar la navegación con Ir a sección.

Sección: Verificar pedido

  • @use Get_Order_Details. Si no se encuentra el pedido, informa al cliente y @End Fin continúa.

Sección: Determinar tipo de devolución

  • Pregunta al cliente si desea un reembolso o un cambio.

SI: el cliente quiere un reembolso

  • Ir a sección: Procesar reembolso

SINO:

  • Ir a sección: Procesar cambio

Sección: Procesar reembolso

  • @use Process_Refund e informa al cliente que el reembolso llegará en 7-14 días. @Add note con el número de pedido y el monto del reembolso. @End Fin continúa.

Sección: Procesar cambio

  • Pregunta al cliente qué artículo desea en su lugar. @use Create_Exchange y confirma los detalles del nuevo pedido. @End Fin continúa.

Cuándo usar secciones vs sub-procedimientos

Usa secciones para organizar el flujo dentro de un solo procedimiento. Usa sub-procedimientos cuando la misma lógica se reutiliza en varios procedimientos o cuando quieres encapsular una pieza compleja de lógica que tiene sus propias entradas y salidas.


Uso de sub-procedimientos

Los sub-procedimientos son conjuntos reutilizables de pasos que pueden ser llamados desde otro Procedimiento. Esto se recomienda para lógica compleja o repetida.

Ejemplo: Ejecutando un sub-procedimiento en una condición

Puedes ejecutar un sub-procedimiento como parte de una rama condicional.

SI: la elección del cliente es devolver el artículo y obtener un reembolso completo

  • Envía el enlace https://... para descargar la etiqueta de devolución y explica que recibirán un reembolso completo después de que los zapatos hayan sido devueltos en 3-5 días.

SINO:

  • @Run sub-procedure Enviar etiqueta de devolución y dar código de descuento

Nombrando sub-procedimientos

Usa nombres claros y orientados a la acción que comuniquen lo que hace el sub-procedimiento.

Buenos nombres:

  • CollectPaymentInfo

  • VerifyUserIdentity

  • ResolveDeliveryIssue

Malos nombres:

  • Step4

  • ParteB

  • ManejarSecciónDeReembolsoA


Usando el paso Ask Teammate (Human-in-the-Loop)

El paso Ask Teammate permite que Fin pause a mitad del procedimiento y solicite la opinión de un compañero humano — sin ceder toda la conversación. Úsalo para decisiones de alto riesgo, sensibles o complejas donde quieres automatización la mayor parte del tiempo pero aún necesitas un humano en puntos clave.

Ejemplo: Aprobación de reembolso por encima de un umbral

Paso 1: @use Check_Refund_Eligibility. Si es elegible, @read refund amount.

SI: data["Check_Refund_Eligibility"].refund_amount > 500

  • Informa al cliente que su solicitud de reembolso está siendo revisada y que recibirá respuesta pronto.

  • Ask Teammate: "El cliente está solicitando un reembolso de @read refund amount para el pedido @read order number. Motivo: @read refund reason. Por favor aprueba o niega."

SINO:

  • @use Process_Refund e informa al cliente que el reembolso ha sido procesado. Los fondos llegarán en 7-14 días.

Cómo funciona Ask Teammate

Cuando Fin llega al paso Ask Teammate:

  1. Fin pausa y envía una nota al compañero asignado con el contexto que has configurado.

  2. El compañero ve la conversación en una vista dedicada Needs teammate input en el inbox.

  3. El compañero puede enviar una respuesta (Fin reanuda el procedimiento usando su aporte) o tomar el control de la conversación completamente (Fin se detiene).

  4. Si nadie responde dentro del tiempo configurado, Fin envía un mensaje de escalada al cliente y asigna la conversación a tu equipo de escalada.

Consejos para Ask Teammate

  • Proporciona un contexto claro en la nota — Incluye los datos específicos que el compañero necesita para tomar una decisión (por ejemplo, monto del reembolso, detalles del pedido, historial del cliente).

  • No uses Ask Teammate para decisiones rutinarias — Si la lógica puede expresarse como una condición o verificación de código, usa esas en su lugar. Reserva Ask Teammate para situaciones realmente ambiguas o de alto riesgo.


Cambio entre Procedimientos

Puedes dirigir a Fin para que pase de un procedimiento a otro cuando las necesidades del cliente cambien a mitad de la conversación.

Usando @Switch para cambio determinista

Usa el comando @Switch dentro de un paso de instrucción para moverte explícitamente a otro procedimiento.

Ejemplo:

Si el cliente dice que quiere cancelar su suscripción en lugar de actualizar su método de pago, @Switch al procedimiento de Cancelación.

Usando Agentic Switch para cambio automático

Cuando Agentic Switch está habilitado, Fin puede cambiar autónomamente del procedimiento actual a otro procedimiento activo si determina que la intención del cliente ha cambiado. Fin toma esta decisión basándose en la conversación y las descripciones de activación del procedimiento, y puede hacer preguntas aclaratorias para despejar dudas.

Agentic Switch es opcional y puede habilitarse desde la configuración del procedimiento. Aún puedes usar @Switch para control determinista junto con Agentic Switch.


Usando otros pasos y guías

Usa Guidance para reglas generales y pasos End para indicarle a Fin qué hacer a continuación.

Guía del Procedimiento

Usa la sección Guidance para reglas globales sobre cómo Fin debe interactuar durante este Procedimiento.

  • Ejemplo: "Nunca menciones un reembolso a menos que el cliente lo mencione primero."

Pasos End

Los pasos End le indican a Fin que el Procedimiento ha terminado y qué hacer a continuación.

  • Ejemplo (Pasar a flujo de trabajo reutilizable): Si el cliente aún no proporciona el número de pedido, entonces @Pass to reusable workflow Agent Handover.

  • Ejemplo (End y escalar): @End - Escalate al equipo de Soporte

  • Ejemplo (End y dejar que Fin continúe): @End - Let Fin continue


    Consejos para construir mejores Procedimientos

    Usa revisión impulsada por AI antes de publicar

    Después de construir tu procedimiento, usa la revisión del procedimiento impulsada por AI para verificar posibles problemas en tus instrucciones. La revisión analiza tus pasos y señala problemas que podrían hacer que Fin no los siga de manera confiable. Es una forma rápida de detectar problemas antes de que tus clientes los encuentren.

    Usa notas de versión y reversión

    Al publicar cambios en un procedimiento activo, agrega una nota de versión describiendo lo que cambiaste. Si algo sale mal, puedes ver tu historial de versiones y revertir a cualquier versión previamente activa directamente desde la página del procedimiento.

  • Ejemplo (End con un mensaje): @End con el mensaje "¡Gracias por contactarnos! Si necesitas algo más, solo envíanos otro mensaje." Envía un mensaje de cierre al cliente antes de que termine el procedimiento.

  • Ejemplo (End y cerrar conversación): @End - Close conversation. Esto termina el procedimiento y cierra automáticamente la conversación.

  • Ejemplo (End y crear un ticket): @End - Create a ticket usando el tipo de ticket "Bug Report". Esto termina el procedimiento y solicita al cliente crear un ticket, luego pasa la conversación a un compañero.

¿Ha quedado contestada tu pregunta?