如何为 Amazon Connect 联络中心的座席间呼叫设置分机?

4 分钟阅读
0

我希望 Amazon Connect 联络中心的座席能够直接相互呼叫。如何设置分机以支持这一需求?

简短描述

要允许 Amazon Connect 联络中心的代理使用直拨分机互相呼叫,请执行以下操作:

重要提示:请务必在 Amazon Connect 实例所在的 AWS 区域执行以下步骤。

解决方法

创建一个 DynamoDB 表,用来保存代理登录名及其分机

1.    打开 DynamoDB 控制台

2.    在 Create DynamoDB table(创建 DynamoDB 表)屏幕上,执行以下操作:
对于 Table name(表名称),输入AgenttoAgent(代理间)。
对于 Partition key(分区键)面板中的 Primary key(主键),输入 Extension(分机)。
对于 Data type(数据类型),选择 String(字符串)。

3.    选择 Create(创建)。

4.    为每个代理登录名分配一个唯一的分机。然后将分机和座席登录名添加到表中。 分机的属性名称****键应为 Extension。在 DynamoDB 表中创建项目时,座席登录名的属性名称****键应为 AgentLoginName
注意:有关如何编辑 DynamoDB 表的更多信息,请参阅使用控制台或 AWS CLI 将数据写入表

创建一个 IAM 角色,以便 Lambda 函数在 DynamoDB 中查找代理登录名时代入该角色

使用以下 JSON 策略创建一个 IAM 角色

{
    "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": "*"
        }
    ]
}

创建一个 Lambda 函数,以便使用分机输入查询 DynamoDB 表并返回该表中对应的代理登录名

使用以下 Python 代码创建一个 Lambda 函数并附加之前创建的角色:

import json
import 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

将此 Lambda 函数添加到您的 Amazon Connect 实例

1.    打开 Amazon Connect 控制台

2.    在 Instance Alias(实例别名)列中,选择您的 Amazon Connect 实例的名称。

3.    在左侧导航窗格中,选择 Contact flows(联系流)。

4.    在 AWS Lambda 部分,选择 Function(函数)下拉列表。然后选择您在上一部分创建的 Lambda 函数。
注意Function(函数)下拉列表仅包含 Amazon Connect 实例所在区域的函数的名称。如果未列出任何函数,则选择 Create a new Lambda function(创建新的 Lambda 函数),以在正确的区域创建一个新函数

5.    选择 Add Lambda Function(添加 Lambda 函数)。然后,确认函数的 ARN 已添加到 Lambda Functions(Lambda 函数)下。

现在,您可以在 Amazon Connect 联系流中引用您创建的 Lambda 函数。有关将 Lambda 与 Amazon Connect 集成的更多信息,请参阅调用 AWS Lambda 函数

创建一个客户队列流 (AgentQueueFlow),以检查代理是否方便接听通话

创建一个新的客户队列流。选择 Create customer queue flow(创建客户队列流)后,系统将打开联系流设计器。

在联系流设计器中,执行以下操作:

添加“检查人员配置”块

要检查代理是否方便接听通话,请使用检查人员配置块。

1.    选择 Branch(分支)。

2.    将一个 Check staffing(检查人员配置)块拖放到 Entry point(入口点)块右侧的画布上。

3.    对于 Status to check(要检查的状态),请选择 Available(方便通话)。

4.    选择 Save(保存)。

注意:您会看到 Check staffing(检查人员配置)块的三个输出TrueFalse 以及 Error(错误)。

向“检查人员配置”数据块的 True 输出添加一个“循环提示”数据块

要在来电人排队时播放提示,请使用循环提示数据块。

1.    选择 Interact(交互)。

2.    将一个 Loop prompts(循环提示)数据块拖放到 Check staffing(检查人员配置)数据块右侧的画布上。然后将 Loop prompts(循环提示)数据块连接到 Check staffing(检查人员配置)数据块的 True 输出。

3.    选择块标题(Loop prompts(循环提示))。这时将打开该数据块的设置菜单。

4.    对于 Prompts(提示),选择 Text-to-speech(文本到语音转换)。然后输入以下提示:“Now we will be transferring the call to $.External.AgentLoginName”(现在我们将转接到 $.External.AgentLoginName)
注意:您可以根据自己的具体使用案例更改提示。

5.    选择 Add another prompt to the loop(向循环添加其他提示)。

6.    选择 Audio recording(录音)。然后选择您希望来电人在等待被叫代理接听通话时听到的音乐。

7.    对于 Interrupt(中断),选择 Interrupt every 1 minutes(每 1 分钟中断一次),或者您希望通话超时退出的任何时间范围。

8.    选择 Save(保存)。

向“检查人员配置”块的 False 和 Error(错误)输出添加一个“循环提示”块

1.    选择 Interact(交互)。

2.    将一个 Loop prompts(循环提示)数据块拖放到 Check staffing(检查人员配置)数据块右侧的画布上。然后向 Check staffing(检查人员配置)块的 FalseError(错误)输出添加 Loop prompts(循环提示)块。

3.    选择块标题(Loop prompts(循环提示))。这时将打开该数据块的设置菜单。

4.    对于 Prompts(提示),选择 Text-to-speech(文本到语音转换)。然后输入以下提示:“The agent you are trying to reach is either not available or is busy on another call.Please try again later.”(您呼叫的坐席不在或正在接听其他电话。请稍后重试。)
注意:您可以根据自己的具体使用案例更改提示。

5.    对于 Interrupt(中断),请选择 Interrupt every 4 seconds(每 4 秒中断一次),或者完成您在第 4 步中输入的任何提示后中断。此时间之后,超时分支将会开始。

6.    选择 Save(保存)。

添加“断开连接”块

1.    选择 Terminate/Transfer终止/转移)。

2.    将一个 Disconnect(断开连接)块拖放到 Loop prompts(循环提示)块右侧的画布上。

3.    将所有 Timeout(超时)和 Error(错误)分支连接到 Disconnect(断开连接)块。

4.    选择 Save(保存)以保存联系流草案。然后选择 Publish(发布)以激活此联系流。

创建一个入站联系流 (AgentToAgentCall),以在代理呼叫其他代理的分机时触发 Lambda 函数。

创建一个新的入站联系流。选择 Create contact flow(创建新联系流)后,系统将打开联系流设计器。

在联系流设计器中,执行以下操作:

注意:以下是基本入站联系流的示例。您可能需要为您的具体使用案例添加或编辑不同的块。例如,您可以将 Error(错误)分支连接到 Play prompt(播放提示)块以播放自定义消息。

添加“存储客户输入”块

要存储发出代理间通话的代理输入的分机,请使用存储客户输入块。

1.    选择 Interact(交互)。

2.    将一个 Store customer input(存储客户输入)块拖放到 Entry point(入口点)块右侧的画布上。

3.    选择块标题(Store customer input(存储客户输入))。这时将打开该数据块的设置菜单。

4.    选择 Text-to-speech(文本到语音转换)。然后输入一条要求来电人输入代理分机的消息。例如:“Please enter the agent's extension number to continue.”(请输入坐席的分机号码以继续。)

5.    在 Customer input(客户输入)部分,选择 Custom(自定义)。然后输入您希望代理分机号码使用的最大位数。

6.    选择 Save(保存)。

添加“调用 AWS Lambda 函数”块

要调用 Lambda 函数并使其返回与分机输入对应的代理登录名,请使用调用 AWS Lambda 函数块。

1.    选择 Integrate(集成)。

2.    将一个 Invoke AWS Lambda function(调用 AWS Lambda 函数)块拖放到 Store customer input(存储客户输入)块右侧的画布上。

3.    选择块标题(Invoke AWS Lambda function(调用 AWS Lambda 函数))。这时将打开该数据块的设置菜单。

4.    选择您之前创建的 Lambda 函数。

5.    在 Function input parameters(函数输入参数)部分,单击 Add a parameter(添加参数),然后选择 Use attribute(使用属性)。然后执行以下操作:
对于 Destination key(目的地键),输入属性名称 Extension(分机)。
对于 Type(类型),选择 System(系统)。
对于 Attribute(属性),选择 Stored customer input(存储的客户输入)。

6.    选择 Save(保存)。

添加“设置工作队列”块

要将工作队列设置为代理的队列,请使用设置工作队列块。

1.    选择 Set(设置)。

2.    将一个 Set working queue(设置工作队列)块拖放到 Invoke AWS Lambda function(调用 AWS Lambda 函数)块右侧的画布上。

3.    选择块标题(Set working queue(设置工作队列))。这时将打开该数据块的设置菜单。

4.    对于 Outputs(输出),选择 By agent(按代理)。然后选择 Use attribute(使用属性)并执行以下操作:
对于 Type(类型),选择 External(外部)。
对于 Attribute(属性),输入 AgentLoginName(Lambda 函数返回的属性)。

5.    选择 Save(保存)。

添加“设置客户队列流”块

要指定在代理进入其他代理的分机 (AgentToAgentCall) 时要调用的流,请使用设置客户队列流块。

1.    选择 Set(设置)。

2.    将一个 Set customer queue flow(设置客户队列流)块拖放到 Set working queue(设置工作队列)块右侧的画布上。

3.    选择 Select a flow(选择流)。

4.    选择 AgentQueueFlow
注意:您将在下一部分创建 AgentQueueFlow 客户队列流。

5.    选择 Save(保存)。

添加“转接队列”块

要结束联系流 (AgentToAgentCall) 并将来电人置于客户队列流 (AgentQueueFlow) 中,请使用转接队列块。

1.    选择 Terminate/Transfer终止/转移)。

2.    将一个 Transfer to queue(转接队列)块拖放到 Set customer queue flow(设置客户队列流)块右侧的画布上。

注意:对于此使用案例,无需为 Transfer to queue(转接队列)块配置任何设置。

添加“断开连接”块

要在将来电人转接到客户队列流 (AgentQueueFlow) 后将其从联系流 (AgentToAgentCall) 断开,请添加一个断开连接块。

1.    选择 Terminate/Transfer终止/转移)。

2.    将一个 Disconnect(断开连接)块拖放到 Transfer to queue(转接队列)块右侧的画布上。

3.    选择 Save(保存)以保存联系流草案。然后选择 Publish(发布)以激活此联系流。

重要提示:务必要为代理分配电话号码以使用 AgentToAgentCall 联系流进行内部通话。

创建快速连接以便代理使用内部通话功能

1.    使用以下配置创建一个快速连接
将此快速连接命名为 InternalCalling
对于 Type(类型),选择 External(外部)。
对于 Destination(目的地),输入您分配给 AgentToAgentCall 联系流的电话号码

2.    InternalCalling 快速连接添加到分配给您希望有权使用内部通话功能的代理的队列

注意:每次通话的费用取决于通话的持续时间。有关定价的更多信息,请参阅 Amazon Connect 定价


AWS 官方
AWS 官方已更新 3 年前