# Agenda Injector An [Obsidian](https://obsidian.md) plugin that automatically injects your calendar events into your daily notes. It reads monthly agenda files (such as those synced to your vault by a CalDAV calendar plugin) and, whenever a new daily note is created, writes the day's events as a checklist right below a marker line in the note. ## Features - **Automatic injection**: when a new daily note named `YYYY-MM-DD.md` is created, the day's events are inserted under your configured marker (default: `> [!todo]+ todo`) - **Manual command**: *Inject Agenda events into current note* re-injects or rebuilds the list for any dated note - **Recurring events**: supports `FREQ=DAILY/WEEKLY/MONTHLY/YEARLY` with `UNTIL` from the iCalendar `RRULE` format - **Multi-day events** appear on every day they span - **Sorted output**: all-day events first, timed events by start time - **Configurable display**: 12h/24h time format, show/hide location and category - **Safe re-injection**: only the plugin-managed callout block is replaced — your own notes below it are never touched - **Atomic writes**: file updates use Obsidian's atomic process API ## Setup 1. Sync your calendar into a folder of monthly files named `YYYY-MM.md`, where each event is a `## Title` section with `start::`, `end::`, `all_day::`, `location::`, `category::` fields (the format written by calendar-sync plugins such as ogenda) 2. Open *Settings → Agenda Injector* 3. Set **Agenda folder** to that folder (default: `Agenda`) 4. Make sure your daily-note template contains the marker line (default: `> [!todo]+ todo`) on its own line 5. Optionally set **Daily notes folder** to restrict automatic injection to specific folders ## Example output ```markdown > [!todo]+ todo > >>- [ ] 09:00-10:30 Team meeting 📍Room A 🏷️Work >>- [ ] All-day event 🏷️Personal ``` ## Notes - Rules apply when files are created; run the manual command to refresh an existing note - Events are deduplicated by their `uid` field, so calendars synced from multiple sources stay clean ## License [MIT](LICENSE)