InboxHero is a smart email prioritizer and Gmail assistant built with Streamlit, Langchain, and ChatGroq. It helps you quickly identify the most important emails in your inbox, detect those that need a reply, and even generate draft responsesβall in one sleek, professional workspace.
demo.mp4
-
Email Prioritization:
- Automatically fetches your Gmail inbox and filters out promotional emails.
- Uses a custom ranking prompt with a language model to score emails from 1 (least important) to 10 (extremely important).
-
Reply Detection & Draft Generation:
- Detects emails that require a reply and displays them in a dedicated section.
- Offers an interactive "Generate Draft" button to quickly produce draft responses.
-
Content Summarization:
- Summarizes the email body using ChatGroq and Langchain, ensuring a concise and clear overview.
- Cleans and organizes summaries for a crisp, readable display.
-
Microsoft Attachments Support:
- Reads and summarizes various Microsoft attachments such as PDFs, DOCX, Excel sheets, and more.
- Presents attachment summaries using beautiful Markdown formatting for a professional look.
-
Interactive Chat Mode:
- Engage with your inbox through a conversational chat interface.
- Ask queries and receive real-time insights about your emails.
-
Customizable Time Frame:
- Choose from multiple time windows (e.g., 1 Hour, 6 Hours, 24 Hours, etc.) to filter emails based on recency.
-
Seamless Integration:
- Powered by Langchainπ¦ for advanced prompt management and natural language processing.
- Utilizes robust Python libraries like Streamlit, simplegmail, and python-dotenv for a smooth user experience.
Clone the Repository:
git clone https://github.com/zamalali/InboxHero.git
cd InboxHero
pip install -r requirements.txt
To use LangChain with Groq, you need an API key. Follow these steps:
- Go to the Groq Console: Click here to get your API key
- Sign in or Sign up if you haven't already.
- Generate an API key and copy it.
- Set up the key in your environment:
- If running locally, add it to your
.env
file:GROQ_API_KEY=your_api_key_here
- If deploying to a cloud service, add it to your environment variables or repository secrets.
- If running locally, add it to your
β Now, you're all set to use Groq with LangChain! π
To connect to your Gmail account, you need a Client Secret JSON file. Follow these steps:
- Go to Google API Console: Follow this guide to download your client secret file
- Enable the Gmail API for your Google Cloud project.
- Download the
client_secret.json
file from the Credentials section. - Upload the file when you run the streamlit app.
β Now, you're ready to authenticate and interact with Gmail in your app! βοΈ
Contributions are welcome! If youβd like to improve InboxHero or add new features, please fork the repository and submit a pull request.
This project is licensed under the Apache 2.0 License.