Skip to content

aws-samples/automated-meeting-scribe-and-summarizer

Automated Meeting Scribe and Summarizer

Using this application's website, you can invite an AI-assisted scribe to your upcoming Amazon Chime meeting(s) to get a follow-up email with the attendee list, chat history, attachments, and transcript, as well as a summary and action items. You don't even need to be present in a meeting for your invited scribe to join. Each scribe is linked to your email for identification. The scribe also redacts sensitive personally identifiable information (PII) by default, with the option to redact additional PII. This security and privacy-focused application deploys into an individual AWS account with just a few clicks in the AWS CloudFormation console.

Architecture

Architecture Diagram

Build Resources

  • The CloudFormation stack creates an AWS CodeBuild project that references the source code in this repository to build a Docker image that is pushed to Amazon Elastic Container Registry (ECR) and a React build directory that is uploaded to Amazon Simple Storage Service (S3).
    • An AWS Lambda-backed custom resource runs a build of the CodeBuild project.

Application Resources

  • The static website is hosted in S3 and served using Amazon CloudFront.
  • Web authentication is provided by AWS Amplify Authentication, powered by Amazon Cognito.
  • AWS Web Application Firewall (WAF) also protects the CloudFront distribution and Amazon API Gateway*.
  • API Gateway invokes an AWS Step Functions synchronous express workflow that schedules an Amazon Elastic Container Service (ECS) task through Amazon EventBridge Scheduler.
  • The ECS application uses Selenium within Chrome to save attendees, messages, and machine-generated captions from Amazon Chime's web application. Amazon Comprehend is then used to detect/redact PII before Anthropic Claude on Amazon Bedrock generates the summaries. The summary and action items, along with the other meeting details, are emailed using Amazon Simple Email Service (SES).


* This application uses the following AWS-managed WAF rules on each Web ACL: AWSManagedRulesAmazonIpReputationList, AWSManagedRulesCommonRuleSet, and AWSManagedRulesKnownBadInputsRuleSet. If you would like to add additional rules, you can do so in the WAF console.

Getting Started

Prerequisites

To interact with Claude 3 Sonnet on Bedrock, you need to request access to the model in US East (North Virginia)*. Make sure to read and accept the end-user license agreements or EULA.

Deployment

  • Per guidance for workload isolation on AWS, it is recommended that you deploy the CloudFormation template in its own AWS account.
  • Download scribe.yaml or clone the entire repository with git clone https://github.com/aws-samples/automated-meeting-scribe-and-summarizer.git.
  • Open the CloudFormation console to create a stack in US East (North Virginia)*.
  • For Template source, select Upload a template file. Then, click Choose file.
  • Select scribe.yaml then click Open.
  • Once the S3 URL populates, click Next.
  • Enter a Stack name and Email.
    • This email address will be used to log in to the website as well as to send and receive meeting details.
  • Click Next twice.
  • Click I acknowledge that AWS CloudFormation might create IAM resources then Submit.

Email Verification

  • Open the inbox of the email you entered. You can expect to receive two emails:
    • Email Address Verification Request in region US East (N. Virginia)
      • Click the provided URL to authorize use of the email address.
    • Your temporary password
      • Use your username and temporary password to log in to the website.

Accessing the Website

  • Return to the CloudFormation console.
  • Once the stack shows CREATE_COMPLETE status, click Outputs.
  • Click on the CloudFront URL to open the website.
  • Enter your username and password.
    • Change your password and verify your email as needed.

Using the Website

  • To invite a scribe to your upcoming meeting, simply enter the Meeting ID, Meeting Name, and Meeting Time then click Submit.
  • To delete an existing invite, select the invite then click Delete.
  • To log out, click Logout.

Using Amazon Chime

  • At the specified meeting time, your scribe will join the meeting's waiting room.
  • Verify the scribe's linked email then admit it into the meeting.
  • Once admitted, the scribe will introduce itself in the chat.
  • At any point thereafter, you can send the scribe command messages in the chat:
    • "START" will save attendance, new messages and machine-generated captions.
    • "ANONYMIZE" will redact additional PII.
    • "END" will remove the scribe from the meeting.
  • After the meeting ends, if the start message was sent in the chat, you should receive a follow-up email with the meeting details.


* The application stack will not deploy outside US East (North Virginia) because, to use an Amazon Certificate Manager (ACM) certificate with CloudFront, the certificate must be requested in that region.

Clean-up

Security

See the CONTRIBUTING file for more information.

License

This repository is licensed under the MIT-0 License. See the LICENSE file.

Contributors

  • Kevin Pinkerton
  • Lawton Pittenger
  • Eashan Kaushik
  • Chase Pinkerton
  • Romi Asad