Calendar Importer

by Efficient X Group
5
4
3
2
1
Score: 51/100

Description

Imports iCal/ICS calendar events from 3rd party calendars into a dedicated Obsidian note.

Reviews

No reviews yet.

Stats

2
stars
1,919
downloads
0
forks
86
days
5
days
5
days
5
total PRs
0
open PRs
0
closed PRs
5
merged PRs
1
total issues
0
open issues
1
closed issues
53
commits

Latest Version

5 days ago

Changelog

  • Add a device-local writer switch for shared vaults: leave calendar imports on one device and turn them off on the others, while all devices can still view and tick synced tasks.
  • Repair repeated managed calendar sections from merged notes, keeping checked events and removing their unchecked copies on the next successful writer sync. Back up notes automatically before repairing repeated sections.
  • Expose Calendar Importer in Obsidian 1.13+ settings search without putting the dynamic feed editor into a cramped settings row.
  • Add twenty new sync one-liners and retire a premature claim about duplicates.
  • Require Obsidian 1.8.7 or later for device-local storage. Earlier plugin releases remain available through versions.json.

README file from

Github

Calendar Importer

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 #calendar

Installation

In Obsidian:

  1. Search for Calendar Importer.
  2. Install it.
  3. Enable it.
  4. Open Settings > Calendar Importer.
  5. Paste a calendar feed link.
  6. Click Sync now.

That's the whole dance.

Getting Started

Add a calendar

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.

Choose where tasks go

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.

Use daily notes

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 /^$/
> ```

What It Does

  • Imports one or more calendar feeds into Obsidian.
  • Writes events as markdown tasks.
  • Keeps completed imported tasks completed.
  • Supports a single-writer setup for vaults shared between desktop and mobile: turn off calendar-note writing on secondary devices while still viewing and ticking the synced tasks.
  • 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.

What It Does Not Do

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.

Why People Use It

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.

Documentation

Support

If Calendar Importer saves you a few clicks, a coffee is always appreciated:

Built by Efficient X Group.

License

MIT