Can Amazon Connect integrate to EventBridge and SNS? 
Tags: aws, serverless, cloud
Published: 2021-09-15 09:15:53

## TL;DR
I am wondering if Amazon Connect could integrate with [Amazon EventBridge](https://aws.amazon.com/eventbridge/), [Step Functions](https://aws.amazon.com/step-functions/), and [Short Notification Service](https://aws.amazon.com/sns/) (SNS).  

## Who am I?
Hi, My name is Kosuke and I work as a product owner of an Internet of Thing (IoT) product at a manufacturing firm based in Tokyo. I also start to work recently as a second job, as a Cloud engineer.
My recent interests are AWS, serverless, IoT, and Product Management.

Twitter --> [@coosuke](https://twitter.com/coosuke)
LinkedIn --> [kosuke-enomoto](https://www.linkedin.com/in/kosuke-enomoto/)

## What do you build?
As a Cloud engineer, I am considering building an automated telephone system / answering machine using AWS Serverless services such as Amazon Connect, Amazon EventBridge, Step Functions, and Short Notification Service (SNS).

Here is the wishlist of what the customer wants
### [Must] Build the Answering Machine, Notification, Recording, and Transcription
1. If somebody calls the phone number of the customer, then Amazon Connect acts as an answering machine.
1. Amazon Connect records the voice mail from somebody who is calling and store it on a bucket in S3.
1. Amazon Connect notifies the customer that somebody calls, which uses EventBridge, SNS, and Chatbot connecting to Slack.
1. EventBridge calls Amazon Transcribe to transcript the voice mail. (It might need to use Lambda)
1. The customer can review the voice mail or the transcription later on their device

### [Should / Nice to have] Build the automated telephone system
1.  Conditional branch works as the caller pushes during the call

I would describe the [MUST] cases later.

## Why do you build?
To provide an automated answering machine system so that the customer could reduce the workload to address with an anonymous call

## How do you build?
Here is the overview of this architecture. Please note that this is a very rough architecture and there might be some misunderstandings because I am NOW studying Amazon Connect!! 
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6q75aifviucv145n2rn.png)

Here are my assumptions for each step.

### If somebody calls the phone number of the customer, then Amazon Connect works as an answering machine.
This is a first step and a simple process because I have to set up the instance and phone number on Amazon Connect.

###  Amazon Connect records the voice mail from somebody who is calling and store it on a bucket in S3.
This is on the 2nd floor. Amazon Connect can record the call in itself and I shall transfer the record to the S3 bucket for further process.

### Amazon Connect notifies the customer that somebody calls, which uses EventBridge, SNS, and Chatbot connecting to Slack.
3rd floor. Amazon Connect can integrate with EventBridge and I shall do it so to avoid coding. I concern if this could come true because I am not sure of any reference regarding this process...

### EventBridge calls Amazon Transcribe to transcript the voice mail. (It might need to use Lambda)
EventBridge or Step Functions calls a lambda function to trigger Amazon Transcribe and transcript the recordings.

### The customer can review the voice mail or the transcription later on their device
OK, I am almost reaching the goal but I need to build so that the customer could review the recordings or the transcription.

## Any Concern?
I have read some references in Japanese to build a similar environment but I am still not sure if we can build the notification from Amazon Connect to Slack via EventBridge, SNS, and Chatbot.
Any feedback or comments are welcome! Thank you for reading this article!!