Hosting a successful nonprofit event, whether it’s for fundraising, stewardship, or both, requires a lot of work and a lot of details. From organizing the venue to securing sponsors or catering, every detail counts when it comes to making a successful event experience. And with so many events going back to in-person after COVID, it’s important that your event experience is seamless.
One great way to improve your nonprofit event attendee experience and ensure they make it to your event is to make it easier to remember with a one-click link to add the event to your calendar. Last year, I wrote a post about putting an Add to Calendar link on a Classy event page and confirmation email, but I wanted to refresh that post with a new idea:
What if we used Chat GPT to create Add to Calendar links?
Chat GPT can write code for you from simple prompts in plain English. I actually use it pretty often to help create or proofread JavaScript or JQuery snippets. So it makes sense that you could use it to create Add to Calendar links for your registration confirmation pages and emails. In this post, I’ll guide you through the process of creating Add to Calendar links with Chat GPT, and I’ll share some of my experience so far with the platform.
How Do Add to Calendar Links Work?
This is where reading that Litmus article I referenced in my last post is kind of key, if you really want to understand what’s going on behind the scenes. Essentially, different calendar platforms need your event information delivered to them in different ways in order for them to generate a calendar event and put it on the user’s calendar. In typical Apple fashion, the Mac OS and iOS don’t play well with the other types of calendar links. For things like Outlook, Office 365, Yahoo! Calendar, and Google Calendar, you can generate a simple Add to Calendar link that immediately creates an event on the given calendar platform. But for an Apple calendar, you have to generate what’s called an .ICS file, store it on your website, and allow the user to download and open it, in order to add the event to their calendar.
What we’re trying to do here is use Chat GPT to create the links and the code for the ICS file.
Using Chat GPT to Create Add-to-Calendar Links
It kind of goes without saying that ChatGPT has gone full-on viral in the last few weeks. It is all over my Facebook feed, we’ve talked about it a lot at work, and it and other AI topics in general were key features at the Fundraise Up User Experience conference that I went to in New York City early in March 2023 (more on that conference in a separate post, coming soon).
So, is Chat GPT worth exploring?
First things first, let’s talk about Chat GPT. If you ask Chat GPT about itself it will tell you that “Chat GPT is a state-of-the-art language model developed by OpenAI. It uses advanced algorithms to generate human-like text, which makes it a powerful tool for a variety of applications.”
I don’t know about you but the conversations I’ve had with friends, family, and co-workers about using AI have been sort of a mixed bag. Some people are really excited about it, others aren’t really sure how they feel about it, and others think Chat GPT will lower the bar, especially creatively speaking, for content creation.
No matter what your opinions are, the reality is that AI is here to stay, and those who figure out how to make it work for us will adapt better to the changing technology landscape.
So, I started this blog thinking it would be a really simple process. AI is designed to make our lives easier, right? Shouldn’t I be able to just feed Chat GPT the event details and have it spit out the link I need? Turns out the answer is yes, and also no. While Chat GPT can create the links we want, getting it to the task consistently and accurately requires a lot of Prompt Engineering.
Prompt Engineering
A “prompt” is the starting point for most AI tools these days.
Your Prompt is what you ask an AI, like Chat GPT, to start your query. In it’s simplest form, a prompt is not entirely unlike a common Google search. Technically, you can ask it simple questions, and it can give you simple answers (at least on anything prior to 2021). But if that’s all you do with it, you may not notice the “intelligence” part of the AI.
While Chat GPT can be used as a search engine, it’s kind of like using a dump truck to move a dresser. Yes, it can do that, but it’s a tool that’s designed to do so much more. Prompts are the way you ask a question and give Chat GPT parameters around how it answers to help it interpret data and combine information in new ways.
“Prompt Engineering” is the term used to refer to the process of creating detailed prompts that encourage Chat GPT to interpret the information you give it or to find information for you in the way you want it to. In this case we’re going to use a prompt that asks Chat GPT to ask one question at a time, and gather all the information it needs in order to create an Add to Calendar link for several popular platforms, as well as generate the code you’ll need to save as an .ICS file. You may notice this prompt is long and detailed, and you may wonder if all of that detail is really necessary. In the hours that I spent creating the prompt, I learned that Chat GPT will try to interpret information for you, and sometimes you end up with oversimplified results because your prompt was too simple.
For example the first time I ran the prompt I asked Chat GPT something like “create add to calendar links for [platform names] and use the following event details: [fake event details].” What it ended up doing was creating a series of add to calendar links for me, but it never filled in the details from the fake event. Of course it’s not because it knew the event was fake, but rather my prompt simply told it to “create a series of add to calendar links.” So it did. And they were empty.
So I started to think of the user experience differently. I said, what if Chat GPT is my personal assistant and it asks me for the information it needs in order to do the task that I want it to do? And what if it only asked me one question at a time so that I don’t have to worry about accidentally leaving something out?
This led to a prompt that essentially started with, “you are my personal assistant, please help me generate add to calendar links for an event.” Of course the actual prompt is much more complicated than that. Along the way, I discovered that we could also take advantage of information Chat GPT was already collecting to calculate other information that Chat GPT needs. For example, Chat GPT can tell you what time zone a certain zip code is in. And if that zip code happens to fall across two different time zones it can ask you which time zone is appropriate for your event. And Chat GPT can interpret the plain English phrase for the time zone into the appropriate code needed to put that time zone inside of a URL.
Upfront, I’ll say that honestly, the manual process of doing this and the Chat GPT method aren’t that different.
You’ll still have to program the links yourself and upload the .ICS file to your website, but Chat GPT does give us one additional advantage: a simplified user interface. Instead of filling out a form, we can have Chat GPT ask us the appropriate questions and then it will create the event calendar links for us. (Plus it’s just fun new technology to try out.)
So without further ado, here’s a prompt you can use to generate Add to Calendar links in Chat GPT. Just copy and paste everything except the “start” and “end” text into a new conversation in Chat GPT. Feel free to modify the calendar application compatibility list, or even modify the additional rules, if you’d rather Chat GPT act a different way.
——– START PROMPT ——–
I need your to act as my personal assistant, who is an expert in Add to Calendar link programming. You will ask me one question at a time to collect all the information you need to consistently create a series of Add to Calendar links compatible with:
- Google Calendar
- Outlook
- Office 365
- Yahoo Calendar
You will also create a code snippet for a complete .ICS file needed for adding the event to Apple Calendar.
Additional rules you should follow:
- Talk to me in a fun and encouraging tone, but be consistent in how you ask the questions every single time this query is run.
- Please start your first question by reminding me to make sure all my spelling is correct before submitting an answer because it will affect whether the details in the calendar event are correct.
- Then ask me the title of my event.
- If it appears that I left out a specific date for the event, ask me to confirm the date of the event for the calendar reminder.
- If it appears I left out a specific year for the event, ask me to confirm that the event is happening in the current year. If I say it’s not, ask me to tell you what year the event is happening in.
- If It appears I left out a specific time of the event, tell me that it appears I did not set an event time, and ask me if my event is an all-day event. If I tell you it is an all-day event, program the link accordingly. If I tell you it’s not, ask me for the specific event time. You will add those details to the event date information previously collected in this conversation.
- Ask me if my event has a venue location. If I say no, you can skip asking me for an address for the event and not include it in the links and ICS file.
- If my event does have a venue, when you ask me for the address of the event location, tell me that if I don’t know the address, I can provide as many details as I can, and you’ll try to find the right address for me. If I do not provide you with a complete street address for the location, try to determine the address of the location based on the information I provided, and ask me if the address you found is correct. If I tell you the address you found is correct, use the address you found for the event address. If I tell you the address you found is not correct, ask me to provide the full address again. If the address does not include a zip code, ask me for the zip code of the address where the event is taking place.
- When you ask me for the event description, remind me to include things like parking instructions and links to any online meetings or resources. Also tell me to refer to https://robobogan.com/Chatgpt-add-to-calendar for more information about using a vanity URL/redirect to future-proof links within the calendar invite.
- Determine the time zone of my event based on the zip code of the address for the event. Ask me to confirm if that time zone is correct. If the zip code provided is split by more than one time zone, tell me the two time zones the zip code is split by, and ask me to clarify which time zone is accurate for my event location.
- Next ask me if it’s necessary to include an event organizer name and email address. If I say yes, ask me for the event organizer name and email and include those details in the calendar link.
- Once you’ve collected all the information you need from me, generate the code for the Add to Calendar links for each platform requested above, and create the complete .ICS code snippet requested.
- In the ICS file you generate, omit the following:
- PRODID:
- DTSTAMP:
- UID:
———— END PROMPT ———–
Important Notes:
- The length of your event description may affect how fast Chat GPT can create your links for you.
- I ran into a timeout error after testing this several times. Because the prompt tells Chat GPT to ask one question at a time, you’re using a lot of interactions with the platform in a row.
- I briefly tried to get Chat GPT to refer me to Google Maps if it couldn’t find the location address for me, but it seemed to distract it from the original goal, so I removed it.
- As an AI tool with limited processing power and a LOT of active users, it may stall out or not complete the task now and then. You can either rerun the whole prompt by clicking “Regenerate Response,” or you can tell it to “continue from [insert text or code that was cut off].” you can always refresh the page and start a new conversation as well.
Creating Your “Add to Calendar” Link
Creating an “Add to Calendar” link with Chat GPT is extremely easy. Simply set up your text that you want to use for the links, referencing each calendar platform you want to include, and use the page editor to insert the appropriate link from Chat GPT. On the page editor for Classy specifically, you can also use images as buttons, but they might not be as mobile-friendly.
At the time I’m writing this blog post, their email studio is not released yet, so emails can only include text links not images. When their email studio is released you may be able to add images to the body of confirmation emails as well.
Of course if your event registration platform is not classy, you can still use these links and the Chat GPT prompt. Simply apply the links to your platform in the method that’s appropriate for its confirmation pages and emails.
If you want more details on how add to calendar links really work, I highly recommend you jump over to the Litmus article that I mentioned, because they go into way more detail than I can put on this blog post, explaining how different calendars interpret data based on their operating system platform and more. Litmus.com is an awesome website you should check out anyway for a lot of their other resources, especially anything relating to email marketing keeping your emails out of spam, and more. (I don’t get paid by them to say this I just really like what they do.)
I also highly recommend you read my next blog post titled Future Proofing Event Links, before you make your next event add to calendar links. In that blog post, I will explain how to use Vanity URLs, or 301 Redirects, in your Add to Calendar, so you can change an event URL like a Zoom call link without ever needing to resend updated links to anyone.
Have fun chatting with the AI soon!
*Note that using AI tools inherently involves some unknown elements and AI interpretation. While I’ve crafted the prompt here to try to get Chat GPT to work smarter, I’ve also noticed slight variations in how it responds to me, just in my testing alone. Always be sure to double check any links or code you generate from Chat GPT, and if you run into trouble, generate your Add to Calendar links manually (cause it’s basically the same thing).