AdmiGPT is an AI-powered administrative assistant, harnessing the power of OpenAI's Assistant framework to seamlessly integrate with your email and calendar. Similar to Microsoft's Copilot, only better, it's designed to be your ultimate productivity partner, AdmiGPT offers an array of advanced features, making your administrative tasks simpler, faster, and more efficient.
- ๐ง Email Summarization & Highlight Action Items: Efficiently summarize long emails and pinpoint critical action items, streamlining your workflow.
- ๐ค Intelligent Meeting Proposals: Automatically understand meeting proposals in emails and check your availability.
- ๐ Advanced Calendar Management: View your appointments and find free times, all within the context of your day.
- โ๏ธ Automated Email Drafting & Sending: Draft and send responses on your behalf, enhancing efficiency and professionalism.
- ๐ Seamless Email & Calendar Integration: Coordinate email and calendar to automatically respond to meeting requests, suggesting new times if you're unavailable, and send meeting invites as needed.
Help shape the future of AdminGPT! Participate in our feature prioritization poll and tell us what features you would like to see next. Your input is vital in guiding the development of AdminGPT. Take the poll now!
Follow these steps to setup AdminGPT on your system:
To clone the repository to your local machine, use the following command in your terminal:
git clone https://github.com/sdelgadoc/AdminGPT.git
This will create a local copy of the repository.
Install the necessary dependencies by running:
pip install -r requirements.txt
This command installs all the packages listed in requirements.txt, ensuring the project runs correctly.
Follow the instructions as per the OpenAI API Quickstart
To use this toolkit, you need to set up your credentials explained in the Microsoft Graph authentication and authorization overview. Once you've received a CLIENT_ID and CLIENT_SECRET, you can input them as environmental variables below. You can also use the authentication instructions from the O365 Python library documentation.
Test AdminGPT by summarizing a recent email from a particular sender, the most simple functionality.
-
Set the folling authentication environmental variables:
- OPENAI_API_KEY: The OpenAI API key for authentication
- CLIENT_ID: The Microsoft Graph client ID for authentication
- CLIENT_SECRET: The Microsoft Graph client secret for authentication
-
Run the CLI using:
python admingtp_cli.py
If the assistant is running correctly, you should see the following on the command line
Hello, [YOUR NAME]. How can I help you?
Enter your request here:
To deploy the Django application locally, follow these steps:
Make sure you have completed all installation steps and tested AdminGPTโs basic functionality.
Create a file in the root directory called .env
(note the leading dot) and include the following environment variables with your corresponding values:
OPENAI_API_KEY=[Your OpenAI API Key]
CLIENT_ID=[Your Client ID]
CLIENT_SECRET=[Your Client Secret]
SECRET_KEY=[Your Django application's secret key]
Navigate to the project folder and run the migrations:
python manage.py migrate
To run the local server using self-signed certificates (for HTTPS):
python manage.py runserver_plus --cert-file localhost.crt --key-file localhost.key
In your browser, go to:
https://127.0.0.1:8000/authenticate/
Note: Your browser may warn that your connection is not private because you are using self-generated certificates. You can safely proceed.
- Make sure you are logged into your Microsoft account.
- Complete the Microsoft authentication workflow.
- If you are redirected to the AdminGPT GitHub page, the authentication flow has worked correctly.
Send yourself an email with the following content:
Subject: Test
Body:
Hi Monica, can you write a limerick describing the theme of all the meetings I have this week?
Then, in your browser, visit:
https://127.0.0.1:8000/process-email/
If you receive an email from Monica performing the requested task, everything is working as expected!
To deploy the Django application to Heroku, follow these steps:
Ensure you have completed all installation steps and tested AdminGPTโs basic functionality locally.
- Log in to your Heroku account and create a new app on the Heroku Dashboard.
- Install the Heroku CLI on your computer if you havenโt already.
- Navigate to the Settings tab of your Heroku app.
- Click โReveal Config Varsโ and add the following environment variables:
OPENAI_API_KEY
CLIENT_ID
CLIENT_SECRET
SECRET_KEY
HEROKU_HOST_NAME
(Set this variable to your application's host name, e.g.: [your-app-name].herokuapp.com)
- Run the following command locally to collect static files:
python manage.py collectstatic
- Log in to Heroku from your terminal:
heroku login
- Add Heroku as a Git remote:
heroku git:remote -a your-heroku-app-name
- Deploy your code to Heroku:
git push heroku main
Set up a Postgres database for your Heroku app:
heroku addons:create heroku-postgresql:essential-0
After deploying, apply your database migrations:
heroku run python manage.py migrate
- Log in to the Microsoft Entra Admin Center.
- Navigate to Identity > Applications > App registrations and select your application.
- Add a redirect URI:
- In the application overview, click Add a redirect URI.
- Select Web as the platform.
- Add the following redirect URI:
https://your-heroku-app-name.herokuapp.com/authenticate_callback/
- Click Save.
- Open your browser and visit:
https://your-heroku-app-name.herokuapp.com/authenticate/
Note: Your browser may warn that the connection is not private. You can safely proceed.
- Ensure you are logged into your Microsoft account.
- Complete the Microsoft authentication workflow.
- If redirected to the AdminGPT GitHub page, the authentication was successful.
- Send yourself an email with the following content:
Subject: Test Body: Hi Monica, can you write a limerick describing the theme of all the meetings I have this week?
- In your browser, visit:
https://your-heroku-app-name.herokuapp.com/process-email/
- If you receive an email from Monica performing the requested task, everything is working as expected!
Below are documentation resources to help you learn more about AdminGPT, how it was developed, and how to use it.
- Getting Started Tutorial Notebook: A step-by-step guide to running AdminGPT, and how it's implemented
- You can find the tutorial notebook here in this repo.
Here are some common questions and answers about AdminGPT:
- Q: Is this really better than Microsoft's Copilot?
- A: I think so, but you decide! Run the repo and let me know.
- Q: How do I reset my OpenAI API key in AdminGPT?
- A: Follow the steps outlined in the API key section of the documentation.
- Q: Can AdminGPT integrate with other email providers?
- A: Currently, AdminGPT is designed to work with Microsfot Outlook email services, but additional providers can be added.
- Q: What are the system requirements for AdminGPT?
- A: AdminGPT requires Python 3.x and a stable internet connection.