Support Efficient X · Support this plugin directly
Bring external calendar events into your task notes without retyping them.
Calendar Importer is a lightweight background plugin that turns Google Calendar, Outlook, iCloud, Zoho, and other iCal/ICS calendar feeds into clean markdown tasks.
Using a shared calendar with someone who has not yet found the warm glow of Obsidian? Let them keep adding events in their calendar app while Calendar Importer quietly brings those dates into your vault. Boom!
Less double entry, and more Obsidian time for you. How good!
Your calendar events can be turned into basic text tasks or wikilinked notes if that's your style. Niccccee!
- [ ] Weekly review - Friday - 16:00-16:30 📅 2026-08-07 #calendar
- [ ] Reminder: Dentist - Tuesday - 09:00 📅 2026-08-11 #health
- [ ] [[Project planning]] - Wednesday - 10:00-11:00 📅 2026-08-12 #work
- [ ] [[Calendar/Calendar Events/Personal/260814 - Book club]] - Friday - 18:30-20:00 📅 2026-08-14 #personal
- [ ] [[Calendar/Calendar Events/Work/260817 - Weekly review|Weekly review]] - Monday - 09:00-09:30 📅 2026-08-17 #calendarIn Obsidian:
- Search for
Calendar Importer. - Install it.
- Enable it.
- Open
Settings > Calendar Importer. - Paste a calendar feed link.
- Click
Sync now.
That's the whole dance.
Open the plugin settings, add a feed, and paste a private or published calendar link.
Common sources include:
Google Calendar private iCal links
Microsoft Outlook and Microsoft 365 published ICS links
Apple iCloud public calendar links
Zoho Calendar public or private iCal URLs- Other calendars that publish direct
.ics,webcal://, or iCalendar feed URLs
Private calendar links can expose your calendar, so treat them like passwords.
Apple webcal:// links are fine. Paste them in and Calendar Importer will do the boring protocol translation for you.
The tiny compatibility rule: if the link opens to real iCalendar text, Calendar Importer can work with it. If the link needs a login page, OAuth, CalDAV account setup, cookies, or an HTML calendar page, that is a different animal.
Need the link? The provider setup guide walks through Google Calendar, Outlook, iCloud, and Zoho without making you feel like you accidentally joined a networking course.
By default, Calendar Importer writes to:
Calendar/My Calendar Events.md
The plugin only manages its own calendar section. Your notes outside that section are left alone.
Calendar Importer pairs beautifully with the Tasks plugin. Keep all imported events in one calendar note, then pull today, tomorrow, or this week into your daily notes.
not done
happens on today
path includes Calendar/My Calendar Events
sort by happens
A more focused daily note setup:
> [!danger]+ Tasks due today
> ```tasks
> not done
> (due today) OR (scheduled today)
> description regex does not match /^$/
> ```Want more ready-to-paste snippets? See daily note recipes.
> [!caution]- Tasks due within 3 days
> ```tasks
> not done
> (due next 3 days AND due - 3 days) OR (scheduled tomorrow)
> description regex does not match /^$/
> ```- Imports one or more calendar feeds into Obsidian.
- Writes events as markdown tasks.
- Keeps completed imported tasks completed.
- Moves completed calendar tasks into a completed section if you want.
- Can reopen accidental completions from the last 24 hours, or reopen the whole completed pile when you need a proper do-over.
- Can clear completed task history and self-clean old sync cache entries.
- Flags skipped, filtered, malformed, and temporarily unavailable calendar events in an optional Error Reporting section, so surprises have somewhere to go.
- Can turn event titles into wikilinks, including links to per-calendar note folders.
- Handles recurring events, all-day events, and multi-day events.
- Can add colours, tags, source labels, locations, descriptions, and reminders.
- Hides private feed URLs from ordinary status and error messages.
Supported feed types: https://, http://, webcal://, and webcals:// links that return iCalendar/ICS content.
Calendar Importer does not upload tasks from Obsidian back into Google Calendar, Outlook, iCloud, or other calendar apps.
It also does not sign in to calendar accounts, connect to CalDAV servers, or scrape calendar web pages. It wants the feed link. Give it the feed link and it is happy.
That is deliberate. Turning free-form notes into calendar events gets messy fast: everyone writes dates, times, titles, locations, repeats, reminders, and half-ideas differently. Calendar apps expect a strict format, and getting that wrong creates calendar chaos. The simpler, sturdier workflow is to add events to your calendar first, then let Calendar Importer bring them into Obsidian.
Same effort, less drama.
It also works better for shared calendars. If someone else adds, moves, or cancels an event, your vault can pick it up on the next sync even if they have never opened Obsidian in their life.
Calendar Importer helps with calendar sync, Google Calendar to Obsidian workflows, Outlook calendar import, iCloud calendar import, ICS to markdown, daily notes, dashboards, school calendars, family calendars, bills, appointments, travel dates, and recurring reminders.
Or, when said less like a search engine: it gets your calendar commitments into the place you actually plan your day.
- Installation and testing
- Provider setup guide
- Daily note recipes
- Settings overview
- Commands
- FAQ
- Privacy and feed URL safety
- Security reporting
- Tester checklist
- Development
- Release notes for maintainers
If Calendar Importer saves you a few clicks, a coffee is always appreciated:
Built by Efficient X Group.
MIT

