Saltar al contenido

¿Cómo configuro las extensiones para que los agentes se llamen entre sí directamente en mi centro de contacto de Amazon Connect?

8 minutos de lectura
0

Quiero configurar extensiones para que los agentes de mi centro de contacto de Amazon Connect puedan llamarse directamente entre sí.

Solución

Nota: Completa los siguientes pasos en la misma región de AWS en la que se encuentra tu instancia de Amazon Connect.

Crea una tabla de DynamoDB que contenga los nombres de inicio de sesión de los agentes y sus extensiones

Sigue estos pasos:

  1. Abre la consola de Amazon DynamoDB.
  2. En la página Crear una tabla de DynamoDB, introduce AgenttoAgent en Nombre de la tabla.
  3. En Clave principal, introduce Extensión en el panel Clave de partición.
  4. En Tipo de datos, elige Cadena.
  5. Selecciona Crear.
  6. Asigna una extensión única al nombre de inicio de sesión de cada agente.
  7. Añade las extensiones y los nombres de inicio de sesión de los agentes a la tabla.
    Nota: En las extensiones Clave del nombre de atributo, introduce Extensión.  En la Clave del nombre de atributo de los nombres de inicio de sesión de los agentes, introduce AgentLoginNameAgentLoginName.

Nota: Para obtener más información sobre cómo editar tablas de DynamoDB, consulta Escribir datos en una tabla de DynamoDB.

Creación de un rol de IAM para la función de Lambda

Crea un rol de AWS Identity y Access Management (IAM) para tu función de Lambda. A continuación, adjunta la siguiente política al rol para que Lambda pueda encontrar el nombre de inicio de sesión de un agente en DynamoDB:

{    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGetItem",
                "dynamodb:GetItem",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWriteItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem"
            ],
            "Resource": "Replace with ARN of DynamoDB table you created"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}

Creación de una función de Lambda

Crea una función de Lambda. En el editor de código integrado, introduce el siguiente código de Python que consulta la tabla de DynamoDB con una entrada de extensión y devuelve el nombre de inicio de sesión del agente correspondiente de la tabla:

import jsonimport boto3
from boto3.dynamodb.conditions import Key


def get_agent_id(Extension, dynamodb=None):
    if not dynamodb:
        dynamodb = boto3.resource('dynamodb')

    table = dynamodb.Table('AgenttoAgent')
    response = table.query(
        KeyConditionExpression=Key('Extension').eq(str(Extension))
    )
    return response['Items']


def lambda_handler(event, context):
    Extension = event['Details']['Parameters']['Extension']
    AgentLoginName = get_agent_id(Extension)
    for agent in AgentLoginName:
        print(agent['Extension'], ":", agent['AgentLoginName'])

    print(AgentLoginName)

    return agent

Tras crear la función, asocia el rol de IAM a tu función.

Adición de la función de Lambda a la instancia de Amazon Connect

Sigue estos pasos:

  1. Abre la consola de Amazon Connect.
  2. En la columna Alias de instancia, elige el nombre de tu instancia de Amazon Connect.
  3. En el panel de navegación, selecciona Flujos de contacto.
  4. En la sección AWS Lambda, selecciona la función de Lambda de la lista desplegable Función.
  5. Elige Agregar función de Lambda.
  6. En Funciones de Lambda, añade el ARN de la función.

Para obtener más información sobre cómo integrar Lambda con Amazon Connect, consulta Concesión de acceso a sus funciones de AWS Lambda a Amazon Connect.

Creación de un flujo de cola de clientes que verifique la disponibilidad de un agente para recibir una llamada

Sigue estos pasos:

  1. Crea un nuevo flujo de cola de clientes.
  2. Añade el bloque Revisar personal.
  3. Elige Crear ramificaciones.
  4. Arrastra y suelta el bloque Revisar personal en la hoja después del bloque Punto de entrada.
  5. En Estado que revisar, elige Disponible.
  6. Elige Guardar.

Nota: El bloque Revisar personal tiene tres ramificaciones, Verdadero, Falso y Error.

Adición de un bloque Encadenar mensajes en bucle a la ramificación Verdadero del bloque Revisar personal

Sigue estos pasos:

  1. Selecciona Interactuar.
  2. Arrastra y suelta un bloque Encadenar mensajes en bucle en la hoja después del bloque Revisar personal.
  3. Conecta el bloque Encadenar mensajes en bucle a la ramificación Verdadero del bloque Revisar personal.
  4. Selecciona Encadenar mensajes en bucle para abrir el menú de ajustes del bloque.
  5. En Peticiones, elige Text-to-Speech (Texto a voz) y, a continuación, introduce una petición similar a «Ahora transferiremos la llamada a $.External.AgentLoginName».
  6. Selecciona Agregar otro mensaje al bucle.
  7. Selecciona Grabación de audio y, a continuación, elige la música que escucharán las personas que llaman mientras esperan a que el agente acepte la llamada.
  8. En Interrumpir, elige el tiempo de espera máximo de la llamada. Por ejemplo, elige Interrumpir cada 1 minuto.
  9. Selecciona Guardar.

Adición de un bloque Reproducir peticiones a las ramificaciones Falso y Error del bloque Revisar personal

Sigue estos pasos:

  1. Selecciona Interactuar.
  2. Arrastra y suelta el bloque Reproducir peticiones en la hoja después del bloque Revisar personal.
  3. Conecta el bloque Reproducir peticiones a las ramificaciones Falso y Error del bloque Revisar personal.
  4. Selecciona Reproducir peticiones para abrir el menú de ajustes del bloque.
  5. Selecciona Text-to-speech o Texto de chat.
  6. En la sección Establecer manualmente, introduce un mensaje similar al siguiente: «El agente con el que estás intentando contactar no está disponible o está ocupado con otra llamada. Vuelve a intentarlo más tarde».
  7. Selecciona Guardar.

Adición de un bloque Desconectar/Colgar

Sigue estos pasos:

  1. Selecciona Finalizar/Transferir.
  2. Arrastra y suelta el bloque Desconectar/Colgar en la hoja después del bloque Reproducir peticiones.
  3. Conecta todas las ramificaciones Tiempo de espera y Error al bloque Desconectar/Colgar y a la ramificación Correcto del bloque Reproducir peticiones
  4. Selecciona Guardar.
  5. Selecciona Publicar.

Creación de un flujo de contacto entrante que active la función de Lambda cuando un agente llame a la extensión de otro agente

  1. Crea un nuevo flujo de contactos entrantes.
  2. Selecciona Crear flujo de contacto para abrir el diseñador de flujos de contacto.

Nota: Puedes añadir o editar bloques según lo requiera tu caso de uso. Por ejemplo, puedes conectar las ramificaciones Error a los bloques Reproducir peticiones para reproducir un mensaje personalizado.

Adición de un bloque Almacenar la entrada del cliente

Sigue estos pasos:

  1. Selecciona Interactuar.
  2. Arrastra y suelta un bloque Almacenar la entrada del cliente en la hoja después del bloque Punto de entrada.
  3. Selecciona Almacenar la entrada del cliente para abrir el menú de configuración del bloque.
  4. Selecciona Text-to-speech y, a continuación, escribe un mensaje similar al siguiente: «Introduce el número de extensión del agente para continuar».
  5. En la sección Entrada del cliente, elige Personalizar y, a continuación, introduce la cantidad de dígitos que se utilizarán para la extensión de cada agente.
  6. Selecciona Guardar.

Adición de un bloque Invocar la función de AWS Lambda

Sigue estos pasos:

  1. Elige Integrar.
  2. Arrastra y suelta un bloque Invocar la función de AWS Lambda en la hoja después del bloque Almacenar la entrada del cliente.
  3. Elige Invocar la función de AWS Lambda para abrir la configuración del bloque.
  4. Selecciona la función de Lambda.
  5. En la sección Parámetros de entrada de función, elige Agregar un parámetro y, a continuación, elige Usar atributo.
  6. En Clave de destino, introduce el nombre de atributo de Extensión.
  7. En Tipo, elige Sistema.
  8. En Atributo, elige Entrada del cliente almacenada.
  9. Selecciona Guardar.

Adición de un bloque Establecer cola de trabajo

Sigue estos pasos:

  1. Elige Establecer.
  2. Arrastra y suelta un bloque Establecer cola de trabajo en la hoja después del bloque Invocar la función de AWS Lambda.
  3. Selecciona Establecer cola de trabajo para abrir el menú de ajustes del bloque.
  4. En Salidas, elige Por agente y, a continuación, elige Usar atributo.
  5. En Tipo, elige Externo.
  6. En Atributo, introduce AgentLoginName.
  7. Selecciona Guardar.

Adición de un bloque Establecer flujo de cola de clientes

Sigue estos pasos:

  1. Elige Establecer.
  2. Arrastra y suelta un bloque Establecer flujo de cola de clientes en la hoja después del bloque Establecer cola de trabajo.
  3. Elige Seleccionar un flujo.
  4. Elige AgentQueueFlow.
  5. Selecciona Guardar.

Adición de un bloque Transferir a la cola

Sigue estos pasos:

  1. Selecciona Finalizar/Transferir.
  2. Arrastra y suelta un bloque Transferir a la cola en la hoja después del bloque Establecer flujo de cola de clientes.
    Nota: Para este caso práctico, no es necesario configurar los ajustes del bloque Transferir a la cola.

Adición de un bloque Desconectar/Colgar

Sigue estos pasos:

  1. Selecciona Finalizar/Transferir.
  2. Arrastra y suelta el bloque Desconectar/Colgar en la hoja después del bloque Transferir a la cola.
  3. Selecciona Guardar.
  4. Selecciona Publicar.
    Importante: Asegúrate de asignar un número de teléfono para que los agentes lo usen para realizar llamadas internas al flujo de contactos AgentToAgentCall.

Creación una conexión rápida que permita a los agentes utilizar la característica de llamadas internas

Sigue estos pasos:

  1. Asigna a la conexión rápida el nombre InternalCalling.
  2. En Tipo, elige Externo.
  3. En Destino, introduce el número que asignaste al flujo de contactos AgentToAgentCall.
  4. Añade la conexión rápida InternalCalling a las colas que asignaste a los agentes.
    Nota: El coste de cada llamada depende de su duración. Para obtener más información sobre los precios, consulta Precios de Amazon Connect.

Información relacionada

Definiciones de bloques de flujo en el diseñador de flujos de Amazon Connect