Every weekday morning, reads the calls booked on your calendar for today and sends you one written-up message in Telegram.
UsesGoogle Meet
OpenAI
Telegram
A written-up plan of your day in Telegram
Every weekday at 07:00, the calls booked on your calendar for today are read and one message is sent to your own Telegram chat: for each call, the time, the title, who is coming and a line on what to have ready.
The time and the title are copied from the calendar entry, never written by AI, so a reminder cannot tell you the wrong hour. The one line that is written for you is checked before use: every figure in it has to appear in the calendar entry, and a line that states a figure the entry does not is dropped. Only calls carrying a Google Meet link are read, so a blocked-out afternoon with no video link will not appear. An entry with no start time is left out and counted at the foot of the message. On a day with nothing booked it says so, so silence always means the workflow did not run.
You need a Telegram bot that can message you, and a few words on what to call out about each call. Nothing is booked, moved or cancelled.
telegramChatId to blank.Set telegramChatId to blank.whatToNote to blank.Set whatToNote to blank.maxMeetings to 12.Set maxMeetings to 12.today.Get today's date and save it as today.utcStamp to the current date and time formatted as an ISO 8601 timestamp in UTC truncated to 19 charactersZ.Set utcStamp to the current date and time formatted as an ISO 8601 timestamp in UTC truncated to 19 charactersZ.localStamp to the current date and time formatted as an ISO 8601 timestamp truncated to 19 charactersZ.Set localStamp to the current date and time formatted as an ISO 8601 timestamp truncated to 19 charactersZ.utcStamp to localStamp and save it as minutesFromUtc.Count the minutes from utcStamp to localStamp and save it as minutesFromUtc.todayT00:00:00Z by 0 minus minutesFromUtc minutes and save it as dayStart.Move todayT00:00:00Z by 0 minus minutesFromUtc minutes and save it as dayStart.todayT23:59:59Z by 0 minus minutesFromUtc minutes and save it as dayEnd.Move todayT23:59:59Z by 0 minus minutesFromUtc minutes and save it as dayEnd.meetings to an empty list.Set meetings to an empty list.calendarErrorIf a step below fails, save the error as calendarErrormeetings to the meetings from the Google Meet “List meetings” step.Change meetings to the meetings from the Google Meet “List meetings” step.calendarError as text.Stop and report a problem: Your calendar could not be read, so no reminder was sent: calendarError as text.sections to an empty list.Set sections to an empty list.written to 0.Set written to 0.skipped to 0.Set skipped to 0.meeting in meetings:For each meeting in meetings:written is greater than or equal to maxMeetings multiplied by 1If written is greater than or equal to maxMeetings multiplied by 1title to blank.Set title to blank.titleMissingIf a step below fails, save the error as titleMissingmeeting.title and save it as title.Trim meeting.title and save it as title.title to blank.Change title to blank.title is nullIf title is nulltitle to blank.Change title to blank.title is emptyIf title is emptytitle to Untitled meeting.Change title to Untitled meeting.startsAt to blank.Set startsAt to blank.startMissingIf a step below fails, save the error as startMissingmeeting.start and save it as startsAt.Trim meeting.start and save it as startsAt.startsAt to blank.Change startsAt to blank.startsAt is nullIf startsAt is nullstartsAt to blank.Change startsAt to blank.startsAt is emptyIf startsAt is emptyskipped.Add 1 to skipped.clock to All day.Set clock to All day.startsAt contains TIf startsAt contains TstartsAt split by T to 5 characters and save it as clock.Shorten the last item of startsAt split by T to 5 characters and save it as clock.guests to blank.Set guests to blank.guestsMissingIf a step below fails, save the error as guestsMissingmeeting.attendees with , and save it as guests.Join meeting.attendees with , and save it as guests.guests to blank.Change guests to blank.meetingFacts to Title: titleSet meetingFacts to Title: title
Starts: startsAt
Guests: guests.notePrompt to You are writing one line of preparation for a meeting that is already scheduled. Reply with a single sentence of at most 25 words and nothing else.Set notePrompt to You are writing one line of preparation for a meeting that is already scheduled. Reply with a single sentence of at most 25 words and nothing else.
Do not state any time, date, duration, price, count or other figure. The reminder already carries the time, and a figure you supply cannot be checked. If you have nothing useful to add, reply with the single word none.
What the reader wants called out:
whatToNote
The meeting:
meetingFacts.note to blank.Set note to blank.noteErrorIf a step below fails, save the error as noteErrornote.Trim the response text from the OpenAI “Ask OpenAI” step and save it as note.noteError as text.Show in the output: No preparation line for '@title': noteError as text.note to blank.Change note to blank.note in lowercase is noneIf note in lowercase is nonenote to blank.Change note to blank.note to 220 characters and save it as note.Shorten note to 220 characters and save it as note.note and save it as noteFigures.Extract all matches from note and save it as noteFigures.meetingFacts and save it as factFigures.Extract all matches from meetingFacts and save it as factFigures.noteIsSourced to true.Set noteIsSourced to true.noteFigure in noteFigures:For each noteFigure in noteFigures:factFigures doesn't contain noteFigureIf factFigures doesn't contain noteFigurenoteIsSourced to false.Change noteIsSourced to false.noteIsSourced is noIf noteIsSourced is nonote to blank.Change note to blank.section to clock title.Set section to clock title.guests isn't emptyIf guests isn't emptysection to sectionChange section to section
With: guests.note isn't emptyIf note isn't emptysection to sectionChange section to section
note.section to the end of sections and save it as sections.Add section to the end of sections and save it as sections.written.Add 1 to written.message to blank.Set message to blank.sections is emptyIf sections is emptymessage to Nothing booked for today.Change message to Nothing booked for today.message to Your day, todayChange message to Your day, today
sections joined by a blank line.skipped is greater than 0If skipped is greater than 0message to messageChange message to message
Left out: skipped as text calendar entries with no start time.message to 3900 characters and save it as message.Shorten message to 3900 characters and save it as message.message is blankIf message is blanktelegramChatId.Send a message to chat telegramChatId.message