gmail-statement-fetcher

Download and decrypt bank statement PDFs from Gmail via IMAP or OAuth.

19|5|Updated Mar 8, 2026
One-click install
npx skills add https://github.com/notoriouslab/gmail-statement-fetcher --skill gmail-statement-fetcher
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gmail-statement-fetcher
Source: https://github.com/notoriouslab/gmail-statement-fetcher/tree/main
Command: npx skills add https://github.com/notoriouslab/gmail-statement-fetcher --skill gmail-statement-fetcher

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This solution automates downloading bank/financial statement PDFs from Gmail by using IMAP or OAuth, driven by a bank-config.json, with built-in deduplication and optional ZIP/PDF password handling.

Core Features & Use Cases

  • Config-driven multi-bank support: add banks via config.json without code changes.
  • UID-based deduplication to avoid re-downloading the same emails.
  • ZIP extraction and optional per-bank passwords; optional PDF decryption with pikepdf.
  • Can be integrated with AI agents via SKILL.md.

Quick Start

Copy the example config, create .env with Gmail credentials, and run the fetcher to start downloading statements.

Frequently Asked Questions about gmail-statement-fetcher

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate downloading bank statement PDFs from Gmail?

Automating bank statement PDF downloads from Gmail is done by using IMAP or OAuth authentication to fetch emails, driven by a bank-config.json file to support multiple banks without changing code.

How does UID-based deduplication prevent re-downloading the same Gmail bank statements?

UID-based deduplication tracks unique email identifiers to prevent re-downloading the same Gmail bank statements, ensuring each email is processed only once across multiple workflow runs.

Can I decrypt password-protected bank statement PDFs automatically after fetching them?

You can decrypt password-protected bank statement PDFs automatically by applying per-bank passwords configured in your settings, using pikepdf for optional PDF decryption after extraction.

Do I need OAuth or IMAP credentials to fetch financial statements from Gmail?

You need either OAuth or IMAP credentials stored in a .env file to fetch financial statements from Gmail, enabling secure authentication and environment-based secret handling for your workflows.

What is the best way to handle multiple banks when downloading email statements?

The best way to handle multiple banks when downloading email statements is using a config-driven approach where you define bank settings in a JSON file, avoiding code modifications for each new bank.

Why are my bank statement ZIP attachments not being extracted automatically?

Bank statement ZIP attachments fail to extract automatically if ZIP extraction is not enabled or per-bank passwords are missing, which are required for processing encrypted archives within the config-driven workflow.