TobiaszCudnik / taskbot

Real time sync engine for G APIs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TaskBot.app

Real time GMail to Google Tasks sync and a GTD workflow manager.

https://taskbot.app

Features

  • ~0.1 sec sync time
  • GTD workflows using Gmail labels and GTasks lists
  • Automatically managed status labels
  • #hashtags to labels from subjects and tasks (S/Action == !a)
  • Label types
    • Status - S/Action, !a
    • Project - P/groceries, #groceries
    • Reference - R/document, #R-document
    • Location - L/home, #L-home
    • Commands - !T/Sync GTasks
  • Auto label colors
  • Multi user support
  • Quota calculation and throttling
  • Per-user restarts on exceptions
  • AppEngine Flexible deployment

Usage

  1. npm i
  2. Create a Google API project and a Web Application OAuth2 client account
  3. Go to Firebase Console and enable it for the project restricting all the access and get the admin config
  4. Rename config-private-template.ts to config-private.ts
  5. Fill in the OAuth2 account credentials under google, including the callback URL
  6. Fill in the Firebase admin config under firebase_admin
  7. make build
  8. make start (or make start-prod)
  9. Go to localhost:8080/signup and authorize the app
  10. Follow the How to use steps (optional)
  11. GTasks are being pulled rarely, to trigger a pull add !T/Sync GTasks to any email
  12. Use your fav GTasks client on mobile and tasks canvas on the web

Roadmap

  • Sharable lists
  • Dedicated PWA
  • Syncing with:
    • Google Calendar
    • Todoist
    • Remember The Milk
    • Google Spreadsheets
  • Even faster syncing
  • and more...

How to use

Although TaskBot automatically configures as much as possible, there's still a couple of optional, but useful steps:

  1. Auto hide sidebar (top left hamburger menu)
  2. Enable keyboard shortcuts in GMail
  3. Setup Multi Inbox

Enable Multi Inbox:

  1. Settings
  2. "Advanced" Tab
  3. Enable "Multiple Inboxes"
  4. "Multiple Inboxes" Tab
  5. Set "Below the inbox"

Configs for Multi Inbox Panes:

  • Next
    • Query: (label:!s-next-action -label:s-finished -label:!s-expired -label:!s-pending) OR (label:!s-pending AND label:unread)
  • Actions
    • Query: label:!s-action -label:!s-next-action -label:!s-finished -label:!s-expired
  • Pending
    • Query: ( label:drafts OR label:!s-pending ) -label:!s-expired
  • GTD
    • Query: label:!s
  • Sent
    • Query: label:sent -label:chats

About

Real time sync engine for G APIs

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 91.8%Language:CSS 7.3%Language:Makefile 0.7%Language:Shell 0.1%Language:JavaScript 0.0%