Skip to main content

AI-powered Gmail follow-up CLI agent

Project description

🚀 Nudge — Autonomous AI Gmail Follow-up Agent

PyPI Version Python Version License GitHub Stars

Nudge is an intelligent, zero-setup CLI agent that audits your sent Gmail threads, identifies unanswered emails, and generates short, natural human follow-up replies using Groq AI (Llama 3.3 70B).

Designed for job hunters, founders, recruiters, and sales teams who want to follow up fast without writing generic AI fluff.


Nudge TUI Interface


✨ Features

  • 🔑 0-Setup Google OAuth: No Google Cloud Console setup or credentials.json required! Sign in via Google in 5 seconds.
  • 🗄️ SQLite History Persistence (~/.nudge/history.db): Remembers drafted and skipped threads so you never get prompted twice for the same email.
  • 📧 Full Email MIME Context: Reads full thread history instead of short snippets for deeply contextual follow-ups.
  • 🎭 Interactive Multi-Tone AI Generator:
    • [1] Check-in: Quick, warm status update request.
    • [2] Value-Add: Shares project accomplishments or progress updates.
    • [3] Breakup: Sends a polite final note to give the recipient a low-pressure way to respond.
  • 🧠 Smart Decision Engine:
    • Skips threads where the recipient already replied.
    • Skips threads sent < 2 days ago.
    • Skips threads where you've already sent 2+ follow-ups.
  • ⌨️ Single Keypress CLI Control: Approve ([A]), Edit ([E]), Change Tone ([1], [2], [3]), Switch Account ([L]), Skip ([S]), or Quit ([Q]).

⚡ Instant Installation

Install Nudge globally via pip or pipx:

pip install nudge-agent

Then run nudge anywhere in your terminal:

nudge

⚙️ Environment Configuration

Set your Groq API Key in your .env file or export it in your terminal environment:

export GROQ_API_KEY="gsk_your_groq_api_key_here"

Nudge also automatically loads configuration from ~/.nudge/.env if present.


💻 CLI Usage Options

nudge [OPTIONS]
Flag Description
--limit <N> Number of sent Gmail threads to scan (Default: 50)
--auto Auto-approve mode (creates drafts without interactive prompts)
--login Force Google re-authentication to sign in with a new Gmail account
--logout Log out of your current Gmail account
-h, --help Show command help and options

🛠 Architecture

nudge/
├── main.py             # Rich TUI Orchestrator & interactive keypress approval loop
├── gmail_client.py     # Gmail API authentication, MIME body parser & SQLite history DB
├── followup_agent.py   # Decision engine & Groq Llama 3.3 70B prompt generator
└── pyproject.toml      # Packaging metadata & entrypoints

🔒 Privacy & Security

  • Local Storage: Your Google token (token.json), SQLite database (history.db), and local state are stored 100% locally on your computer inside ~/.nudge/.
  • Draft Mode Guarantee: Nudge attaches approved replies as drafts inside your Gmail account so you maintain 100% control before sending.
  • Privacy Policy: Read our complete Privacy Policy.

👤 Author & License

Built by @bydhruvil ;)

Licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nudge_agent-0.1.6.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nudge_agent-0.1.6-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file nudge_agent-0.1.6.tar.gz.

File metadata

  • Download URL: nudge_agent-0.1.6.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for nudge_agent-0.1.6.tar.gz
Algorithm Hash digest
SHA256 8ca7ce609ff7ca1b94b2fe1feafd306dbade4db7a859d870170374076d78828c
MD5 beb09b7a2dd4d4b35851b70627e000f2
BLAKE2b-256 c4669e83fade0522a5bd2b0c2ea066a5ca36ee1ac2aef87744fe2e3ab44f24ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for nudge_agent-0.1.6.tar.gz:

Publisher: publish.yml on dhruvil-codes/nudge-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nudge_agent-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: nudge_agent-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for nudge_agent-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 09b583a977b4671697e1b38536d621ec9840800d603d640dc365c2984ddf57d3
MD5 fbcc869ebbc15191a0abe06bb366cc46
BLAKE2b-256 26b4ab00133fa8347ced22928c743ee40abf17169ef413589d239d9f2a118e11

See more details on using hashes here.

Provenance

The following attestation bundles were made for nudge_agent-0.1.6-py3-none-any.whl:

Publisher: publish.yml on dhruvil-codes/nudge-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page