# Outlook to Day Planner Sync Obsidian plugin that syncs Outlook calendar events into the **## Day Planner** section of your daily notes, filtered by the note's frontmatter `Date` property. ## Features - Downloads events from a published Outlook calendar (`.ics` feed) - Filters events by the active note's frontmatter `Date` property - Inserts or updates the `## Day Planner` section with checkbox tasks - Sorts events by start time - Supports recurring events and configurable timezones - Accessible from the ribbon icon or command palette ## Requirements - [Obsidian](https://obsidian.md/) 1.13.0 or later - A published Outlook calendar (`.ics` link) - Daily notes with a `Date` property in frontmatter (`YYYY-MM-DD`) ## Installation ### From the community (if published) 1. Open **Settings → Community plugins** 2. Search for **Outlook to Day Planner Sync** 3. Enable the plugin ### Manual installation 1. Copy the `outlook-sync` folder into `.obsidian/plugins/` in your vault 2. Run `npm install` and `npm run build` inside the plugin folder 3. Enable the plugin under **Settings → Community plugins → Installed plugins** ## Usage 1. Open a daily note with a `Date` property in frontmatter: ```yaml --- Date: 2026-08-27 --- ``` 2. Run sync using one of these methods: - Click the calendar icon in the left ribbon - Open the command palette (`Cmd/Ctrl + P`) and search for **Sync Outlook to Day Planner** 3. The plugin updates the note's `## Day Planner` section with that day's events: ```markdown ## Day Planner - [ ] 09:00-10:00 - Team meeting - [ ] 14:30-15:00 - Project review ``` If there are no events for that date: ```markdown - [ ] No events scheduled for this day ``` If the `## Day Planner` section does not exist, it will be created at the end of the note. ## Note format | Requirement | Description | |-------------|-------------| | Frontmatter `Date` | Required. Format `YYYY-MM-DD` (e.g. `2026-08-27`) | | Section `## Day Planner` | Optional. If it exists, its content is replaced; otherwise it is appended | ## Settings Open **Settings → Outlook to Day Planner Sync** and configure: 1. **Calendar URL (.ics)** — Your Outlook calendar feed URL 2. **Timezone** — IANA name (e.g. `America/Bogota`) or fixed offset (e.g. `-05:00`) 3. **Start hour / End hour** — Filter which events are included You can paste `.ics` or `.html` URLs; HTML links are converted automatically: | Format | URL | |--------|-----| | HTML (web view) | `.../owa/calendar/.../calendar.html` | | ICS (feed) | `.../owa/calendar/.../calendar.ics` | Settings are saved automatically when you edit each field. ## Development ```bash # Install dependencies npm install # Production build npm run build # Development mode (rebuilds on save) npm run dev ``` To test changes in Obsidian, reload the plugin from **Settings → Community plugins → Installed plugins** (disable and re-enable) or restart Obsidian. ### Project structure ``` outlook-sync/ ├── main.ts # Plugin source code ├── main.js # Generated bundle (do not edit) ├── manifest.json # Plugin metadata ├── esbuild.config.mjs # Build configuration ├── tsconfig.json # TypeScript configuration └── package.json ``` ## License MIT