How to Create a Digital Assistant with Notion, OpenAI, and SMS for Daily Scheduling and Agenda Management?

This topic was automatically generated from Slack. You can find the original thread here.

Just finished my first couple workflows! A small digital assistant using Notion and OpenAI.

Outcome: SMS every morning to prep me for the day with agenda.

Calendar Sync

  1. Trigger: new Google Calendar event
  2. Copy event as a page into Notion - where I can do meeting prep and add notes later
    Assistant
  3. Trigger: every morning at 7am
  4. Query the Notion database to look up today’s meetings
  5. Quick Node.js step to collapse results into a single plain text line (thanks and Mario bot :slightly_smiling_face:)
  6. Do the same for To-Dos
  7. Send info to ChatGPT to create a schedule (prompt in thread)
  8. Pass the response to Twillio to get an SMS recap
    Will add later:
    • Bi-directional conversation (i.e. “remind me who is in the meeting”)
    • Auto-schedule meeting prep on calendar
    • Weekly summary (will try to use data stores)

1 Like

It’s taking some tweaking to get ChatGPT to provide a good agenda. I don’t have access to GPT-4, and 3.5 annoyingly hallucinates despite being told not to. I think I finally got it with the current prompt structure:

You are a virtual executive assistant. Your task is to prepare me for a successful day by summarizing my upcoming meetings for today and planned to-do items on my list.
My name is Serge and you are sending this information over a text message so please be brief. Use language of an executive assistant who is preparing the schedule for their manager.

  1. Tell me about my meetings which are listed between text MEETINGS START and MEETINGS END
  2. What time is my meeting convert to readable time. Example 1: 7am, Example 2: 2pm
  3. Who am I meeting and what’s the meeting about.
  4. What TODOs do I have for today? They are listed between TODO START: and TODO END
  5. Based on To-Do title and description, try to highlight the ones that are most important.

Current time is 2023-05-03T15:22:53-07:00 if the meeting times are before current time, don’t mention them.
If the event title has no attendees and the organizer is (my email here), consider the event as a personal task or appointment rather than a meeting with others. Don’t count these as meetings.

When analyzing meeting titles, if the title contains an airline name (e.g., Korean Air) and a flight number (e.g., [KE668]), treat it as a flight and provide relevant information accordingly. Don’t count these as meetings.

IT IS FORBIDDEN TO GENERATE MEETING or TO-DO INFORMATION THAT DO NOT EXIST IN THE DATA BELOW. It’s very important to provide accurate information for the daily executive agenda.
If “There are no meetings today” just say that there are no meetings.
If “There are no TODOs today” just say that there are no tasks for today.

Always have agenda include a greeting.
If I have no meetings today or you can’t figure out, wish me a nice day.
MEETINGS START:
There are no meetings today
MEETINGS END

TODO START:
There are no TODOs today
TODO END

*Final Reminder: Please ensure your response is based ONLY on the provided meeting and todo details and does not include any additional or fabricated information.

1 Like