What if you could create your own AI calendar that had full access to everything that’s happening in your life for free, something that you could ask, what’s going on today or next week? Something that could tell you if you have an upcoming conflict, or maybe even something that could audit your entire routine and create the ideal schedule for you and your habit and then give you daily advice on how to maintain that habit?
Well, in this post, I’m going to show you how you can create your own AI Calendar assistant that has full, real-time access to your calendar, and that you can connect to ALL of your other tools.
Best of all, it’s completely free.
Note: This process builds on our guide on how to train your own AI assistant, and my goal is to create a variety of AI assistants that specialize in different things: calendars, budget, customer service, and even giving my wife more compliments (don’t tell her if I suddenly get much better at giving her compliments!). So tell me, which AI assistant should I build next?
Watch the Full AI Calendar Walkthrough
Prefer to watch? Here’s my full guide to setting up your AI Calendar assistant.
Best Paid AI Calendars
Let’s be honest, there are apps that exist already to manage your calendar with AI. In fact, Zapier has a great list of apps here.
But as you look at them, you’ll quickly notice the price tags: $15 a month, $20 a month, even $50 a month! None of them are free.
I believe great tools are valuable, so fair enough.
Still, there are other reasons you might want to train your own AI Calendar assistant:
- Full control of your data
- Integrate instantly into your entire workflow
- Progressive improvements over time
- Because it’s fun!
So let’s talk about how to train your own AI calendar assistant.
2 Ways to Create Your Own AI Calendar Assistant with Python
There are two ways to create a calendar assistant: you can either create your own, or you can use my free open source version! Let me show you how to do both options:
How to Install Our Free AI Calendar Assistant
This tool downloads and syncs your calendar with a custom Open AI assistant every hour, so that you can use it anywhere in your workflow (more on how to integrate it in a moment). It will show desktop notifications when it starts and finishes, and update a log to keep track. Cool, right?!
You can find and download the AI Calendar project here.
This tool does require Python, a coding language, so you’ll have to install that first. It’s really easy though, so don’t stress about it (plus, Python is really good for automation, and we’ll be doing more fun projects with it soon).
Here’s how to install the calendar:
Step 1: Install Python (if you don’t already have it):
- Download Python 3.13 or later from python.org
- During installation, make sure to check “Add Python to PATH”
Open terminal on your mac (just search for terminal, should be in your applications). This will open a command prompt, and you can type out this to verify that python was installed:python3 --version
Step 2: Run the setup script to install dependencies and create initial configuration:
Open terminal and type out:
python3 setup.py
This creates an .env file to store your API keys.
Step 3: Gather all your credentials.
First, we’re going to get your Google Calendar URL:
- Open Google Calendar (https://calendar.google.com)
- In the left sidebar, click the 3 dots next to your calendar name
- Select “Settings and sharing”
- Scroll down to “Secret address in iCal format”
- Copy the URL (it should look like: https://calendar.google.com/calendar/ical/your-email/private-key/basic.ics)
Next, we’re going to get your OpenAI API key:
- Go to OpenAI Platform
- You may need to create an account if you haven’t yet and purchase some API tokens ($5 is probably fine, we don’t need much)
- Then go to API keys and click “Create new secret key”
- Copy the key (starts with “sk-“). You only see it once, so make sure to store it somewhere safe!
Finally, you’re going to create your OpenAI Assistant:
-
- Go to OpenAI Platform
- Click “Create Assistant”
- Enter your instructions (I’ll share mine below)
- Then, copy the Assistant ID (starts with “asst_”)
Step 4: Add these credentials to your .env
file:
OPENAI_API_KEY=sk-your-api-key-here
CALENDAR_URL=your-google-calendar-url-here
CALENDAR_ASSISTANT_ID=asst-your-assistant-id-here
Step 5: Install and start the service:
In terminal, type out:
python3 install.py
And there you go! You just installed your calendar. It should run on its own, but if you ever want to uninstall, you can check the readme or github project for more.
Step 6: Go back to your assistant in platform.openai.com and test out chatting with your calendar in the playground!
Now, what if you want to do it yourself instead?
How to Create Your Own AI Calendar with Python and Cursor
So, I created this program in Cursor, my favorite AI code editor, with very little coding experience. You can definitely do it too! This is actually a very simple program, and you can even use my open source version as a base to create your own.
You’ll still want to grab the credentials I mentioned above (calendar link, OpenAI API key, and OpenAI assistant) and put them in a file labelled .env. After that, there are 4 main components involved in this:
- A get calendar function that grabs your calendar, stores it as a json file, and titles it based on the date.
- An upload to OpenAI file that connects with openAI’s API, uploads the json calendar file as a vector store, connects it to your assistant, and deletes the old version.
- A cron scheduler, which runs both of those programs on a regular basis (I chose to run mine every hour).
- And either a “plist” installer that will put the launchagent in the right spot on your Mac OR you can put it there yourself. I just chose to do it programmatically in case I made updates.
With Cursor, you could instruct the assistant to create those components, and it could easily create the necessary code for you, even sugggesting the dependencies and giving you the command line prompts to install them. It’s amazing.
So how about you? Are you going to use my free AI calendar or create your own? No wrong answer, but let me know in the comments!
AI Calendar Prompt Instructions
Here are the instructions I gave my assistant. What do you think? Anything you’d change?
You are Joe's calendar. You respond to queries about event times, locations, conflicts, and give advice to Joe and others on how to create Joe's ideal schedule. When asked about events, meetings, or schedule:
1. Adapt your search depth based on the query type:
- For specific time queries (today's events, next meeting), use minimal context
- For schedule analysis (patterns, optimization), use maximum context
- For conflict checking, ensure comprehensive coverage
2. Search the calendar data for relevant information:
- Use specific date ranges when provided
- Consider timezone and time-of-day context
- Look for related or recurring events
3. Provide clear, concise responses about:
- Times and dates in a readable format
- Locations and meeting details
- Event durations and gaps between events
4. For schedule analysis and advice:
- Consider the entire schedule
- Look for patterns and inefficiencies
- Suggest improvements based on observed habits
- Consider work/life balance
5. Always:
- Mention specific dates and times in your responses
- Indicate if you need more context
- Say clearly if information isn't in the calendar
- Format responses for easy reading
6. When giving scheduling advice:
- Consider Joe's typical patterns
- Suggest optimal meeting times
- Identify potential conflicts
- Recommend schedule improvements
How to Connect Your Calendar to Slack Through Zapier
Once you set up your assistant, it’s very easy to connect it to every other workflow or tool you have. I created a Slack chatbot, for example, and gave access to a couple of key members of my team.
This uses just three steps:
- Slack: New message posted in channel. I created a new private channel in Slack and then connected that to Zap, triggering any time a new message was posted.
- ChatGPT: Conversation With Assistant. Select your calendar assistant from the available assistants and get the input from Slack.
- Slack: Send Channel Message. Have Slack post the output from the assistant back in the channel. Boom! You’re done!
You can use the same process with any chat based tool you have access to (assuming it has a zapier connection), whether discord, Teams, or even (I think?) Telegram.
Now, Go Create Your AI Assistant Army
As I mentioned, this is just the first automation in what I hope will be a growing collection of custom trained AI assistants. We may even add the ability for them to change things, add events, pay your bills, who knows (within reason, of course!).
For now, this is a fun project that I hope shows you how accessible it is to train AI assistants on your own data.
Which assistant should we build next? Let me know in the comments!