# Google Calendar Sync for Obsidian
**Write an event in a note. It appears on your Google Calendar.**
[](https://github.com/mcuste/obsidian-gcal-sync/actions/workflows/ci.yml)
[](https://github.com/mcuste/obsidian-gcal-sync/releases)
[](https://obsidian.md)
[](LICENSE)
## How it works
Write `gcal:` in a code span on any line. The text before it becomes the event title.
```markdown
- [ ] Design review `gcal:2026-08-18T14:00/PT1H gcal-repeat:weekdays`
^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^
title start duration repeat
```
Save the note, and the plugin makes your calendar match it:
```
your notes ──> plugin compares ──> Google Calendar
├─ event missing -> create
├─ event different -> update
└─ line gone -> delete
```
- Sync goes one way. Nothing but the picker below ever writes to a note, and only the one
declaration you opened.
- It runs about a second after you save, every 15 minutes, when Obsidian starts, and when you run
**Sync now**.
- It only touches events it created, so your other Google Calendar events are safe, even on the
same calendar.
A declaration you are not editing becomes a chip with the date, the time, and the repeat in words,
led by an icon: a green tick means the event reached Google, a grey clock means not yet, a red cross
means something is wrong.