Single post

Google Simple Tasks – Docs

Configure the plugin

  • Open Obsidian Settings β†’ Google Simple Tasks
  • Paste your Client ID and Client Secret
  • Run the command Authenticate with Google from the command palette
  • Follow the authentication flow :
    – Click the link to open Google authentication
    – Grant permissions to access your Google Tasks
    – Copy the authorization code
    – Paste it back in Obsidian

The plugin will automatically start syncing and you’ll see status messages.

Customize Settings

  • Tasks Folder – Root folder for all task notes (default – Tasks)
  • Sync Interval – How often to sync automatically in minutes (default 5, max once per hour)
  • Due Date Icon – Icon or text to display before due dates (default – πŸ“…)
  • Completed Icon – Icon or text to display before completion dates (default – βœ…)
  • Show Source List – Toggle display of the source Google Tasks list name
  • Date Format – Choose between Dataview format (YYYY-MM-DD), short (M/D/YYYY), or long (Mon DD, YYYY)

Usage

Receiving tasks from Google

Tasks automatically sync based on your configured interval. For manual sync:

  • Open the command palette (Ctrl/Cmd + P)
  • Run Sync Google Tasks to Obsidian
  • Tasks will be organized into subfolders by list name
  • Completed tasks go to the Archived subfolder

Sending tasks to Google

Method 1 : From any note

  • Write a task in checkbox format: `- [ ] Task title`
  • Place your cursor on that line
  • Run Send task to Google Tasks command (assign a hotkey for quick access)
  • Select which Google Tasks list to add it to
  • Optionally set a due date
  • The task is created in Google Tasks and the local task is removed
  • After auto-sync, a new note will appear in the appropriate subfolder

Method 2 : Update existing synced tasks

  • Open any task note that was synced from Google Tasks
  • Edit the title in the checkbox line or check/uncheck the box
  • Run Send task to Google Tasks command (or your custom hotkey) to push your changes
  • Changes are sent to Google Tasks
  • The note updates after the next sync

Important – If you don’t manually send local updates, the next automatic sync from Google will overwrite your local changes

Task note structure

Each task note includes :

Frontmatter metadata

google_task_id – Unique identifier for syncing

list_id and list_title – Source Google Tasks list

status – Current status (needsAction or completed)

due_date – Formatted due date (if set)

completed_date – Formatted completion date (if completed)

notes – Task notes from Google Tasks (supports multi-line)

tags – Extracted hashtags from notes

parent_task – ID of parent task (for subtasks)

Body

  • Task title as heading
  • Interactive checkbox with formatted dates
  • Task notes section
  • Last sync timestamp

Folder structure

Tasks/
β”œβ”€β”€ [List Name 1]/
β”‚ β”œβ”€β”€ Task Title 1.md
β”‚ └── Task Title 2.md
β”œβ”€β”€ [List Name 2]/
β”‚ └── Task Title 3.md
└── Archived/
└── Completed Task.md

Bases integration

This plugin was designed with Obsidian Bases in mind. Filter and sort tasks by list, status, due date, tags and more. Use properties and formulas to control display and use Obsidian links and tags in Google Tasks to enable querying and search. Task title in .base files automatically link to the locally synced Google Task note.

Dataview integration

Use of Obsidian links and tags in Google Tasks enables querying and search. Use inlineΒ  Dataview (community plugin) syntax to customize results.

dataview
TASK
WHERE due
WHERE !completed
SORT due ASC

Query by list

dataview
TABLE due_date, status
FROM "Tasks/Work Tasks"
WHERE !completed
SORT due_date

Find overdue tasks

dataview
TASK
FROM "Tasks/List-folder-name"
WHERE due < date(today) AND !completed

Tips

  • Assign a hotkey to “Send task to Google Tasks” for quick capture and updates
  • Push changes immediately – if you check/uncheck tasks in Obsidian, use the send command right away or they’ll be overwritten on next sync
  • Google Tasks is the source of truth – automatic sync always overwrites local changes
  • Use hashtags in Google Tasks notes – they’ll be extracted as Obsidian tags
  • Edit task notes freely – add your own content below the sync metadata (won’t be sent to Google)
  • Link tasks to projects by adding wiki-links in your notes
  • Organize with subfolders – tasks automatically organize by list name
  • Archive completed tasks automatically move to the Archived folder

Privacy & Security

  • Your Google credentials are stored locally in Obsidian’s data
  • The plugin only requests access to your Google Tasks (no other data)
  • Authentication uses OAuth 2.0 with refresh tokens for security
  • No data is sent to third parties

Troubleshooting

Authentication fails

  • Ensure you’ve enabled the Google Tasks API in Google Cloud Console
  • Try revoking access in your Google Account settings and re-authenticating
  • Check that you’re using “Desktop app” credentials

Tasks not syncing

  • Verify your refresh token is set in settings
  • Check the console (Ctrl/Cmd + Shift + I) for error messages
  • Try manually running the sync command

Task updates not working

  • Ensure you’re editing a synced task note (has google_task_id in frontmatter)
  • Check that the checkbox line format is correct –Β  - [ ] Task title
  • Verify you have a valid connection (try manual sync first)

Changes in Obsidian get overwritten

  • This is expected behavior – automatic sync always pulls from Google Tasks
  • You must manually use the “Send task to Google Tasks” command to push local changes
  • Assign a hotkey for quick access when you make changes

Support

For issues, feature requests, or questionsΒ  – dana@vizou.com