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.5.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.5-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nudge_agent-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 8eb73b133002418341e2a98d2948a1dae62c7cdf26e88f75fd784732805efdec
MD5 929a96380a08d3eea1af0413f5749e6e
BLAKE2b-256 12a71a0469c38dc7c0dc74f753e6a46a6bc399dcdbbb9a2adcec25367be6d101

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: nudge_agent-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 14.2 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6eb422e6641fc90a5bc16d42aaff812c550a0785d0ab2d24fbee687d4a869db8
MD5 cafe36e5f02ed8a04aca0a31b5ba2c7c
BLAKE2b-256 579c6d4bf73e7f70745a1a52c78fd802ca167a99c68590e34bda30a5eb539d87

See more details on using hashes here.

Provenance

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