Build a voice travel concierge with Amazon Bedrock AgentCore, Managed Knowledge Base and Nova Sonic

Airlines already have apps and websites where travelers check flights, pick seats, and manage bookings, and adding a natural voice layer opens those tasks to spoken requests. With this voice layer, a traveler can change a seat or check a delay by speaking, without leaving the app or navigating through screens. Building it requires careful engineering on several fronts. You stream audio in both directions and hold the thread of a conversation across many turns. You also reach your existing backend systems without coupling the agent tightly to them, and you scale when traffic spikes before a holiday weekend. This post shows you how to add a voice travel concierge to an airline application, built on three managed services. Amazon Bedrock AgentCore is an agentic platform for building, deploying, and operating AI agents securely at scale with your choice of framework and model. Amazon Nova Sonic on Bedrock is a speech-to-speech model for real-time voice. Amazon Bedrock Knowledge Bases is a fully managed retrieval augmented generation service that grounds answers in your own documents. A traveler speaks, and the concierge pulls up their itinerary, changes a seat, updates a meal preference, answers a policy question, and connects them to a live agent on request. The concierge runs alongside your existing screens rather than replacing them, so travelers move between tapping and talking in the same session. It runs on services that scale on demand, so you spend your time on the experience instead of the infrastructure. The AI layer connects to a sample airline backend with synthetic data, which accelerates your implementation when you adapt the pattern to your own systems. The project splits into modules, so you can reuse the pieces that fit your existing backend and expose them to the agent as tools. You will learn how to do the following: Deploy a voice AI concierge on AWS using the AWS Cloud Development Kit (AWS CDK) . Build an agent with the Strands Agents framework and Amazon Nova 2.5 Sonic for real-time speech, hosted on AgentCore runtime, a capability of the Amazon Bedrock AgentCore framework. Connect the agent to backend services with the Model Context Protocol (MCP) through AgentCore Gateway, a capability of Amazon Bedrock AgentCore. Answer airline policy questions with Amazon Bedrock Knowledge Bases. Hand a traveler to a live agent with a reference number and an estimated wait time. Solution overview The architecture separates the front end, the AI agent, and the backend services into distinct layers, so you can develop and scale each one on its own. MCP is an open standard for connecting AI applications to external tools and data. It carries standardized messages between the agent and the backend, which keeps the two loosely coupled. The solution deploys the following services. Amazon Cognito handles user authentication and temporary AWS credentials for signed API access. Amazon Bedrock AgentCore runtime hosts the agent with microVM isolation per session. Amazon Bedrock AgentCore Gateway exposes backend endpoints as discoverable MCP tools. Amazon API Gateway publishes the backend as REST endpoints with AWS Identity and Access Management (IAM) authorization. AWS Lambda runs the business logic for itineraries, seat maps, passenger updates, flight status, loyalty, policy lookups, and escalation. Amazon DynamoDB stores customer profiles, bookings, passengers, seat maps, purchase history, preferences, conversations, and flight data. Amazon Bedrock Knowledge Bases answers policy questions by grounding responses in your airline policy documents. Amazon Simple Email Service (Amazon SES) sends email notifications. AWS Amplify hosts the React front end. Architecture The following diagram shows the solution architecture, organized into four sections. Figure 1: End-to-end architecture across the backend, the AgentCore Gateway, the AgentCore runtime, and the front end Section A covers the backend infrastructure. Five CDK stacks deploy DynamoDB tables, Lambda functions, API Gateway endpoints, Amazon Bedrock Knowledge Bases, and Amazon Cognito. Section B covers the AgentCore Gateway. One CDK stack creates the Amazon Bedrock AgentCore Gateway with the MCP protocol and exposes every backend endpoint as a tool the agent can call by name. Section C covers the AgentCore runtime. Two CDK stacks provision the runtime infrastructure. Amazon Elastic Container Registry (Amazon ECR) stores the container image, Amazon Simple Storage Service (Amazon S3) holds source uploads, and AWS CodeBuild produces the ARM64 Docker image. The Amazon Bedrock AgentCore runtime runs with WebSocket support using Strands Agents framework with Amazon Nova 2.5 Sonic. Section D covers the front end. One CDK stack deploys the React app on AWS Amplify. User request flow The user opens the web application, hosted on AWS Amplify, in a browser or on a mobile device. The user enters their credentials on the login page. Amazon Cognito authenticates the request and returns JSON Web Tokens (JWTs) and temporary AWS credentials. The front end opens a SigV4-signed WebSocket connection to Amazon Bedrock AgentCore to begin the voice concierge session. The runtime validates the token with Amazon Cognito and initializes Amazon Nova 2.5 Sonic through Amazon Bedrock. The user speaks a request. Amazon Nova 2.5 Sonic processes the audio and triggers tool calls. The agent handles the tool integration by invoking the AgentCore Gateway using MCP to retrieve flight data, manage bookings, and update passenger preferences. The AgentCore Gateway forwards requests as REST API calls to Amazon API Gateway, which routes them to AWS Lambda functions. AWS Lambda functions query Amazon DynamoDB tables for bookings, passengers, seat maps, loyalty status, and flight information. Email notifications are sent through Amazon SES. Amazon Nova 2.5 Sonic generates a contextual voice response and streams it back to the user over the WebSocket connection through the AgentCore runtime. For a policy question, the AgentCore Gateway queries Amazon Bedrock Knowledge Bases directly through the MCP Knowledge Base connector. The knowledge base returns the relevant policy passages as citations to the agent. When the user requests a live agent, AWS Lambda logs the escalation in Amazon DynamoDB and returns a reference number. AWS Amplify then triggers the call from the user’s device to connect them to the live agent. Build and operations The next two steps sit outside the live conversation. They describe how the solution is built and how it runs day to day. AWS CDK deploys the solution with a single script. The build uploads the agent source to Amazon S3 and triggers AWS CodeBuild to produce the container image, which it stores in Amazon ECR for the AgentCore runtime. Amazon CloudWatch collects logs, metrics, and alerts across every service, and AWS Key Management Service (AWS KMS) encrypts data at rest. Prerequisites Before you begin, confirm that you have the following in place. An AWS account . Model access in Amazon Bedrock for Amazon Nova 2.5 Sonic in the AWS Region where you deploy. For model availability by Region, refer to Supported models by AWS Region in Amazon Bedrock . Amazon Bedrock Knowledge Bases uses a service-managed embedding model, so you do not need separate embedding model access. Node.js 20.x or later for AWS CDK and the Lambda functions. Python 3.12 or later for the data seeding and test client. AWS Command Line Interface (AWS CLI) 2.x configured with credentials. AWS CDK CLI 2.x installed with npm install -g aws-cdk , and your account bootstrapped with npx cdk bootstrap . The accompanying code from the aws-samples GitHub repository . Deploy the solution with AWS CDK The solution deploys with a single CDK script. Clone the repository, configure your AWS credentials, and run the deployment script. For detailed deployment steps, see the README in the GitHub repository. The sample airline data model API Gateway publishes a REST A