Ir al contenido principal

Integración de Fin Voice con Amazon Connect usando desvío de llamadas

Aprende cómo conectar Fin Voice a Amazon Connect usando desvío de llamadas PSTN para resolver preguntas de clientes al instante con IA.

Escrito por Dawn

Esta guía te ayuda a conectar Fin Voice, el Agente AI de Intercom para soporte telefónico, con tu cuenta de Amazon. Siguiendo estos pasos, puedes responder llamadas de clientes al instante usando el contenido de tu Help Center, asegurando que los problemas complejos se transfieran sin problemas a tu equipo humano con un resumen y transcripción generados por IA.

Consejo profesional: Esta integración usa la API de Intercom. Recomendamos que un compañero técnico o desarrollador ayude con la configuración del script en Amazon Connect Flow Designer.


Cómo funciona la integración

Esta integración usa el desvío de Public Switched Telephone Network (PSTN) para enrutar llamadas entre Amazon e Intercom:

  1. Amazon → Fin Voice: Amazon desvía llamadas entrantes a un número dedicado de Fin Voice comprado en Intercom.

  2. Resolución Fin Voice: Fin responde al instante, usando tu Help Center para resolver el problema.

  3. Fin Voice → Amazon: Si Fin no puede resolver la llamada, la desvía de nuevo a un número dedicado de escalación de Amazon.

  4. Transferencia de contexto: Amazon Connect usa la API de Fin Voice para recuperar el resumen y la transcripción de la llamada para tus compañeros.

Importante: Esta integración solo funciona cuando Amazon Connect, Lambda y Fin Voice están conectados en un orden específico. Salirse de este causará colgadas silenciosas.

  • Lambda debe ejecutarse antes de la transferencia: Debes registrar la intención vía Lambda antes del bloque de transferencia.

  • Se requiere demora: Debe existir una breve demora (Reproducir aviso) justo antes del bloque de Transferencia.

  • Solo un camino: Debe haber exactamente un camino de éxito hacia el bloque de Transferencia.

  • ID de llamante: Debe ser un número de teléfono válido E.164. Nunca mezcles configuraciones manuales y dinámicas de ID de llamante.


Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos:

Requisito

Descripción

Fin Voice

Fin Voice habilitado y alojado en regiones US, EU o AU.

Acceso de administrador

Requerido tanto para Intercom como para Amazon para gestionar el enrutamiento y los tokens de API.

Knowledge Base

Contenido actualizado del Help Center para que Fin lo consulte.

Token de acceso de Intercom

Se requiere un token de acceso válido (API Key) para autenticar el script de la función Lambda.

Entorno AWS

Una instancia activa de Amazon Connect con permisos para crear funciones Lambda y Contact Flows.


1. Prueba Fin Voice

Antes de lanzar, usa la pestaña Voice Testing para simular llamadas en tu navegador.

  1. Haz clic en Play y comienza a hablar para escuchar las respuestas de Fin.

  2. Usa Settings (arriba a la derecha) para cambiar voces o previsualizar saludos y reglas de escalación.


2. Crea una línea Fin Voice

Para pasar de pruebas a una línea en vivo, debes comprar un número dedicado dentro de Intercom.

  1. Haz clic en + New line.

  2. Selecciona External Provider y haz clic en Next.

  3. Nombra tu línea, selecciona From a phone number (PSTN) y haz clic en Next.

  4. Haz clic en Purchase para adquirir un número local de US.


3. Configura grabaciones y comportamiento

Habilita Herramientas de Contexto

Para permitir que los compañeros vean lo que ocurrió durante la parte de IA de la llamada, habilita configuraciones globales:

  1. Activa Enable recordings, Transcripts y Call transcription summaries.

  2. Regresa a la sección Fin AI Agent > Deploy > Phone > Set Fin live, desde aquí puedes ajustar cómo se comporta Fin:

  • Horario de oficina: Define cuándo Fin debe responder (por defecto 24/7).

  • Voz e idioma: Elige una voz que se adapte a tu marca.

  • Contenido de soporte: Selecciona qué artículos del Help Center debe consultar Fin.

  • CSAT: Habilitar calificaciones con teclado (1–5) para llamadas resueltas.


4. Crear la función Lambda

Debe crear una función Lambda en AWS para registrar la llamada con Fin Voice. Esta función devuelve un fin_intent_id requerido para la transferencia.

  1. En su consola AWS, navegue a Lambda y haga clic en Create function.

  2. Seleccione Author from scratch.

  3. Ingrese un nombre para la función (por ejemplo, intent_to_use_fin).

  4. Para Runtime, seleccione Node.js 18.x (o superior).

  5. En Configuration > Environment variables, agregue una nueva variable:

    • Key: INTERCOM_TOKEN

    • Value: Su token de acceso real de Intercom.

  6. En Code, pegue el siguiente script. Esto envía detalles de la llamada a la API de Intercom y devuelve un fin_intent_id requerido para la transferencia.


export const handler = async (event) => {
const contactId = event?.Details?.ContactData?.ContactId;
const phoneNumber = event?.Details?.ContactData?.CustomerEndpoint?.Address;

if (!contactId || !phoneNumber) {
throw new Error("Missing contactId or phoneNumber");
}

const token = process.env.INTERCOM_TOKEN;
if (!token) throw new Error("Missing INTERCOM_TOKEN");

const response = await fetch("https://api.intercom.io/fin_voice/register", {
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Intercom-Version": "Unstable",
"Content-Type": "application/json",
},
body: JSON.stringify({
call_id: contactId,
phone_number: phoneNumber,
}),
});

const text = await response.text();
if (!response.ok) {
throw new Error(`Intercom ${response.status}: ${text}`);
}

const data = JSON.parse(text);

return {
fin_intent_id: String(data.id),
customer_phone: phoneNumber,
};
};

Consejo: Si la invocación de su Lambda falla silenciosamente en el siguiente paso, asegúrese de haber agregado la función Lambda a su instancia de Amazon Connect a través de la consola AWS (Amazon Connect > Instances > [Su instancia] > Contact Flows > AWS Lambda).


5. Configurar el flujo de Amazon Connect

Una vez que su función Lambda esté lista, debe agregarla a su flujo de Amazon Connect para manejar la transferencia. Debe conectar su Contact Flow en un orden específico para evitar fallos en la llamada.

El flujo canónico

Su flujo debe seguir esta secuencia exacta:

  1. Entrada

  2. Reproducir saludo

  3. Invocar función AWS Lambda (Sincronizado)

  4. Reproducir aviso (Retraso corto)

  5. Transferir a número de teléfono

  6. Finalizar flujo

Configuración paso a paso

  1. Agregar el bloque Invocar función AWS Lambda

    • ARN de función: Seleccione la función Lambda creada en el Paso 4.

    • Tiempo de espera: Establecer en 8 segundos.

    • Validación de respuesta: Seleccione String Map.

  2. Agregar el bloque Reproducir aviso (Retraso requerido) Fin Voice ignora señales DTMF enviadas demasiado pronto. Debe agregar un retraso justo antes de la transferencia.

    • Agregue un bloque Reproducir aviso.

    • Seleccione Texto a voz e ingrese una frase corta como "Por favor, espere un momento."

  3. Agregar el bloque Transferir a número de teléfono Este bloque transfiere la llamada a Fin.

    • Transferir a: Seleccione Establecer manualmente.

    • Código de país: Seleccione su país (por ejemplo, Estados Unidos +1).

    • Número de teléfono: Ingrese el número dedicado de Fin Voice comprado en el Paso 2.

    • Reanudar flujo después de desconexión: Establecer en No.

    • Enviar DTMF: Marque esta casilla.

      • Seleccione Establecer dinámicamente.

      • Namespace: External

      • Key: fin_intent_id

    • Número de identificación del llamante: Seleccione Establecer manualmente y elija un número verificado de su instancia Connect.

Importante: No use "Establecer dinámicamente" para el ID de llamante si ha seleccionado un número manual. Mezclar estos métodos causará que la transferencia falle.


6. Manejar el enrutamiento post-Fin

Si Fin transfiere la llamada de vuelta a Amazon Connect (por ejemplo, para un agente humano), puede usar una segunda función Lambda para recuperar detalles de la conversación.

  1. Cree una nueva función Lambda usando el código a continuación.

  2. Agregue esta función a su flujo después del bloque Transferir a número de teléfono (específicamente la rama "Éxito" si habilitó "Reanudar flujo").


export const handler = async (event) => {
const phoneNumber = event?.Details?.ContactData?.CustomerEndpoint?.Address;

const response = await fetch(
`https://api.intercom.io/fin_voice/phone_number/${phoneNumber}`,
{
method: "GET",
headers: {
Authorization: `Bearer ${process.env.INTERCOM_TOKEN}`,
"Intercom-Version": "Unstable",
Accept: "application/json",
},
}
);

if (!response.ok) {
throw new Error("Failed to retrieve Fin Voice call state");
}

const data = await response.json();
return {
status: data.status,
intercom_conversation_id: data.intercom_conversation_id,
call_summary: data.call_summary,
};
};


7. Agregar resumen de conversación a la interfaz de Connect

Para asegurar que los compañeros vean el resumen generado por AI cuando acepten una llamada, debe configurar una Vista en Amazon Connect.

Crear la vista

  1. Navegue a la interfaz de Views en Amazon Connect y haga clic en Create View.

  2. Busque y seleccione el componente Attribute Bar.

  3. Configura las propiedades de la barra de atributos:

    • Etiqueta: Establece en "Conversation Summary".

    • Valor: Establece en $.conversation_summary.

Crea el flujo de vista

  1. Crea un nuevo Flow para mostrar esta vista al cliente o compañero.

  2. Agrega un bloque Show View al flow.

  3. Establece la propiedad View a la vista que creaste en el paso anterior.

  4. Establece el Timeout en Set manually e ingresa 5 minutos (o la duración que prefieras).

  5. Bajo conversation_summary, selecciona Set dynamically:

    • Namespace: External

    • Key: conversation_summary

Conecta el flow al agente

  1. Regresa a tu flujo IVR original (donde configuraste la transferencia).

  2. Antes del bloque Transfer to queue (donde la llamada se dirige a un compañero), agrega un bloque Set event flow.

  3. Configura los ajustes del bloque:

    • Seleccionar evento: Flujo predeterminado para Agent UI.

    • Seleccionar un flow: Elige el flow "Show View" que acabas de crear.

  4. Conecta este bloque a tu bloque Transfer to queue.

Esta configuración asegura que cuando la llamada se transfiera, el compañero vea la barra "Conversation Summary" poblada con datos de Fin.

¿Ha quedado contestada tu pregunta?