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 < 3 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.

👤 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.4.tar.gz (14.5 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.4-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nudge_agent-0.1.4.tar.gz
  • Upload date:
  • Size: 14.5 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.4.tar.gz
Algorithm Hash digest
SHA256 e463df2c7581ac5a63b19de662e6f3e8661dd5747f6d7d3b36372f04bb64699f
MD5 84530439bfd0718152f75364769a2597
BLAKE2b-256 5981fdf2bc5fa37106c6136f011a9fd7efaba0a6ef7680e5e9ebb06b5a20b1bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for nudge_agent-0.1.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: nudge_agent-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 14.1 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6dfa584b3bc05b82087df54912df75fd7b6f42e3ce4c352ae94613b2d1c51337
MD5 3bb3b63e4283ae751f78c3c901dd3d84
BLAKE2b-256 964dda404e1ac78df45b6c83a3306c94ead338dcc545b73b681285fe6ef3a7a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for nudge_agent-0.1.4-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