ProfAlert is a Chrome extension that scans your Gmail emails for exams, quizzes, tests, and assignment deadlines — and lets you save them to Google Calendar in one click.
It parses emails locally using pattern matching (no API keys needed for scanning), so everything stays private.
- Detects exam-related emails automatically when you open them in Gmail
- Extracts dates, times, course codes, and locations from the email text
- Shows a small popup on Gmail with the details it found
- Lets you save events to Google Calendar individually or all at once
- Adds automatic reminders (24 hours and 1 hour before the event)
- Download or clone this repository
- Open Chrome and go to
chrome://extensions/ - Turn on Developer mode (toggle in the top-right corner)
- Click Load unpacked and select the
profAlertfolder - You'll see the ProfAlert icon in your toolbar — you're done
You only need to do this once. It connects ProfAlert to your Google Calendar so it can save events.
- Go to console.cloud.google.com and sign in with your Google account
- Create a new project (or use an existing one)
- Search for Google Calendar API and click Enable
- In the left menu, click Credentials
- Click + Create Credentials, then choose OAuth client ID
- For Application type, choose Web application (not "Chrome Extension")
- Click the ProfAlert icon in Chrome, go to the Google tab, and copy the Redirect URI shown there
- Back in Google Cloud, scroll to Authorised redirect URIs, click Add URI, paste the URI you copied, and click Save
- Copy the Client ID that Google gives you
- Paste it in the ProfAlert popup under the Google tab, then click Save
- Click Sign in with Google and allow calendar access
That's it. You're connected.
Just open an email in Gmail. If it mentions exams, tests, quizzes, or deadlines, ProfAlert will automatically show a banner in the top-right corner with the details. Click Save to add it to your calendar.
- Open an email in Gmail
- Click the ProfAlert icon in the toolbar
- Click Scan Current Email
- Check Gmail for the results banner
The parser can handle these formats:
| Format | Example |
|---|---|
| DD/MM/YYYY | 15/03/2025 |
| YYYY-MM-DD | 2025-03-15 |
| Named month | 15th March 2025, March 15, 15 Mar |
| Relative | tomorrow, day after tomorrow |
| Day names | next Monday, this Friday, on Wednesday |
| Time | 10:00 AM, 6:30 PM, 1800 hrs |
| Permission | Why it's needed |
|---|---|
storage |
Saves your Client ID and login tokens locally |
identity |
Handles the Google sign-in process |
activeTab |
Lets ProfAlert read the current Gmail tab |
tabs |
Checks if you're on Gmail before scanning |
mail.google.com |
Reads email content from the Gmail page |
googleapis.com |
Saves events to Google Calendar |
All email parsing happens locally in your browser. Nothing is sent to any server.
- Chrome Extension (Manifest V3)
- Local regex parser — no external APIs for scanning
- Google Calendar API for saving events
- Plain JavaScript, no frameworks