An AI agent for admissions that combines AWS Bedrock AgentCore with a modern Next.js frontend to provide an AI-powered conversational experience for prospective students. The system integrates Salesforce CRM, WhatsApp messaging via Twilio, and AWS services to deliver a seamless admissions counselor experience that understands student needs, answers questions, and facilitates advisor connections.
Customers are responsible for making their own independent assessment of the information in this document.
This document:
(a) is for informational purposes only,
(b) references AWS product offerings and practices, which are subject to change without notice,
(c) does not create any commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services are provided "as is" without warranties, representations, or conditions of any kind, whether express or implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers, and
(d) is not to be considered a recommendation or viewpoint of AWS.
Additionally, you are solely responsible for testing, security and optimizing all code and assets on GitHub repo, and all such code and assets should be considered:
(a) as-is and without warranties or representations of any kind,
(b) not suitable for production environments, or on production or other critical data, and
(c) to include shortcuts in order to support rapid prototyping such as, but not limited to, relaxed authentication and authorization and a lack of strict adherence to security best practices.
All work produced is open source. More information can be found in the GitHub repo.
| Index | Description |
|---|---|
| High-Level Architecture | System architecture overview with component interactions |
| Key Features | Core capabilities and functionality |
| Directory Structure | Repository directory organization |
| Getting Started | Quick start guide |
| Deployment | How to deploy the solution |
| Modification | Adapting for different universities |
| Credits | Contributors and acknowledgments |
| License | Project license information |
The following architecture diagram illustrates the various services and components that make up the solution. The agent uses custom tools to retrieve university information, manage conversations, update Salesforce CRM, and trigger WhatsApp follow-ups. For an in-depth explanation of the backend, please look at the Architecture Deep Dive.
- Intelligent Chatbot: Conversational AI agent (Nemo) that understands context and builds rapport with prospective students
- Knowledge Base Access: Instant answers to program, admission, and university questions
- CRM Integration: Automatic lead creation and updates in Salesforce for admissions staff
- WhatsApp Follow-Up: Automated follow-up messages via WhatsApp for convenience
- Multi-Language Support: Supports 70+ languages using AWS Translate for seamless multilingual conversations
AI-Powered-Admissions-Agent/
├── Backend/
│ └── admissions-ai-agent/ # AWS CDK Infrastructure
│ ├── bin/
│ │ └── admissions-ai-agent.ts # CDK app entry point
│ │
│ ├── lib/
│ │ └── amplify-hosting-stack.ts # Amplify Hosting Stack
│ │ └── admissions-ai-agent-stack.ts # Admissions AI Agent Stack
│ │
│ ├── lambda/
│ │ ├── agent-proxy/ # Node.js Lambda (streaming agent responses)
│ │ ├── form_submission.py # Salesforce lead creation
│ │ └── send_whatsapp_twilio.py # WhatsApp via Twilio
│ │
│ ├── AgentCore/ # Bedrock AgentCore Agent
│ │ ├── nemo_agent.py # Main agent definition
│ │ ├── tools/ # Custom agent tools
│ │ │ ├── retrieve_tool.py # Knowledge base retrieval
│ │ │ ├── salesforce_tools.py # CRM integration
│ │ │ ├── whatsapp_twilio_tool.py # WhatsApp messaging
│ │ │ ├── advisor_handoff_tool.py # Advisor handoff workflow
│ │ │ ├── translate_tool.py # Multi-language translation
│ │ │ └── session_utils.py # Session management
│ │ └── requirements.txt # Python dependencies
│ │
│ ├── salesforce-layer/ # Lambda layer for Salesforce
│ ├── twilio-layer/ # Lambda layer for Twilio
│ ├── package.json
│ └── tsconfig.json
│
├── mapua-new-frontend/ # Next.js Web Application
│ ├── app/ # Next.js App Router
│ │ ├── page.tsx # Homepage
│ │ └── layout.tsx # Root layout
│ │
│ ├── components/
│ │ ├── nemo/ # Chatbot UI components
│ │ └── ...
│ │ # Other components
│ │ ├── ui/ # Reusable UI components
│ │ ├── inquiry-form.tsx # Lead capture form
│ │ └── mapua-landing-page.tsx # Main landing page
│ │
│ ├── lib/
│ ├── public/
│ └── package.json
│
├── deploy-scripts/
│ └── frontend-amplify-deploy.sh # Automated frontend deployment
│
├── docs/ # Documentation
│ ├── architectureDeepDive.md
│ ├── deploymentGuide.md
│ ├── userGuide.md
│ ├── APIdoc.md
│ ├── modificationGuide.md
│ └── media/ # Images and diagrams
│
├── LICENSE # MIT License
└── README.md # This file
- Backend/cintana-admissions-agent/ - Contains all AWS infrastructure code (CDK), Lambda functions, and the Bedrock AgentCore agent implementation
- Backend/.../AgentCore/ - The AI agent (Nemo) with custom tools for retrieval, Salesforce, WhatsApp, and advisor handoff
- Backend/.../lambda/ - Three Lambda functions: agent proxy (streaming), form submission (Salesforce), and WhatsApp messaging (Twilio)
- mapua-new-frontend/ - Next.js application with university website and integrated chatbot UI
- deploy-scripts/ - Automation scripts for deploying frontend to AWS Amplify
- docs/ - Comprehensive documentation for architecture, deployment, usage, API, and modification
To deploy this solution, please follow the steps laid out in theDeployment Guide.
For detailed customization instructions, see the Modification Guide.
This application was architected and developed by Loveneet Singh, Shristi Pathak, and Apoorv Singh, with solutions architect Arun Arunachalam, program manager Thomas Orr and product manager Rachel Hayden. Thanks to the ASU Cloud Innovation Centre Technical and Project Management teams for their guidance and support.
This project is distributed under the MIT License.

