Deploy a multimodal WhatsApp ordering assistant with Amazon Bedrock AgentCore
Amazon Web Services Salman Ahmed
AWS showed a WhatsApp restaurant bot that can take text, voice notes, and calls in one chat. It keeps one memory across channels, so a caller isn’t treated like a new customer every time.
Based on reporting by Amazon Web Services, Salman Ahmed — read the original for the full story.
Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error
AWS is pitching a different way to handle restaurant ordering: put the whole thing inside WhatsApp. The demo assistant can take text messages, voice notes, and voice calls, then push the order through to the restaurant backend without making the customer bounce between an app, a website, and a phone line. That matters because every extra channel usually means another system to build, another place for state to drift, and another chance to forget who the customer is.
The setup leans on Amazon Bedrock AgentCore and Amazon Nova 2. Text goes through Nova 2 Lite. Voice notes and calls use Nova 2 Sonic. Meta’s WhatsApp Business Platform is the front door, while AgentCore runtime hosts three separate agents, one for chat, one for voice notes, and one for voice calls. AgentCore memory holds a shared cross-channel record keyed by a hashed customer ID, so someone who texts on Monday and calls on Tuesday can still be recognized as the same person.
The architecture is deliberately split apart. WhatsApp handles conversation. The agents handle the channel-specific runtime. The backend keeps the menu, carts, orders, and locations. Inbound traffic hits a single HTTPS webhook, gets a quick 200 response, and is processed asynchronously through Amazon SQS so nothing blocks while the rest of the system catches up. Amazon API Gateway, AWS Lambda, DynamoDB, and Amazon Location Service sit behind the MCP layer, with AgentCore Gateway exposing backend actions such as GetMenu, AddToCart, and PlaceOrder as tools the agents can call by name.
Voice is where the design gets more interesting. A voice note is treated as voice in, voice out, with no transcription service in the path. A call uses Meta’s Calling API, WebRTC, and a managed TURN relay through Amazon Kinesis Video Streams. The voice-call runtime is the only one that sits inside a VPC, and it uses a NAT gateway for outbound traffic. The rest is standard cloud plumbing, just arranged so the channel can change without forcing the ordering logic to change with it.
AWS says the whole stack is deployed with AWS CDK, with build-time pieces like CodeBuild, ECR, and S3 kept out of the request path. Secrets live in Secrets Manager, the customer-id pepper sits in Systems Manager Parameter Store, and CloudWatch plus KMS handle monitoring and encryption. The sample is clearly aimed at teams that want one assistant across every touchpoint, not three half-connected bots pretending to be a system.
My take — AI-written commentary, not fact-checked reporting
This is the kind of architecture that makes sense when the business wants fewer brittle channels and one memory that actually remembers something. The fashionable move is usually to bolt AI onto every surface and call it strategy; this one at least keeps the plumbing honest. Also, nothing says modern customer support like letting a restaurant remember a caller without pretending every channel is a fresh start.
Read more about this at: Amazon Web Services