Skip to content

Tridib2510/NeuroMail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeuroMail ✉️

NeuroMail is an AI-powered Gmail Assistant built using LangChain and Streamlit.
It allows you to control and manage your Gmail using natural language, with human-in-the-loop approval for sensitive actions like sending emails.


🚀 Features

  • 📧 Read, draft, and send Gmail messages using AI
  • 🧠 Powered by LangChain agents
  • 🔐 Secure Gmail OAuth authentication
  • 🧑‍⚖️ Human-in-the-loop approval before executing actions
  • 🌐 Simple Streamlit-based UI

🛠️ Tech Stack

  • Python
  • LangChain
  • Streamlit
  • Gmail API
  • Google OAuth 2.0

▶️ YouTube Demo

Check out the full walkthrough of NeuroMail – AI Gmail Assistant on YouTube 👇

NeuroMail YouTube Demo


📦 Installation

1️⃣ Clone the Repository

git clone https://github.com/Tridib2510/NeuroMail.git
cd NeuroMail

2️⃣ Install Dependencies

uv add -r requirements.txt

🔐 Gmail API Configuration

Step 1: Create Google Cloud Credentials

  1. Go to Google Cloud Console
  2. Create a new project (or select an existing one)
  3. Enable the Gmail API
  4. Go to APIs & Services → Credentials
  5. Create OAuth 2.0 Client ID
  6. Download the file and rename it to:
credentials.json
  1. Place credentials.json in the project root directory

Step 2: Generate token.json

Run the configuration script:

python config.py
  • This will open a browser window
  • Sign in with your Gmail account
  • Grant the required permissions
  • After successful authentication, a token.json file will be generated automatically

▶️ Running the Application

Once authentication is complete, start the Streamlit app:

streamlit run app.py

The Gmail Assistant UI will open in your browser 🎉


📁 Project Structure

NeuroMail/
│
├── app.py              # Main Streamlit application
├── config.py           # Gmail OAuth configuration
├── credentials.json    # Google OAuth credentials (not committed)
├── token.json          # Generated OAuth token
├── tools/              # Gmail & LangChain tools
├── utils/              # Helper utilities
├── requirements.txt
└── README.md

⚠️ Important Notes

  • Do NOT commit credentials.json or token.json to GitHub
  • Keep your Google credentials private
  • Gmail actions may require manual approval depending on configuration

📜 License

This project is open-source and available under the MIT License.


🙌 Author

Tridib Roy Chowdhury
GitHub: https://github.com/Tridib2510


⭐ If you like this project, consider giving it a star!

About

Keep up to date with your email with NeuroMail

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages