ICS / Dataview / Templater Integration for Meeting Notes

What I’m trying to do

In my daily notes I want to retrieve a list of Google Calendar events (obsidian-ics) and optionally click a link/button to create a meeting note that pulls all of its details into a new note (templater?) so I can expand upon what was discussed beyond a basic summary.

Ideally I wanted to do this with Full Calendar, but it seems to have fallen out of active development, so I’m looking to hack something else together.

Things I have tried

Trying to get an integration together using these plugins:

  • ICS
  • Dataview
  • Templater
  • MetaBind

Something very similar to this that I saw was here: Using metaedit, buttons, templater, nldates and dataview together

…but I keep seeing reports that Button is temperamental and MetaBind is its successor. Not sure how much to put faith in that.

To the point though I saw in ICS you could do this with dataview:

const events = await app.plugins.getPlugin('ics').getEvents(dv.current().file.day);
const mdArray = events.map(e => `${e.time} ${e.summary} ${e.location}: ${e.description}`.trim());

dv.list(dv.array(mdArray))

So I assume table would work in here, but when trying to look into meta-bind buttons which could probably create this I see that it’s just a code-block API they describe:

\```meta-bind-button
style: primary
label: Meta Bind Help
action:
  type: command
  command: obsidian-meta-bind-plugin:mb-open-faq
\```

There’s probably some way to hack direct button creation like they’re doing in the parser: obsidian-meta-bind-plugin/packages/obsidian/src/main.ts at 86914704e417b5f1ec7fc1607cd0dd3273c94d57 · mProjectsCode/obsidian-meta-bind-plugin · GitHub

…but that feels like private API shenanigans that’d break later.

Active Questions

I know a fair amount of Javascript, but I feel like I might not know about some existing solutions here, or I’m making this much harder than it needs to be.

Does anyone else have something pre-existing or an off-hand solution? Is Button not a bad idea to use?

If not I think I can sort something out, but it’d take a bit.

Thanks for any and all help!

have you tried other google calendar plugins ? Also, you can create buttons directly with dvjs.

buttons there are created with buttons plugin, which is discontinued and meta bind is used now…

That would make sense, wouldn’t it? I may just go with manually created buttons for now that trigger a note creation and build up from there. Any thoughts on CustomJS or similar plugins for organizing custom scripts?

Yeah, that’s what I was seeing but Meta Bind works almost exclusively with codeblocks with some dependency injection, making it hard to do something to the note of:

MetaBind.button.new(...)

…unless it’s just not documented anywhere, but seems like they don’t want folks directly accessing those primitives. Would be very happy to be proven wrong on that note.

Not familiar with custom script plugins