Whats New Summary Notifier is a sample implementation of a generative AI application that summarizes the content of AWS What's New and other web articles in multiple languages when there is an update, and delivers the summary to Slack or Microsoft Teams.
This stack create following architecture.
- An environment where you can execute Unix commands (Mac, Linux, ...)
- If you don't have such an environment, you can also use AWS Cloud9. Please refer to Preparing the Operating Environment (AWS Cloud9).
 
- aws-cdk
- You can install it with npm install -g aws-cdk. For more details, please refer to the AWS documentation.
 
- You can install it with 
- Docker
- Docker is required to build Lambda functions using the aws-lambda-python-alphaconstruct. Please refer to the Docker documentation for more information.
 
- Docker is required to build Lambda functions using the 
Important
This repository is set up to use the Anthropic Claude 3 Sonnet model in the US East (N. Virginia) region (us-east-1) by default. Please open the Model access screen (us-east-1), check the Anthropic Claude 3 Sonnet option, and click Save changes.
Create the Webhook URL required for the notifications.
First open the cdk.json file and change the destination value in the context-notifiers section from slack to teams. Then, refer to this documentation to create the Webhook URL.
Refer to this documentation to create the Webhook URL. Select "Add a Variable" and create the following 5 variables, all with the Text data type:
- rss_time: The time the article was posted
- rss_link: The URL of the article
- rss_title: The title of the article
- summary: A summary of the article
- detail: A bulleted description of the article
Use Parameter Store to securely store the notification URL.
aws ssm put-parameter \
  --name "/WhatsNew/URL" \
  --type "SecureString" \
  --value "<Input your Webhook URL >"
This asset is set up to output summaries in Japanese (日本語) by default. If you want to generate output in other languages such as English, open the cdk.json file and change the summarizerName value inside the notifiers object within the context section from AwsSolutionsArchitectJapanese to AwsSolutionsArchitectEnglish or another language. For more information on other configuration options, please refer to the Deployment Guide. For more information on other configuration options, please refer to the Deployment Guide.
Initialize
If you haven't used CDK in this region before, run the following command:
cdk bootstrap
Verify no errors
cdk synth
Execute Deployment
cdk deploy
If no longer needed, run the following command to delete the stack:
cdk destroy
By default, some resources such as the Amazon DynamoDB table are set to not be deleted. If you need to completely delete everything, you will need to access the remaining resources and manually delete them.
This code interacts with Slack or Microsoft Teams which has terms published at Terms Page (Slack) / Terms Page (Microsoft 365), and pricing described at Pricing Page (Slack) / Pricing Page (Microsoft 365). You should be familiar with the pricing and confirm that your use case complies with the terms before proceeding.

