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_idin 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