Deploy Multi-Agent Meeting Intelligence Platform Using Strands Agents SDK and AWS Fargate
Aishita Batra and Muskan ., Amazon Web Services
Summary
This pattern deploys a multi-agent meeting intelligence platform on AWS Fargate that automatically generates structured minutes, executive summaries, audio narrations, and formatted PDF reports from meeting transcripts. The solution uses the Strands Agents SDK to orchestrate four specialized AI agents, Amazon Bedrock for language model inference, and Amazon Polly for text-to-speech conversion.
Users upload meeting transcripts through a Streamlit web interface, and the system processes them asynchronously through a coordinated agent pipeline. The infrastructure deploys automatically through GitHub Actions with AWS AWS Cloud Development Kit (AWS CDK) and includes built-in monitoring, auto-scaling, and high availability.
Prerequisites and limitations
Prerequisites
An active AWS account with administrative permissions
AWS CDK version 2.114.1 or later installed
AWS CLI installed and configured with appropriate AWS Identity and Access Management (IAM) permissions
Node.js 18 or later
Python 3.12 or later
Git installed
Docker installed (optional, for local testing)
A GitHub account with repository secrets configured:
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEYAmazon Bedrock with access to the Anthropic Claude 3 Sonnet model enabled in your Region
Amazon Polly access enabled (enabled by default in most Regions)
IAM permissions for Amazon Simple Storage Service (Amazon S3), Amazon Elastic Container Service (Amazon ECS), Fargate, Elastic Load Balancing, Amazon Virtual Private Cloud (Amazon VPC)
Amazon VPC, IAM, Amazon CloudWatch, and Amazon Simple Notification Service (Amazon SNS)
Limitations
Processing time is 2–7 minutes per meeting, depending on transcript complexity.
Maximum transcript length is 50,000 characters per request.
Audio summaries are automatically condensed to 3,000 characters (Amazon Polly character limit).
Amazon Bedrock Claude 3 Sonnet availability varies by AWS Region.
Job status is stored in memory and is not persistent across container restarts unless you configure S3-based persistence.
Direct upload supports
.txtfiles only.The Application Load Balancer enforces a 15-minute timeout for processing requests.
Some AWS services aren't available in all AWS Regions. For Region availability, see AWS services by Region
. For specific endpoints, see the Service endpoints and quotas page, and choose the link for the service.
Architecture
Target architecture
The solution deploys a multi-agent AI system using Strands Agents SDK on AWS Fargate with the following architecture :

Users upload meeting transcripts through a Streamlit web application hosted locally or on a remote server.
An Application Load Balancer in public subnets distributes traffic to the Fargate service across two Availability Zones.
Fargate tasks run in private subnets with NAT Gateway access and host the FastAPI backend and Strands agent orchestration logic.
The Strands multi-agent system processes transcripts through four sequential agents: structured minutes generation, concise summary generation, audio narration, and PDF report creation.
Amazon Bedrock provides language model inference (Claude 3 Sonnet) for the minutes and summary generation agents.
Amazon Polly converts the concise summary to an MP3 audio narration.
Amazon S3 stores uploaded transcripts, generated output files, and job status with lifecycle management policies.
Amazon CloudWatch provides centralized logging, CPU and memory alarms, and service health monitoring with Amazon SNS notifications.
GitHub Actions provides automated CI/CD deployment through AWS CDK with health validation testing.
Automation and scale
ECS Fargate auto-scaling – Automatic container scaling from 1 to 3 instances based on 70% CPU and memory utilization thresholds.
CloudWatch monitoring – CPU (65%), memory (80%), and service health alarms integrated with Amazon SNS notifications.
Application Load Balancer – Traffic distribution with health checks every 60 seconds and 15-minute idle timeout for long-running AI processing tasks.
Background task processing – Asynchronous meeting analysis using FastAPI BackgroundTasks for concurrent job execution.
S3-based job persistence – Persistent job status storage in Amazon S3 that ensures job continuity across container restarts and scaling events.
GitHub Actions CI/CD – Automated deployment pipeline with CDK infrastructure provisioning and health validation testing.
Tools
AWS services
Amazon Bedrock – Provides language model inference (Claude 3 Sonnet) for meeting analysis and summarization agents. See Amazon Bedrock documentation.
Amazon CloudWatch – Monitors container performance, captures application logs, and triggers alarms for CPU, memory, and service health thresholds. See Amazon CloudWatch CloudWatch documentation.
Amazon Elastic Container Service (Amazon ECS) – Orchestrates Fargate container tasks with health checks and service discovery. See Amazon ECS documentation.
Amazon Polly – Converts concise meeting summaries to MP3 audio narrations. See Amazon Polly documentation.
Amazon Simple Notification Service (Amazon SNS)– Delivers alarm notifications from CloudWatch monitoring. See Amazon SNS documentation.
Amazon Simple Storage Service (Amazon S3) – Stores uploaded transcripts, generated output files, and job status with lifecycle management. See Amazon S3 documentation.
AWS CDK – Defines and deploys all infrastructure as code. See AWS CDK documentation.
AWS Fargate – Runs containerized application workloads without managing servers, with auto-scaling from 1 to 3 instances. See AWS Fargate documentation.
Elastic Load Balancing – Distributes incoming traffic to Fargate tasks across Availability Zones. See Elastic Load Balancing documentation.
Other tools
Docker – Builds container images for local testing. See Docker documentation
. FastAPI – Provides the REST API backend for job submission, status checking, and file operations. See FastAPI documentation
. GitHub Actions – Automates the CI/CD deployment pipeline. See GitHub Actions documentation
. ReportLab – Generates formatted PDF reports from structured meeting minutes. See ReportLab documentation
. Strands Agents SDK – Orchestrates multi-agent workflows with minimal code using the
@tooldecorator pattern. See Strands SDK documentation. Streamlit – Provides the web-based user interface for transcript upload and output download. See Streamlit documentation
.
Code repository
The code for this pattern is available in the GitHub sample-ai-meeting-minutes-generator
Best practices
Use clear, focused system prompts for each agent to ensure consistent output formatting and professional meeting documentation.
Implement Amazon S3 lifecycle management with 90-day retention for cost optimization and automated file cleanup.
Use Amazon S3-based job tracking to maintain state across container restarts and scaling events for reliable processing.
Configure CloudWatch alarms for CPU, memory, and service health with Amazon SNS notifications for proactive monitoring.
Validate and sanitize file uploads and content format before processing to prevent system errors and security issues.
Follow the principle of least privilege and grant the minimum permissions required to perform a task. For more information, see Grant least privilege and Security best practices in the IAM documentation.
Consider AWS AgentCore for production deployments that require managed orchestration and simplified operational overhead. Strands SDK is preferred when you need greater customization of agent interactions and specialized workflow control.
Implement systematic evaluation of agent outputs against human-generated meeting minutes to improve system prompts and agent performance continuously.
Epics
| Task | Description | Skills required |
|---|---|---|
Clone the repository |
| AWS DevOps |
Create your own Git repository |
| App developer |
Configure repository secrets for CI/CD. |
| DevOps engineer |
Deploy the infrastructure by using the CI/CD workflow. |
| DevOps engineer |
Verify the infrastructure deployment. |
| DevOps engineer, Cloud administrator |
| Task | Description | Skills required |
|---|---|---|
Set up the local development environment |
| App developer |
Retrieve the backend service URL. |
| Cloud administrator |
Launch the application and verify connectivity. |
| App developer |
| Task | Description | Skills required |
|---|---|---|
Process a meeting transcript and verify outputs. |
| App developer |
Troubleshooting
| Issue | Solution |
|---|---|
Amazon Bedrock model access error | Verify that the Anthropic Claude 3 Sonnet model is enabled in your Region. Open the Amazon Bedrock console, choose Model access, and confirm that Claude 3 Sonnet shows Access granted. |
CDK bootstrap fails | Run |
| Check the Amazon ECS console for stopped task details. Common causes include incorrect IAM role permissions, missing Amazon Bedrock access, or VPC configuration issues. Review CloudWatch logs for the task. |
Processing times out (15-minute ALB timeout) | The Application Load Balancer has a 15-minute idle timeout. For very long transcripts, reduce the input size to under 50,000 characters, or increase the ALB timeout in the CDK configuration. |
Audio generation fails | Amazon Polly has a 3,000-character limit. The concise summary agent condenses content to under this limit automatically. If audio generation still fails, verify that Amazon Polly access is enabled in your Region. |
GitHub Actions deployment fails | Verify that |
Backend not connected (Streamlit shows disconnected) | Verify that the |
Job status lost after container restart | Enable Amazon S3-based job persistence by configuring the |
Related resources
References
Tools
Additional information
Multi-agent processing workflow
The solution orchestrates meeting processing through four specialized agents that run sequentially within Fargate tasks. Each job is assigned a unique job ID and is executed asynchronously for scalability and fault isolation.
Structured Minutes Generator (
generate_structured_minutes) – Takes the raw meeting transcript and title as input. Uses Amazon Bedrock Claude 3 Sonnet to produce comprehensive meeting minutes, including meeting information, agenda items, discussion summary, action items with assignees and deadlines, and next steps. Saves output as a plain text file.Concise Summary Generator (
concise_minutes_agent) – Takes the full structured minutes from Agent 1 as input. Uses Amazon Bedrock Claude 3 Sonnet to create an executive summary of under 3,000 characters for audio generation and quick reading.Audio Generator (
audio_generator_agent) – Takes the concise minutes from Agent 2 as input. Uses the Strandsspeaktool with Amazon Polly to generate an MP3 audio file narrating the concise summary.PDF Report Generator (
create_comprehensive_pdf) – Takes the full structured minutes from Agent 1 as input. Uses the ReportLab library to produce a professional PDF report with custom title styling, section headers, readable text layout, and metadata.
Data flow
User upload – Meeting transcript uploaded through the Streamlit UI or direct API call.
Job initialization – FastAPI creates a unique job ID and returns immediately for asynchronous processing.
Background processing – The four-step Strands agent workflow executes sequentially.
File management – Generated files are uploaded to Amazon S3 with presigned download URLs.
Job completion – Status is updated with download links for all generated outputs.
Future enhancement considerations
Persistent job tracking with Amazon DynamoDB for cross-container reliability
Multi-format input support (
.docx,.pdf, audio transcription files)Real-time WebSocket progress updates
End-to-End Processing Flow
The solution orchestrates meeting processing through a coordinated sequence of specialized agents running within Fargate tasks.
Each job is assigned a unique job ID and executed asynchronously to ensure scalability and fault isolation.
The workflow includes transcript ingestion → structured minutes generation → executive summarization → audio narration → PDF report creation, with each step validated and logged in real time.
Four-Step Agent Processing
Structured Minutes Generator – produces detailed meeting minutes.
Concise Summary Generator – creates executive summary for quick review and audio narration.
Audio Generator – generates MP3 narration of the summary.
PDF Report Generator – produces polished, formatted PDF reports.
Automated File Management and Cloud Integration
Automatic Output Upload: Structured text, audio, and PDF reports are automatically uploaded to Amazon S3 with proper partitioning by job IDs.
Integrity Checks & Lifecycle Management: Upload confirmations, file validation, and cleanup are logged ensuring operational transparency and reliability.
FastAPI background tasks manage asynchronous job execution.
UI Integration & Outputs
Streamlit UI shows backend connection, transcript input area, and Generate Minutes after uploading meeting transcript through S3 Pre-signed URL to initiate jobs.

Once processing completes, the structured text, audio, and PDF outputs are made available for download via Pre-signed S3 URLs, accessible through clickable buttons in the UI.

