What is our primary use case?
There are actually several Amazon services related to Amazon Connect, a contact center solution. These include Amazon Connect, Lambda functions, Amazon DynamoDB, Amazon Kinesis, Amazon SNS, and Amazon SES.
We use DynamoDB to manage our contact center dynamically. This requires the use of a DynamoDB table and Lambda functions.
What is most valuable?
The ability to store multiple data attributes is crucial. For example, in a contact flow, if a customer calls, we can integrate DynamoDB dynamically. We need only the customer's mobile number as the primary key, which is stored in the DynamoDB table.
With that unique ID, we can automatically fetch all the associated customer details. This eliminates the need for manual processes or asking the customer for redundant information over and over again like their case ID or past history. DynamoDB allows us to streamline the process.
Another valuable feature is how DynamoDB lets us handle multiple processes within a company. For instance, if customers call with different issues – like inquiries about loans, credit cards, or savings accounts – DynamoDB helps us automatically route each customer to the appropriate department. If a customer has a question about a loan, they'll be seamlessly directed to the loan queue.
What needs improvement?
There are a few areas of improvement.
In future releases, I would like a feature that lets us store information about public holidays or weekends. When customers call during those closed periods, we could use DynamoDB to trigger an automatic message.
It could say something like, "We're currently closed due to a holiday. Please call back during our regular working hours."
So this would eliminate the need for agents to manually inform customers.
With a holiday calendar stored in a DynamoDB table, we could write a Lambda function to check the date. If it's a UK holiday, for example, the system could automatically play the message.
What do I think about the stability of the solution?
It is a stable product because it is managed by amazon.
What do I think about the scalability of the solution?
Anyone using DynamoDB with our contact center is likely using it dynamically. If they're only using it in a static way, they wouldn't need to create a DynamoDB table.
So, there might be 5,000 end users in my org.
How are customer service and support?
The customer service and support has been good. We can contact the support team for any AWS service, not just DynamoDB, Lambda functionality, or anything else. If we encounter issues or have technical questions, we can reach out to their contact center support.
How was the initial setup?
The initial setup is easy.
The process is straightforward. You create a table, define the primary key and secondary key, and set any attributes needed for the contact flow. Additionally, you'll need to write a Lambda function.
This function will call the DynamoDB table, fetch the data, and provide the response back to the contact flow. Within the contact flow, you use the "Get Item from Input" action to invoke the Lambda function and retrieve the DynamoDB data.
Let me outline the architecture: Amazon Connect contact flow sits between the Lambda function and the DynamoDB table. The contact flow sends a request to the Lambda function, which then queries the DynamoDB table. DynamoDB sends the response back to the Lambda function, which then relays it to the contact flow. These three components work together in an integrated way.
What's my experience with pricing, setup cost, and licensing?
DynamoDB has separate pricing. I'm not sure about the exact costs, as they charge based on Lambda function usage.
So, if a Lambda function is invoked with every call, and we receive 5,000 calls daily, that means 5,000 Lambda invocations. So, Amazon DynamoDB would charge accordingly.
So, AWS has different pricing plans.
What other advice do I have?
I'd suggest starting with a static approach. Once everything is stable, then you can gradually enhance the features by transitioning from static to using DynamoDB. It's best to avoid starting with DynamoDB from the beginning.
It is not easy for a beginner to learn how to use it. It will take some time.
Overall, I would rate the solution an eight out of ten.
*Disclosure: I am a real user, and this review is based on my own experience and opinions.