Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Set of functions managing emails in Gmail according to GTD rules. Implementation uses Google Apps Script. Code is hosted, authenticated and executed by Google servers.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 dev
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.md
Octocat-spinner-32 TODO
Octocat-spinner-32 build-coffee-clean.sh
Octocat-spinner-32 build-coffee.sh
Octocat-spinner-32 build.sh
Octocat-spinner-32 config.coffee
Octocat-spinner-32 package.json
Octocat-spinner-32 test-debug.sh
Octocat-spinner-32 test.sh
README.md

Gmail GTD Bot

Set of functions managing emails in Gmail according to the GTD rules. Implementation uses Google Apps Script. Code is hosted, authenticated and executed by Google servers.

Features

  • Add/remove labels for a search query.
    Eg. remove S/Next Action from all S/Finished
    Or, label all C/Home P/Cleaning by V/Need To Do
  • Parse labels from a thread subject inside Inbox.
    Like so: #project-name in @context will be done as !na in my *city'
    Will have following labels: `P/project-name, C/context, S/Next Action, L/City
  • Sync with Google Tasks (2-way)
    Maps thread subject from search query to a named task list.
    Completed task adds S/Finished label to the thread.
    Completed thread removes task from the list.

Installation

  1. Create new spreadsheet in Google Doc.
  2. Open menu Tools -> Script Editor.
  3. Paste JS version of the code.
  4. Cut first and last line (remove 'module pattern').
  5. Save & run main to authorize.
  6. Add new time based trigger for function main using Triggers menu.

Triggering each 5 mins works safe for me.

Docs

See docs.md (draft).

Tests

./test.sh

TODO

  • User docs.
  • Move TODOs to GitHub's issues.
  • Extract in-code TODOs.
  • Sync a task list with a spreadsheet query.
  • Support auto-expired actions after defined amount of time.
  • Support for label wildcards (get all user labels and generate regex/query pattern from this static list).
  • Calendar integration - sync events thou task lists.
  • Better task naming experience - update the name to changes labels.
  • GtdBot object as event emitter (with signals).

Author: tobiasz.cudnik@gmail.com
License: MIT

Something went wrong with that request. Please try again.