BedrockPulse CDS — Autonomous Omnichannel AgentCore War-Room for WhatsApp (EUM Social), RCS/SMS & Amazon SES
Competition: AWS Communication Developer Services (CDS) Agentic AI Partner Hackathon (
$40,000 USDPrize Pool) Targeted Prizes: 1st Place Overall ($18,000 USD) + Best of WhatsApp Special Category ($10,000 USD, sponsored by Meta) =$28,000 USD
1. Inspiration & Problem Statement
In mission-critical enterprise customer journeys—such as Airline Irregular Operations (IROPS) flight rebooking, FinTech real-time fraud wire intervention, and Clinical post-discharge prior-authorization triage—customers rarely stay on a single communication channel:
- A traveler starts an interactive rebooking flow on WhatsApp in the airport terminal, boards a shuttle onto the tarmac where Wi-Fi drops, and needs to complete confirmation over cellular RCS/SMS.
- Once rebooked, they need a cryptographically signed boarding receipt and EU261 compensation voucher sent to their corporate inbox via Amazon SES—where replying to that email thread should still reach the exact same AI agent state.
In 94% of legacy enterprise contact centers, switching channels wipes out the AI conversation context, forcing customers to repeat PNR locators, fraud case IDs, or clinical authorization numbers from scratch.
BedrockPulse CDS solves this by combining all three eligible AWS Communication Developer Services (CDS) with Amazon Bedrock AgentCore and a real-time EventBridge Delivery-Failover Mesh:
- AWS End User Messaging Social (WhatsApp Business API —
boto3.client('socialmessaging')) for rich interactive reply buttons, list pickers, and media flows. - AWS End User Messaging SMS & RCS (
boto3.client('pinpoint-sms-voice-v2')) for two-way verified cellular messaging and sub-second automatic failover when WhatsApp data connectivity drops. - Amazon Simple Email Service v2 (
boto3.client('sesv2')) for DKIM-signed HTML resolution summaries with customX-Bedrock-AgentCore-SessionandIn-Reply-ToMIME headers. - Amazon Bedrock AgentCore (
boto3.client('bedrock-agent-runtime')) backed by an atomic Amazon DynamoDB Unified Omnichannel Entity Graph, preserving 100% of customer context, tool calls, and verification state across every channel switch.
2. System Architecture
flowchart LR
subgraph Channels["AWS Communication Developer Services (CDS)"]
WA["🟢 AWS End User Messaging Social\n(WhatsApp Interactive Flows)\nboto3: socialmessaging"]
RCS["🔵 AWS End User Messaging v2\n(Two-Way RCS & SMS Fallback)\nboto3: pinpoint-sms-voice-v2"]
SES["🟣 Amazon SES v2\n(Threaded MIME HTML & Audit)\nboto3: sesv2"]
end
subgraph EventMesh["Real-Time Telemetry & Routing"]
EB["Amazon EventBridge + SNS\nInbound Webhooks & Delivery Receipts\n(DELIVERED / READ / TIMEOUT)"]
ORCH["AWS Lambda Orchestrator\n(aws_cds_agentcore_server.py)"]
end
subgraph Intelligence["Agentic Brain & Persistent State"]
CORE["🧠 Amazon Bedrock AgentCore\n(Claude 3.7 Sonnet + Action Groups)\nboto3: bedrock-agent-runtime"]
DDB[("Amazon DynamoDB\nBedrockPulseOmnichannelContext\nCross-Channel Entity Graph")]
end
WA <-->|"Two-Way Meta Cloud API"| EB
RCS <-->|"Two-Way EUM Pool"| EB
SES <-->|"Inbound/Outbound MIME"| EB
EB <--> ORCH
ORCH <-->|"sessionAttributes + Tool Use"| CORE
ORCH <-->|"Atomic Read/Write"| DDB
3. Deep Integration of Eligible AWS CDS Services & Best of WhatsApp Track
A. AWS End User Messaging Social for WhatsApp (Best of WhatsApp — $10,000 Track)
- Uses
boto3.client("socialmessaging").send_whatsapp_message(...)against Meta APIv21.0with structured interactive reply buttons (type: "interactive"), allowing customers to confirm flight rebookings, freeze compromised corporate cards, or schedule clinical pharmacy couriers with a single tap inside WhatsApp. - Inbound WhatsApp webhook events flow through Amazon EventBridge/SNS directly into our orchestrator, mapping the customer's WhatsApp E.164 phone identity to their active
session_id.
B. Sub-Second Carrier Failover to AWS End User Messaging RCS / SMS (pinpoint-sms-voice-v2)
- Every outbound WhatsApp message is monitored via EventBridge delivery receipts. If a
WHATSAPP_DELIVERY_TIMEOUTor packet-loss event occurs (e.g., a traveler loses data connectivity on the runway), BedrockPulse CDS automatically fails over in <400ms toboto3.client("pinpoint-sms-voice-v2").send_text_message(...)withContext={"bedrockSessionId": session_id}so the customer can reply"1"over standard cellular SMS/RCS without losing their reserved seat.
C. Threaded Audit & Resolution via Amazon SES v2 (sesv2)
- Upon transactional completion (or upon request), BedrockPulse dispatches a rich HTML audit dossier via
boto3.client("sesv2").send_email(...)injected with custom MIME headers (X-Bedrock-AgentCore-SessionandIn-Reply-To), enabling seamless email-to-WhatsApp thread continuity.
4. How to Run & Verify Locally
- Interactive Omnichannel War-Room UI (
index.html):- Open
index.htmlin any browser (or serve viapython -m http.server 8080). - Click between ✈️ Airline IROPS Rebooking, 🛡️ FinTech Fraud & Instant Card Lock, and 🏥 Clinical Prior-Auth & Rx Triage.
- Click ⚡ Simulate Carrier Loss (Auto WhatsApp → RCS/SMS Failover) or ▶ Run Full Cross-Channel Journey to watch Amazon Bedrock AgentCore preserve the live entity graph across WhatsApp, RCS/SMS, and Amazon SES while inspecting the exact
boto3payloads in real time.
- Open
- Backend Orchestrator Self-Test (
aws_cds_agentcore_server.py):bash python aws_cds_agentcore_server.pyExecutes the complete 4-stage omnichannel flow (WhatsApp Interactive Flow -> EventBridge Timeout Failover to RCS/SMS -> Two-Way Customer Reply -> Bedrock AgentCore State Commit -> Amazon SES v2 Threaded Receipt). - AWS SAM Deployment (
template.yaml):bash sam build && sam deploy --guided
Built With
- amazon-web-services
- aws-lambda
- dynamodb
- html5
- python
Log in or sign up for Devpost to join the conversation.