Agenda Injector

approved

by loulan23253

Inject your Agenda calendar events into daily notes automatically - This plugin has not been manually reviewed by Obsidian staff.

1 stars16 downloadsUpdated 5d agoMIT

Agenda Injector

An Obsidian 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

> [!todo]+ todo
><!--agenda-injected-->
>>- [ ] 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

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.