Ir al contenido principal

Uso de la herramienta Wait for Webhook en Procedimientos Fin

Aprende a usar la herramienta Wait for Webhook para pausar un Procedimiento Fin a mitad de flujo y reanudarlo cuando un sistema externo envíe un callback, para integraciones asíncronas como verificación de identidad, pagos y aprobaciones.

Escrito por Dawn

La herramienta Wait for Webhook permite a Fin pausar a mitad del procedimiento y esperar una entrada externa. Úsala para automatizar procesos que requieren integración con sistemas de terceros como Onfido y Plaid, permitiendo procesamiento asíncrono.

Nota:

    • Wait for Webhook solo está disponible dentro de pasos de Instrucción. Agrégala escribiendo @ dentro de un paso de Instrucción y seleccionando Wait for Webhook en el selector de herramientas.


    Cuándo usar Wait for Webhook

    Usa esta herramienta cuando tu procedimiento necesite delegar a un sistema externo y esperar un resultado antes de continuar, y ese sistema procese solicitudes de forma asíncrona en lugar de devolver una respuesta inmediata.

    Casos de uso comunes incluyen:

    • Verificación de identidad o edad — esperando que un proveedor KYC (Conoce a tu Cliente) confirme la identidad del cliente

    • Autorización de pago — esperando que un procesador de pagos confirme una transacción

    • Vinculación de cuentas — esperando que un flujo OAuth (estándar de autorización abierta) se complete

    • Verificaciones de cumplimiento de pedidos — esperando que un sistema de almacén confirme la disponibilidad de stock

    • Workflows de aprobación — esperando que un equipo interno apruebe un reembolso o excepción


    Cómo funciona

    Cuando Fin llega a una herramienta Wait for Webhook en un procedimiento, sucede lo siguiente:

    1. Cuando inicia una ejecución de procedimiento, Fin genera una URL de callback única para cada herramienta Wait for Webhook.

    2. Configura tu procedimiento para pasar esta URL de callback a tu sistema externo usando un Conector de Datos antes de que Fin llegue a la herramienta Wait for Webhook.

    3. Una vez que el sistema externo completa su procesamiento y envía un webhook a la URL de callback, Fin captura la carga útil del webhook en los atributos de respuesta configurados y reanuda el procedimiento automáticamente.

    4. Si no se recibe un callback dentro del tiempo de espera configurado, Fin envía el mensaje de escalamiento configurado y asigna la conversación al responsable de escalamiento configurado.

    Importante: La URL de callback es única por ejecución de procedimiento. No puede reutilizarse en múltiples conversaciones ni almacenarse como un endpoint estático.


    Cómo agregar Wait for Webhook a un procedimiento

    1. Abre tu procedimiento en el editor.

    2. Dentro de un paso de Instrucción, escribe @ para abrir el selector de herramientas.

    3. Selecciona Wait for Webhook de la lista.

    4. La herramienta Wait for Webhook se inserta en el paso y se abre un panel lateral de configuración a la derecha.


    Cómo configurar la herramienta

    El panel lateral de configuración de Wait for Webhook tiene tres campos:

    Nombre de la herramienta

    Dale a la herramienta un nombre descriptivo (por ejemplo, "Wait for ID verification callback"). Este nombre identifica la herramienta en el editor y se referencia cuando mapeas la URL de callback como parámetro en tu Conector de Datos.

    Atributos de respuesta

    Define los campos que esperas que el sistema externo incluya en la carga útil del webhook. Cada atributo definido aquí se captura cuando llega el callback y puede referenciarse en pasos posteriores usando la herramienta Leer atributo.

    Por ejemplo, si tu proveedor de verificación de identidad envía un status y un reference_id, agrega ambos como atributos de respuesta aquí.

    Tiempo de espera y respaldo

    Configura cuánto tiempo debe esperar Fin por un callback antes de escalar. También debes configurar el mensaje de escalamiento enviado al cliente y seleccionar al responsable a quien se dirigirá la conversación si se alcanza el tiempo de espera.

    Importante: Siempre configura tanto un mensaje de escalamiento como un responsable de escalamiento en el panel lateral. Si falta alguno, el comportamiento del tiempo de espera puede ser impredecible.


    Cómo pasar la URL de callback a tu sistema externo

    La URL de callback se genera cuando inicia el procedimiento, no cuando la ejecución llega a la herramienta Wait for Webhook. Esto significa que puedes pasarla a tu sistema externo en cualquier paso anterior, incluso en el primer paso. Para pasar la URL, usa un Conector de Datos.

    1. Configura un Conector de Datos que llame a la API de tu sistema externo (por ejemplo, un endpoint "Start ID Verification").

    2. Configura el Conector de Datos para aceptar una URL de callback como parámetro de entrada.

    3. En el editor de procedimientos, mapea este parámetro de entrada al atributo URL de la herramienta webhook.

    4. Asegúrate de que el procedimiento esté configurado para llamar a este Conector de Datos antes de que llegue a la herramienta Wait for Webhook.

    5. Cuando Fin llama al Conector de Datos, pasa la URL de callback única en la solicitud. Tu sistema externo almacena esta URL y envía el callback webhook a ella una vez que el procesamiento se completa.

    Nota: La llamada al conector de datos que pasa la URL de callback debe ocurrir antes de la herramienta Wait for Webhook. Esto permite que el sistema externo tenga acceso a la URL de callback.


    Cómo leer los datos de respuesta después del callback

    Una vez que Fin recibe el callback webhook y reanuda el procedimiento, la carga útil de la respuesta se captura en los atributos de respuesta que definiste en la configuración de la herramienta Wait for Webhook. Usa la herramienta Leer atributo en un paso de Instrucción posterior para acceder a estos valores.

    Por ejemplo:

    • Lee verification_status para verificar si la comprobación de identidad fue aprobada o fallida.

    • Usa un paso de Condición para ramificar el flujo según el resultado.

    • Pasa valores de la respuesta a otro Conector de Datos para procesamiento adicional.

    Una vez que la herramienta Wait for Webhook ha recibido su callback y has ramificado según los atributos de respuesta capturados, el procedimiento continúa normalmente a su siguiente paso. Si el callback nunca llega dentro del tiempo de espera configurado, Fin escala como se describe en '¿Qué sucede cuando el tiempo de espera expira?' a continuación.


    ¿Qué sucede cuando el tiempo de espera expira?

    Cuando el tiempo de espera configurado de la herramienta Wait for Webhook expira sin recibir un callback, Fin siempre escala. No hay ramificación condicional; no puedes configurar un comportamiento diferente según el tiempo de espera. La escalación siempre sigue estos dos pasos:

    1. Mensaje de escalamiento: El mensaje que Fin envía al cliente cuando se activa el tiempo de espera.

    2. Responsable de escalamiento: El equipo o compañero al que se dirige la conversación después de enviar el mensaje.

    Consejo:

    • Configura tu tiempo de espera para que coincida con el tiempo de procesamiento esperado de tu sistema externo, con un margen razonable. Si tu proveedor normalmente responde en 10 segundos, un tiempo de espera de 60 segundos da un margen seguro manteniendo la experiencia receptiva.

    • Una vez que tu procedimiento esté configurado, usa Simulaciones en el editor de Procedimientos para validar el flujo Wait for Webhook de extremo a extremo antes de que llegue a clientes reales. Define una carga útil de callback simulada en la simulación y establece criterios de éxito basados en la ruta del procedimiento que esperas que Fin siga.


    Preguntas frecuentes

    Mi webhook nunca llegó — ¿qué sucede?

    Si no se recibe un callback dentro del tiempo de espera configurado, Fin activa la ruta de escalamiento: envía el mensaje de escalamiento configurado al cliente y dirige la conversación al responsable de escalamiento. El procedimiento no continúa.

    ¿Cómo obtengo la URL de callback para mi sistema externo?

    Usa un paso de Conector de Datos colocado antes de la herramienta Wait for Webhook en tu procedimiento. Configura el conector para llamar a la API de tu sistema externo y mapea el atributo callback de la herramienta webhook como parámetro de entrada. Fin pasa la URL de callback al sistema externo cuando se llama al conector, para que el sistema sepa dónde enviar el callback.

    ¿Puedo usar la misma URL de callback para múltiples conversaciones?

    No. La URL de callback es única por ejecución de procedimiento y se genera cuando inicia el procedimiento, no cuando la ejecución llega a la herramienta Wait for Webhook. Cada vez que un procedimiento se ejecuta para un cliente, se genera una nueva URL. No puedes almacenarla como un endpoint estático ni reutilizarla en múltiples conversaciones.

    ¿Qué campos de carga útil puede enviar mi sistema externo?

    Tu sistema externo puede incluir cualquier campo en la carga útil del webhook, pero solo los campos que hayas definido como atributos de respuesta en la configuración de la herramienta Wait for Webhook son capturados por Fin y están disponibles en pasos posteriores. Cualquier campo adicional en la carga útil es ignorado.

    ¿Qué sucede mientras Fin espera un callback?

    Mientras Fin está pausado esperando un callback webhook, no responde a mensajes entrantes del cliente. La conversación está efectivamente en silencio hasta que llega el callback o se activa el tiempo de espera.

    Consejo: Siempre agrega un paso de Instrucción antes de la herramienta Wait for Webhook para informar al cliente qué está sucediendo — por ejemplo, “Estamos verificando tu identidad. Por favor, completa el paso en el enlace que te hemos enviado.” Sin esto, Fin quedará en silencio a mitad de la conversación sin explicación para el cliente.

    ¿Qué permisos necesito para usar Wait for Webhook?

    Necesitas el permiso can manage workspace data para crear o editar Procedimientos Fin, incluyendo agregar la herramienta Wait for Webhook. Puedes revisar y actualizar permisos en Configuración > Workspace > Compañeros de equipo.

    ¿Ha quedado contestada tu pregunta?