Webex Email Reminders
CLI tool that checks Webex for mentions and direct messages from the last hour and sends an email summary via Nylas.
Prerequisites
- Python 3.9+
- Nylas CLI:
brew install nylas/nylas-cli/nylas
Setup
pip install webex-email-reminders
Or install from source:
pip install -r requirements.txt
Environment Variables
export WEBEX_JWT="your-webex-personal-access-token"
export NYLAS_API_KEY="your-nylas-api-key"
export NYLAS_GRANT_ID="your-nylas-grant-id"
Usage
# Send summary email
webex-email-reminders --to your@email.com
# Send to multiple recipients from a file
webex-email-reminders --to-list recipients.txt
# Both single and list
webex-email-reminders --to your@email.com --to-list recipients.txt
# Custom time window
webex-email-reminders --to your@email.com --hours 2
# Filter DMs by contacts file
webex-email-reminders --to your@email.com --contacts contacts.txt
# Dry run (prints email content without sending)
webex-email-reminders --to your@email.com --dry-run
# Include replies to threads you started
webex-email-reminders --to your@email.com --thread-replies
# Email errors instead of crashing (useful for cron jobs)
webex-email-reminders --to your@email.com --email-errors
# Check version
webex-email-reminders --version
Options
| Flag | Description |
|---|---|
--to |
Email address to send summary to |
--to-list |
Text file with email addresses to send to (one per line) |
--hours |
Look back period in hours (default: 1) |
--minutes |
Look back period in minutes (overrides --hours) |
--contacts |
Text file with email addresses to filter DMs |
--include-all |
Include all messages in active spaces, not just mentions |
--include-my-messages |
Include your own messages in DMs (excluded by default) |
--thread-replies |
Include replies to threads you started |
--email-errors |
Email exceptions from Webex API calls to recipients instead of crashing (useful for cron) |
--dry-run |
Print email content to stdout without sending |
--version |
Show version number |
Local Development
python3 webex_reminders.py --to-list recipients.txt --hours 3
Contacts File (optional)
One email per line to filter which DMs to include:
person1@company.com
person2@company.com
Version Management
When releasing a new version, update the version in these files:
pyproject.toml—version = "X.Y.Z"webex_reminders.py—version="%(prog)s X.Y.Z"
Then tag and deploy:
git tag vX.Y.Z
git push origin vX.Y.Z
./deploy.sh
Deploy
./deploy.sh
Crontab
Run hourly during work hours (8am–6pm EST, Mon–Fri):
0 8-18 * * 1-5 /path/to/your/reminders.sh
Metadata
Release files for webex-email-reminders 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| webex_email_reminders-0.8.0.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| webex_email_reminders-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.4 kB
Release files / webex_email_reminders-0.8.0.tar.gz
| Download URL | webex_email_reminders-0.8.0.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc11a4a66d8d7375779356a9dc6d1edd55e7bf0cedf306aeef7a6f1ac9690697
|
|
BLAKE2b-256 checksum How to use checksums |
0330dc4092bdec14bb01988e63164b40de767b40f51c42088213fc8c5fb31cc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / webex_email_reminders-0.8.0-py3-none-any.whl
| Download URL | webex_email_reminders-0.8.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec005c5b6969f860b6387819dadfb4b9095781570709ff1cc7c9bfb91bf7cbc4
|
|
BLAKE2b-256 checksum How to use checksums |
62565695caeafbc6ad06dc02b5f8f1626c1381cb19b1325246074fd890cdced1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|