Meeting Notes for Obsidian
COMMENT
You need to install Advanced URI for Obsidian:
https://github.com/Vinzent03/obsidian-advanced-uri
COMMENT
This shortuts asks creates a note for a meeting prefilled with the information found in the calendar event.
If a note for this event already exists obisidian will be opened with the corresponding note open.
COMMENT
Here we get the date of the Meeting.
It’s either provided by the Share Sheet or a calendar input is presented.
SCRIPTING
If
Shortcut Input
does not have any value
SCRIPTING
Ask
On what day is the meeting?

Provided Input
SCRIPTING
Otherwise
VARIABLES
Get
Shortcut Input
SCRIPTING
End If

If Result
COMMENT
Now we get all calendar entries for that date (except full day events).
If there is more than one entry a list will be presented.
CALENDAR
Get Start of Day
from
Selected Date

Adjusted Date
CALENDAR
Add
1
days
from
Midnight

Adjusted Date
CALENDAR
Find
All Calendar Events
where
All the following are true [{'class': 'filter-property', 'value': 'Start Date'}, {'class': 'filter-operator', 'value': 'is between'}, {'class': 'filter-benchmark', 'value': 'Midnight', 'glyph': '', 'UUID': 'BFFCC7E5-384B-42D5-881E-1E243337885E'}, {'value': 'and'}, {'class': 'filter-benchmark', 'value': 'Next day', 'glyph': '', 'UUID': '0D225FAF-9CE1-49B2-BCA2-4B66663A14AF'}] [{'class': 'filter-property', 'value': 'Duration'}, {'class': 'filter-operator', 'value': 'is less than'}, {'class': 'magic', 'value': '1439', 'glyph': '', 'UUID': ''}]

Calendar Events
SCRIPTING
If
Calendar Events
does not have any value
COMMENT
Stop when no meeting was found
SCRIPTING
Exit shortcut with
Result
SCRIPTING
Otherwise
SCRIPTING
Count
Items
in
Calendar Events

Count
SCRIPTING
If
Count
is
1
COMMENT
Don’t show a list if only one meeting is available for the day
SCRIPTING
Get
First Item
from
Calendar Events

Item from List
SCRIPTING
Otherwise
SCRIPTING
Choose from
Calendar Events
Prompt
Select calendar entry

Chosen Item
SCRIPTING
End If

If Result
SCRIPTING
End If

If Result
COMMENT
Generate the note content for the calendar event.
DOCUMENTS
Replace
(\/|\\|\:)
with
World
in
Selected Event

Updated Text
TEXT
Meetings

Text
TEXT
Selected Event
/
Cleaned Title
Note Path
.md

Text
TEXT
#
Selected Event
- [[
Notes
]]

Text
VARIABLES
Set variable
Content
to
Header
SCRIPTING
If
Notes
has any value
TEXT
## Attendees
Selected Event
Selected Event

Text
VARIABLES
Add
Text
to
Content
SCRIPTING
Otherwise
SCRIPTING
End If

If Result
SCRIPTING
If
Notes
has any value
TEXT
## Details
Notes

Text
VARIABLES
Add
Text
to
Content
SCRIPTING
Otherwise
SCRIPTING
End If

If Result
SCRIPTING
If
Content
is not
Header
TEXT
## Notes

Text
VARIABLES
Add
Text
to
Content
SCRIPTING
Otherwise
SCRIPTING
End If

If Result
SCRIPTING
URL
Encode
Content

URL Encoded Text
TEXT
iCloud

Text
URL
obsidian://advanced-uri?vault=
Vault Name
&filepath=
Filename
&data=
Encoded Content
&mode=write

URL
SAFARI
Open
URL
Showcuts