pip install -U gmail-digest
Usage: gmail-digest [OPTIONS]
Options:
--dry-run Run script without creating sending
--help Show this message and exit.
You can customize the gmail query used to collect emails to summarize:
GMAIL_FILTER_SUFFIX=-to:personal@gmail.com -to:readwise.io -to:todoist.com
Test the tool by running it locally and increasing DIGEST_DAYS
.
Need to debug OpenAI/prompt issues? Enable debug logging.
You need to create a "OAuth 2.0 Client IDs" which has to be done with a Google Workspace (gsuite). This will not work on a personal gmail account (unless you create a app on a workspace and add your personal account as a test account).
- Navigate to the Google Cloud Console. https://console.developers.google.com/
- Create a new project or select an existing one.
- Go to "APIs & Services" -> "Library" and enable the Gmail API.
- Navigate to "APIs & Services" -> "Credentials".
- Click "Create Credentials" -> "OAuth client ID".
- Select "Desktop app" as the application type, then click "Create".
- Download the JSON file, rename it to
credentials.json
, and place it in the root of this project. - Run the script and oauth into your account
If you want to edit scopes on an existing application, you can:
- OAuth Consent Screen
- Edit
- Continue to step 2
- Add or remove scopes
- Add scopes and save
Two main scopes are required for this:
https://www.googleapis.com/auth/gmail.compose
https://www.googleapis.com/auth/gmail.readonly
Some other scopes I'd add so you can reuse the credentials in other projects, like gmailctl or calendar scripts:
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.event
https://www.googleapis.com/auth/gmail.labels
https://www.googleapis.com/auth/gmail.settings.basic