jash10134 downloadsSync todo items with time estimates to Google Calendar. Tracks estimated vs actual time on completion.
Reads todo items from your Obsidian notes and creates Google Calendar events with the correct duration.
This plugin connects to the following remote services:
| Service | Endpoint | Purpose |
|---|---|---|
| Google OAuth 2.0 | accounts.google.com, oauth2.googleapis.com |
Authenticate your Google account and obtain/refresh access tokens |
| Google Calendar API | www.googleapis.com/calendar/v3 |
Create, update, and delete calendar events corresponding to your todos |
No data is sent to any other service. The plugin communicates exclusively with Google's APIs using the credentials you provide.
- [ ] Write blog post(2h)
- [ ] Team standup(30m)
- [ ] Deep work session(1h30m)
- [ ] Quick review(1.5h)
- [x] Done task(2h)(1h30m) ← marked completed with time comparison
- [x] Done task(2h) ← marked completed, actual time unavailable
[x]) have their calendar event description updated to:Completed.
Time Estimated: 2hrs
Time Required: 1.5hrs
Factor: 0.75
If no actual time is provided, "Time Required" and "Factor" show as "unavailable".# Clone/copy this folder into your vault's plugin directory
cp -r obsidian-todo-gcal <your-vault>/.obsidian/plugins/todo-gcal-sync
# Install dependencies and build
cd <your-vault>/.obsidian/plugins/todo-gcal-sync
npm install
npm run build
Cmd/Ctrl + P)| Command | Description |
|---|---|
Sync todos from this file to GCal |
Syncs todos in the currently active file |
Sync all todos to GCal |
Syncs todos across every .md file in the vault |
| Setting | Default | Description |
|---|---|---|
| Start hour | 10 | Events start from this hour (24h) |
| Start minute | 30 | Events start from this minute |
| Calendar ID | primary | Which Google Calendar to use |
| Time zone | Auto-detected | IANA timezone string |
.obsidian/plugins/todo-gcal-sync/sync-data.json