Skip to content

ASUCICREPO/Admissions-AI-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Admissions Agent

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.

User Interface Demo


Disclaimers

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.

Table of Contents

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

High-Level Architecture

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.

Architecture Diagram


Key Features

  • 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

Directory Structure

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

Key Directories Explained

  1. Backend/cintana-admissions-agent/ - Contains all AWS infrastructure code (CDK), Lambda functions, and the Bedrock AgentCore agent implementation
  2. Backend/.../AgentCore/ - The AI agent (Nemo) with custom tools for retrieval, Salesforce, WhatsApp, and advisor handoff
  3. Backend/.../lambda/ - Three Lambda functions: agent proxy (streaming), form submission (Salesforce), and WhatsApp messaging (Twilio)
  4. mapua-new-frontend/ - Next.js application with university website and integrated chatbot UI
  5. deploy-scripts/ - Automation scripts for deploying frontend to AWS Amplify
  6. docs/ - Comprehensive documentation for architecture, deployment, usage, API, and modification

Deployment

To deploy this solution, please follow the steps laid out in theDeployment Guide.


Modification

For detailed customization instructions, see the Modification Guide.


Credits

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.


License

This project is distributed under the MIT License.

About

An AI agent for admissions that delivers a seamless admissions counselor experience that understands student needs, answers questions, and facilitates advisor connections.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors