/gmail-processor

Gmail Processor is an open-source project that automates the processing of Gmail messages and attachments using Google Apps Script and execute actions (e.g. store attachments in a GDrive folder, log information in a spreadsheet) depending on matching criteria.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

📧 Gmail Processor 🤖 - Automate Email Processing with Ease

GitHub GitHub release (with filter) GitHub Release Date - Published_At GitHub Workflow Status (with event) Coveralls branch

More badges ...

GitHub tag (with filter) GitHub Repo stars GitHub forks GitHub all releases

GitHub commit activity (branch) GitHub repo size GitHub contributors All Contributors Contributor Covenant

GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests Known Vulnerabilities

Lines of Code Maintainability Rating Bugs Code Smells Security Rating Vulnerabilities Duplicated Lines (%)

Gmail Processor is an open-source Google Apps Script library that automates the processing of Gmail messages and attachments by executing actions (e.g. store attachments in a GDrive folder, log information into a spreadsheet) depending on powerful matching criteria.

Dall-e generated image: A friendly smiling robot sitting on a table, sorting mails into three paper trays, colorful flat style, white background

Gmail Processor is the successor of Gmail2GDrive with vastly enhanced functionality, completely re-written in TypeScript with extensibility and stability in mind, using a modern development setup and automation all over the place (dependency updates, tests, documentation, releases, deployments). There's a convenient migration available to convert your old configuration to the new format (see Migrating from GMail2GDrive).

Key Features

  • 🤖 Extensive Automation: Automate email processing using the provided configuration to match threads, messages, and attachments, and trigger actions accordingly.
  • 📁 Google Drive Integration: Store files such as attachments, PDFs of messages, or entire threads into any location within Google Drive, providing easy organization and accessibility.
  • ✂️ OCR Text Extraction: Extract text (e.g. invoice number) from attached documents (JPEG, PNG, GIF, PDF) to organize and annotate your attachments.
  • 📄 Google Spreadsheet Logging: Keep track of processed threads, messages, and attachments by logging valuable information into a Google Spreadsheet.
  • 🔧 Flexible Configuration: Gmail Processor operates based on a JSON configuration that allows you to define matching rules and specify corresponding actions to be executed.
  • 📐 Extensible Architecture: Designed with extensibility in mind, Gmail Processor enables seamless addition of new actions and integrations in the future to adapt to evolving requirements.

Getting Started

The Getting Started Guide shows how to setup Gmail Processor in Google Apps Script and quickly get it up and running.

Config Reference

The Config Reference provides detailed information about the Gmail Processor configuration.

Examples

The Examples show different ways of using Gmail Processor.

Playground

The Playground helps to create the configuration in a schema-aware online editor with a visual schema guide on the side.

Contributing

Contributions to Gmail Processor are welcome! Whether you want to add new features, fix bugs, or improve documentation, check out the contribution guidelines to get started.

Development Guide

See the Development Guide for details.

Contributors

Andreas Hochsteger
Andreas Hochsteger

💻 📖 💡 🚇 🚧 👀 🔧 ⚠️
Piraveen Kamalathas
Piraveen Kamalathas

💻 📖
Ciprian Constantinescu
Ciprian Constantinescu

💻 💡
marcusschweizer
marcusschweizer

💻
Markus Kurzmann
Markus Kurzmann

💻
NadavClaudeCohen
NadavClaudeCohen

💻 📖 💡
Schuller Tom
Schuller Tom

💻 💡
Tom Judge
Tom Judge

💻 💡
David Lemayian ✨
David Lemayian ✨

📖
Denny de la Haye
Denny de la Haye

💻
steve192
steve192

💻
gregory nicholas
gregory nicholas

💡
Gabriel Esposito
Gabriel Esposito

📖
Add your contributions

License

GmailProcessor is released under the Apache 2.0 License.

Support

For any questions, issues, or feedback, please open an issue on GitHub.