Amazon Web Services

Direct Inward Dialing (DID) for Internal Agent Transfer with Amazon Connect

Agents often receive calls that they would like to transfer to another agent or consult with a supervisor. Agents also want to connect and talk to other agents directly without an active call. In some cases, customers might want to speak directly to a specific agent. These services can be made available if each agent has his/her physical number, which can be quite expensive with traditional contact center licensing models! Implementing direct inward dialing (DID) from local telecommunication providers, which would be bound by the number of physical phone lines to be used simultaneously.

Amazon Connect is an easy to use omnichannel cloud contact center that helps you provide superior customer service. Perficient’s Customer Engagement Solutions team implemented a Direct Inward Dialing (DID) feature that extends native Amazon Connect capabilities. This feature emulates a direct inward dialing system that allows customers or agents to contact specific agents directly without providing a physical number to each agent or bound by the limited number of physical phone lines.

Each agent is assigned a unique extension number. Since extensions are managed by custom code, there is no need to claim physical phone numbers for individual agents, hence cost savings! When a new agent is created in Amazon Connect, an email notification is sent to a pre-configured email address list with the agent extension list as a CSV attachment file. This is an accelerator that ready to be deployed, which speeds up the time to be available.

Sample use cases

Use Case 1: Internal Transfer – Agent to Agent with Active Call

Usecase1a    Usecase1b   Usecase1c Usecase1d    Usecase1e

  • Scenario
    1. Agent A is on an active call with a customer.
    2. Agent A wants to transfer the customer to Agent B.
    3. Agent A clicks the Transfer button.
    4. Agent A select option to do agent transfer
    5. At this point, the customer is put on hold.
    6. Agent A is asked to enter the extension of the agent transfer to (Agent B)
    7. Agent A enters extension of agent B
    8. Agent A can talk to Agent B with the customer still on hold when agent B accepts the call.
    9. Agent A has two options:
      • Click the Join button to join the three-way conference call.
      • Click Leave call to leave the call and let agent B talk to the customer.
  • Set up
    • Create transfer to queue flow
      • Ask for the agent extension number.
      • Get an agent with the given extension.
      • Set the working queue to the agent
    • Create Quick connects for transfer to queue flow.
    • Add Quick connects to the queue that the caller agent responsible for

Use Case 2: Outbound Call – Agent to Agent Without Active Call

Usecase2a    Usecase2b   Usecase2c Usecase2d    Usecase2e

  • Scenario
    1. Agent A wants to talk to Agent B.
    2. Agent A clicks the Quick connects button.
    3. Agent A select option to do agent transfer
    4. Agent A is asked to enter the extension of the agent transfer to (Agent B)
    5. Agent A enters the extension of Agent B.
    6. When Agent B accepts the call, Agent A can talk to Agent B.
  • Set up
    • Create direct to agent contact flow
      • Ask for the agent extension number.
      • Get agentId with the given extension.
      • Set the working queue to agentId
    • Claim a number in Amazon Connect and assign it to the direct to agent contact flow
    • Create quick connects for the external number claimed

Use case 3: Customer Knows Agent Extension.

Usecase3

  • Scenario
    1. Customer calls in and wants to talk to a specific agent directly.
    2. Contact flow has a menu option asking the customer to enter the extension of the agent.
    3. Customer enters extension of the agent.
    4. Contact call directs to the agent queue that is associated with the extension entered.
    5. When the agent accepts the call, the customer can talk to the agent.
  • Set up
    • Create direct to agent contact flow
      • Ask for the agent extension number.
      • Get agent ID with the given extension.
      • Set the working queue to agent ID
    • Create contact flow that has menu option connecting to transfer to direct to agent flow

Implementation Details

Companies all over the world are reaping the benefits of serverless on AWS. Serverless architecture is a way to build and run applications and services without having to manage infrastructure. Our direct inward dialing (DID) system uses cloud services like Amazon DynamoDB, AWS Lambda, Simple Notification Service, and Simple Email Service to implement serverless patterns that reduce the operational complexity of running and managing applications.

Amazon Web Services - Avoid Contact Center Outages: Plan Your Upgrade to Amazon Connect
Avoid Contact Center Outages: Plan Your Upgrade to Amazon Connect

Learn the six most common pitfalls when upgrading your contact center, and how Amazon Connect can help you avoid them.

Get the Guide

Direct Inward Dialing Architecture

Amazon DynamoDB

Amazon DynamoDB is a fully managed NoSQL key-value and document database that delivers single-digit millisecond performance at any scale. It is a multi-region, durable database with built-in security, backup and restore, and in-memory caching for internet-scale applications.

DynamoDB tables in the DID system:

  • agentExtensionsTable
    • Store extension and agentId mapping
  • agentExtensionEmailTable
    • Store groupName and emailAddresses mapping

Amazon Lambda

Amazon Lambda is a serverless compute service that lets you run code without provisioning or managing servers. Lambda automatically and precisely allocates compute execution power and run your code based on the incoming request or event. You can set up your code to automatically trigger AWS services or call it directly from any web or mobile app.

Lambda functions in the DID system:

  • agentExtensionsIVR
    • Get agentId by given extension
  • agentExtensionsSync
    • Triggered to run repeatedly for every pre-configured time by Amazon EventBridge service
    • Update agentExtensionsTable
    • Put email notification on Simple Notification Service (SQS) queue to trigger sending email
  • emailProcessor
    • Triggered to run by notification put on SQS queue
    • Use Simple Email Service (SES) to send email

Amazon Simple Queue Service (SQS)

A fully managed message queuing service enables you to decouple and scale microservices, distributed systems, and serverless applications. It can send, store, and receive messages between software components at any volume, without losing messages.

DID system uses SQS to decouple agentExtensionsSync Lambda function logic from email processing, allowing the emailProcessor component to be used by other entities if the need arises.

Amazon Simple Email Service (SES)

It is a cost-effective, flexible, and scalable email service that enables developers to send mail from within any application. With Amazon SES, you can send email securely, globally, and at scale.

DID system uses SES to send email to the predefined email address list. With the support of sending mime message in an email, the agent extension list can be attached as a CSV file.

Interested in having the DID system?

Amazon Connect provides a seamless experience across voice and chats for your customers and agents. It has the flexibility to scale your contact center up or down to any size. At Perficient, we are an Advanced Consulting Partner in the Amazon Partner Network. Our deep expertise in contact center implementation and Amazon Web Services allows us to guide the adoption of appropriate strategic planning solutions through implementation. We have been delivering customer care solutions for more than 20 years. Our certified Amazon Connect experts provide your organization with consulting and professional services, 24/7 support, training, and documentation to ensure your success.

For more information about how Perficient can help you get the most out of Amazon Connect, please contact us for a demo.

About the Author

Mannix is a Lead Technical Consultant focused on Customer Engagement Solutions at Perficient.

More from this Author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to the Weekly Blog Digest:

Sign Up