I organized how far PBX-type extension requirements can be realized with Amazon Connect Customer
This page has been translated by machine translation. View original
Introduction
When considering the introduction of Amazon Connect Customer, you may wonder whether it supports extension features similar to those of a typical Private Branch Exchange (PBX).
However, the term "extension features" encompasses multiple requirements, such as:
- Consulting with or transferring to another agent during a customer call
- Routing incoming calls from outside to a specific agent
- Connecting to a specific agent by entering a number after an incoming call to a main number
- Presenting incoming calls addressed to an individual agent even while that agent is on a call
- Placing a direct call from an idle agent to another agent
Amazon Connect Customer realizes each of these through different features and configurations.
One point to pay particular attention to is the configuration where a caller enters a number after reaching a main number to connect to a specific agent. From the user's perspective, this looks like a "main number + extension number," but technically it is agent routing via Interactive Voice Response (IVR) and differs from PBX extension calling.
In this article, the feature where an idle agent initiates a call with another agent is referred to as "PBX-style extension calling," and is distinguished from the routing feature that connects incoming external calls to a specific agent.
Building on that, this article organizes the features available in Amazon Connect Customer into: contact transfer, incoming call routing to a specific agent, interrupting an agent on a call with a new incoming call, and direct outbound calling between agents.
Conclusion
The features available in Amazon Connect Customer can be organized as follows:
| Requirement | Main Implementation | Classification |
|---|---|---|
| Consult with or transfer to another agent during a customer call | User quick connect | Standard contact transfer feature |
| Route incoming calls to a personal external number to a specific agent | Flow, agent queue | Incoming call routing to a specific agent |
| Connect to a specific agent by entering a number after an incoming call to a main number | IVR, Data Tables, flow, agent queue | IVR routing by number input |
| Present incoming calls addressed to an individual agent even while that agent is on a call | Interrupt agent block |
Interrupting an agent with a new incoming call |
| Place a direct call from an idle agent to another agent | Third-party app in Agent Workspace, etc. | Agent-to-agent calling via custom implementation |
Amazon Connect Customer supports routing of contacts that arrive at the call center, as well as transferring contacts currently being handled, using standard features.
On the other hand, the typical PBX-style extension calling—where an idle agent enters a short number to place an outbound call to another agent—cannot be achieved with the standard user quick connect feature.
Therefore, rather than making a blanket judgment about whether Amazon Connect Customer supports extension features, it is necessary to consider each specific requirement separately.
1. Consulting with or Transferring to Another Agent During a Customer Call
When you need to reach another agent while on a call with a customer, you can use the quick connect feature in Amazon Connect Customer.
Quick connects come in the following types:
| Type | Destination |
|---|---|
| User quick connect | A specific agent |
| Queue quick connect | A specific queue |
| Phone number quick connect | An external phone number |
| Flow quick connect | A flow launched during a chat |
Using a user quick connect, the following operations are possible:
- Placing the customer on hold and consulting with another agent
- Transferring the customer to another agent
- Creating a multi-party call with the customer and multiple agents
- Having the transferring agent leave the call, leaving the customer in a call with the receiving agent
The flow of processing is as follows:
Agent A is on a call with a customer
↓
Agent A selects a user quick connect
↓
Customer is placed on hold
↓
Incoming call is presented to Agent B
↓
Agent B answers
↓
Agent A and Agent B speak
↓
Consult, transfer, or multi-party call
After the receiving agent answers, the transferring agent can either include the customer in a multi-party call or leave the call to complete the transfer.
Configuration examples for each type of quick connect are also introduced in the following article:
User Quick Connect Is Not PBX-Style Extension Outbound Calling
User quick connects and queue quick connects are displayed in the Contact Control Panel (CCP) when an agent transfers a contact that is currently being handled.
Therefore, user quick connects are intended for the following use case:
On a call with a customer
↓
Consult with or transfer to another agent
They are not a feature for starting a call between agents when there is no customer call, as shown below:
No call with a customer
↓
Agent A places a direct outbound call to Agent B
Transferring via user quick connect is similar to a PBX hold-transfer feature, but it must be considered separately from extension calling, where idle agents initiate a call with each other.
2. Routing Incoming Calls to a Personal External Number to a Specific Agent
In Amazon Connect Customer, incoming calls to an agent's personal external number can be routed directly to that specific agent.
This configuration uses the agent queue created for each user.
Using Agent Queues
In Amazon Connect Customer, an agent queue is created for each user within the instance.
By using an agent queue, contacts can be routed to a specific agent rather than to multiple agents belonging to a standard queue.
The "Set working queue" block in a flow allows you to directly select a specific agent. To specify an agent dynamically, pass the username or user ID as a contact attribute.
For example, if you provide a Direct Inward Dialing (DID) number for each agent, the following configuration is possible:
Incoming call to agent's DID number
↓
Incoming flow starts
↓
Set the target agent's agent queue
↓
Route to the target agent
From the user's perspective, this behaves like placing a direct call to a specific agent.
However, this is not a feature that assigns PBX extension endpoints to agents. It is a configuration where incoming calls to an Amazon Connect Customer external number are routed to a specific agent via a flow.
3. Connecting to a Specific Agent by Entering a Number After an Incoming Call to a Main Number
A configuration where a customer enters a number after calling a main number, and is then routed to the corresponding agent, can also be realized.
Incoming call to main number
↓
Customer enters an agent number via IVR
↓
Search for the agent based on the entered number
↓
Set the target agent's agent queue
↓
Route to the target agent
If the number customers are asked to enter is presented as an "extension number," it appears to the user as a "main number + extension number."
However, internally it is IVR routing that combines the following features:
- Capturing customer input
- Looking up the agent corresponding to the entered number
- Setting the agent queue
- Transferring to the queue
Therefore, in terms of feature classification, it is more accurate to describe this as "agent direct routing by number input" rather than "extension calling."
Managing Agent Numbers and Routing Destinations with Data Tables
For agent direct routing by number input, the correspondence between input numbers and agents can be managed using Data Tables.
Data Tables is a feature in Amazon Connect Customer that manages operational data in tabular form and allows it to be referenced from flows and other components. Changes to Data Tables can be referenced by subsequent flow executions without needing to republish the flow.
For example, you could create a correspondence table like the following:
| Agent Number | Agent Name | Routing Destination |
|---|---|---|
1001 |
Agent A | Agent A's identifier |
1002 |
Agent B | Agent B's identifier |
1003 |
Agent C | Agent C's identifier |
The flow processing image is as follows:
Start
↓
Capture customer input
↓
Data Table block
└ Retrieve agent information corresponding to the entered number
↓
Set working queue
└ Specify the retrieved agent
↓
Transfer to queue
The Data Table block can be used to search for routing parameters and other data stored in Data Tables, and to make the results available to subsequent blocks.
The AWS blog also introduces a configuration that registers the correspondence between agent numbers and agent information in Data Tables, and routes to the target agent based on the number entered by the customer.
The Role of Data Tables
In this configuration, each component plays the following role:
Data Tables
→ Manages the correspondence between input numbers and agents
Flow
→ Searches for the agent corresponding to the input number and sets the routing destination
Agent queue
→ Routes the contact to a specific agent
Data Tables itself does not place calls or present incoming calls to agents.
Therefore, this configuration should be understood not as "an extension feature provided by Data Tables," but as a configuration that uses Data Tables to manage the correspondence between numbers and agents, and routes to a specific agent based on the number entered via IVR.
4. Presenting Incoming Calls Addressed to an Individual Agent Even While That Agent Is on a Call
Under normal routing, a new contact is not presented to an agent who has reached the maximum concurrent voice calls or who is in a custom status that excludes them from routing.
By using the Interrupt agent block, you can override an agent's normal routing settings and present a specific contact even to agents who are on a call or in a custom status. This feature is intended for use cases such as incoming calls to a personal extension or high-priority communications.
How It Works
Consider a scenario where an agent is on a call with Customer A and a separate incoming call addressed to that agent occurs.
Agent is on a call with Customer A
↓
A new incoming call addressed to the agent occurs
↓
Specify the agent in the Interrupt agent block
↓
New incoming call is presented to the agent
↓
Agent answers
↓
Call with Customer A is placed on hold
↓
Agent handles the new call
The agent can switch between the two calls.
The Interrupt agent block does not forcibly switch calls. It presents the new incoming call to the agent, and the agent decides whether to answer.
Its Role Differs from IVR Routing
Agent direct routing by number input and the Interrupt agent block are complementary, not interchangeable.
| Feature | Role |
|---|---|
| IVR | Accepts agent number input from the customer |
| Data Tables | Looks up the target agent from the input number |
| Agent queue | Sets a specific agent as the routing destination |
Interrupt agent |
Presents the contact even to agents who are on a call, etc. |
When combining them, the processing flow looks like this:
Customer enters an agent number
↓
Search for the target agent in Data Tables
↓
Transfer to the target agent's agent queue
↓
Customer queue flow starts
↓
Interrupt agent block
↓
Present the incoming call even to an agent who is on a call
The Interrupt agent block is used in customer queue flows. Please refer to the official documentation for usage conditions, cases that result in errors, and how to design for unanswered calls.
5. Placing a Direct Call from an Idle Agent to Another Agent
In a typical PBX, agents can place a direct call to another agent even while idle.
Agent A is idle
↓
Enters Agent B's extension number
↓
Calls Agent B
↓
Agents talk with each other
The standard user quick connect in Amazon Connect Customer is a feature for transferring a contact that an agent is currently handling.
Therefore, the PBX-style operation where Agent A selects Agent B and initiates an agent-to-agent call while there is no customer call cannot be achieved with the standard user quick connect.
Implementation Example Using a Third-Party App
For cases where an idle agent needs to place a call directly to another agent, a custom implementation such as integrating a third-party app into Agent Workspace is a possible approach.
The AWS blog introduces an example of realizing agent-to-agent calling by incorporating a third-party app into Agent Workspace that provides agent search and outbound call operations.
The configuration image is as follows:
Agent A
↓
Third-party app in Agent Workspace
↓
Search for and select Agent B
↓
API to initiate the call
↓
Start an Amazon Connect Customer flow
↓
Route to Agent B
↓
Connect Agent A and Agent B
The AWS blog example combines Amazon API Gateway, AWS Lambda, Amazon DynamoDB, Amazon Kinesis, and other components.
However, this is an implementation example for realizing agent-to-agent calling. It does not mean that all components are required in every configuration.
The actual configuration will vary based on the following requirements:
- Whether to enter an extension number or search by agent name
- Whether to display agent availability and control which agents can be selected as a call destination
- Whether to transfer to another agent or voicemail if the recipient does not answer
- How to record and aggregate agent-to-agent calls
Data Tables can be used to manage the correspondence between extension numbers and agents, but initiating a call requires separately implementing a screen for agent operations, APIs, flows, and other components.
Cases Where Outbound Calls to External Phone Numbers Can Serve as an Alternative
In Amazon Connect Customer, you can use a phone number type quick connect to place outbound calls to registered external phone numbers.
The AWS documentation introduces an example of registering a supervisor's mobile phone number as a phone number type quick connect and having an agent place a call to it.
A configuration example for using a phone number type quick connect like a phone directory to place outbound calls to external phone numbers from the Contact Control Panel (CCP) is introduced in the following article:
For example, by registering Agent B's mobile phone number as a phone number type quick connect, Agent A can place a call to Agent B's mobile phone.
Agent A
↓
Phone number type quick connect
↓
Agent B answers on their mobile phone
In this case, Agent B answers as an external party rather than as an Amazon Connect Customer agent. Therefore, this is not a configuration that presents an incoming call in Agent B's Agent Workspace or controls which agents can receive calls based on availability.
On the other hand, agent-to-agent calling within Amazon Connect Customer presents the contact in Agent B's Agent Workspace.
Agent A
↓
Start a contact within Amazon Connect Customer
↓
Incoming call to Agent B's Agent Workspace
If the only requirement is the ability to have a voice call between agents, a phone number type quick connect may fulfill the requirement. If Agent B needs to answer via Agent Workspace, a custom implementation of agent-to-agent calling using a third-party app or API is necessary.
Summary
Amazon Connect Customer supports contact transfer via quick connects and incoming call routing to specific agents via agent queues.
A configuration that connects callers to an agent based on a number entered at the main number can provide an extension-like experience, but technically it is IVR routing using Data Tables and flows. To present incoming calls to agents who are already on a call, the Interrupt agent block is combined with this setup.
On the other hand, PBX-style extension calling—where an idle agent places a direct outbound call to another agent—requires a custom implementation using a third-party app, API, or similar approach. When implementing, it is advisable to separate and clarify requirements for contact transfer, routing of incoming external calls, and direct outbound calling between agents.
