Skip to content

Implementing Missed Call Notification via SES in Amazon Connect

0

Details: I am working on a solution to send a missed call notification via Amazon SES when a customer hangs up while waiting in the queue in Amazon Connect. The email notification should go to the agent (or designated email) with the customer's phone number.

What I Have Done:

  • Built an AWS Lambda function that sends an email notification via Amazon SES.
  • Able to retrieve the customer’s phone number and include it in the email.
  • Tried invoking the Lambda function before the "Transfer to Queue" block, but it gets triggered too early, sending the email as soon as the customer enters the queue instead of when they actually abandon the call.

The Challenge:

  • I need to detect when a customer disconnects (hangs up) while in the queue waiting for an available agent.
  • The Lambda function should be triggered only when the call is abandoned, not when it enters the queue.
  • Looking for the correct way to invoke Lambda at that exact moment—whether using Amazon Connect Contact Flow, EventBridge, CloudWatch, or another method.

Questions: Where should I invoke my Lambda function to detect call abandonment in the queue? Can Amazon Connect Contact Flow capture this event, or should I use EventBridge or CloudWatch? What is the best practice for handling and automating this type of missed call notification? Would appreciate any guidance or best practices. Thanks in advance!

asked 2 years ago357 views

1 Answer
0

To implement a missed call notification system for calls abandoned while in queue in Amazon Connect, you'll need to take a different approach than invoking Lambda directly from the contact flow. Here's a recommended solution:

  1. Use Amazon Connect's built-in contact flow blocks to handle the call flow, including the "Transfer to queue" block.

  2. Set up an Amazon Connect Contact Trace Record (CTR) stream to capture detailed information about each contact, including abandoned calls.

  3. Configure the CTR stream to send data to Amazon Kinesis.

  4. Create a Lambda function that processes the Kinesis stream, checks for abandoned calls, and sends notifications via Amazon SES when appropriate.

  5. Set up an EventBridge rule to trigger your Lambda function when new records appear in the Kinesis stream.

This approach allows you to detect call abandonment accurately, as the CTR will contain the necessary information about the call's lifecycle, including whether it was abandoned while in queue.

To implement this:

  1. In your contact flow, use the standard "Transfer to queue" block without any additional Lambda invocations.

  2. In the AWS Console, go to Amazon Connect and set up a CTR stream for your instance, directing it to Kinesis.

  3. Create a Lambda function that can process Kinesis records, parse CTR data, identify abandoned calls, and send SES notifications.

  4. Set up an EventBridge rule to invoke your Lambda function when new records are added to the Kinesis stream.

This method is considered a best practice because it:

  • Accurately captures call abandonment events
  • Doesn't interfere with the normal contact flow
  • Scales well for high call volumes
  • Allows for flexible processing of contact data

Remember to handle the customer's phone number carefully, ensuring you have the necessary permissions to use it for notifications and that you're complying with relevant privacy regulations.
Sources
Amazon Connect rejected call still keeps ringing back | AWS re:Post
Track AWS Connect calls which hang up before reaching a queue | AWS re:Post

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.