this window is simply too tiny

:'(

table of contents

Create dynamic add-to-calendar links for ConvertKit sequence emails using custom fields & Liquid

jump to top of page

General Info

You already know that making it easy for a subscriber to add an event to their calendar makes it more likely that they'll actually show up. Let's say you have some sort of repeating event or workshop, and you've set up an automation to manage confirmation/onboarding emails and/or reminder emails, but the date is somewhat variable and you don’t feel like updating a shared calendar every time a new date is set (and then having to go and update your emails and create a new batch of add-to-calendar links with a pre-existing tool).

Using ConvertKit's custom fields and some Liquid formatting, you can automatically generate add-to-calendar links to add to your sequence emails.

This strategy requires that you update the automation for the event with the date and time of the upcoming event before:

  • your first broadcast email inviting subscribers to the event goes out,
  • you start sharing the link to the sign-up form,
  • and before you do any other promotional activity that would trigger your automation.

Note: This is a good opportunity to take advantage of ConvertKit's content snippets.

Adding the links to your sequence emails with a block snippet means that if you ever need to change the formatting or style of the links, you only have to update one set of links instead of combing through a bunch of sequence emails and updating each set individually.

Requirements
  • an automation for your event
  • a form for your event
  • a thank you page for RSVPs
  • copy for your sequence emails

Steps

1. Create a custom field to store the date of the event that the subscriber signed up for

Here’s a quick guide from ConvertKit that explains how to add custom fields to your subscribers.

Custom fields are not case-sensitive, and you’re welcome to use spaces, but do note that when you use your custom field for conditional formatting, or if you use Liquid to modify the value in an automation, you’ll have to replace spaces with underscores (i.e. First Name should be written as first_name).

Custom fields are not case-sensitive, and you’re welcome to use spaces, but do note that when you use your custom field for conditional formatting, or if you use Liquid to modify the value in an automation, you’ll have to replace spaces with underscores (i.e. First Name should be written as first_name).

2. Update the automation for the event

If your automation is currently live, pause the automation.

Note: While it is possible to update a subscriber's custom fields using rules, ConvertKit's visual automations are a much better option for automating email workflows. Rules can be neither named, nor categorized, nor manually sorted in ConvertKit, and they are organized by creation date (descending). Things can get messy.

The trigger for the automation should be an event sign-up. This can be a form sign-up and/or a tag being added to the subscriber (if you're using one-click RSVP links in your invite emails, you can combine these triggers by updating the rule for the link trigger to also apply the tag when the requisite form is submitted).

Add a Set custom field Action as the first step of the automation, and select your newly created custom field as the field to update.

Set the value that the Action will update the field to with the date and time of your upcoming event. Remember that custom fields are stored as plain text, and ConvertKit doesn’t recognize them as dates, so you can’t perform any date-based logic using their values.

  • February 16 2025 12:00:00
  • 02/16/2025 12:00:00
  • Feb 16 2025 12:00:00

Important

  1. Do not store event dates in the all-numeric day-month DD/MM/YYYY format, because they won’t be parsed properly.

    You can, however, store dates in the written day-month format, if that’s what you prefer.

    16 February 2025 will work.

    16/02/2025 will not work.

  2. The event time must be stored in the 24-hour notation (hh:mm:ss).

    12:00:00 for 12PM

    16:30:00 for 4:30PM

Once you’ve selected the format for storing dates and times, you and your team should stick to it.

3. Generate your add-to-calendar links

Use the form below to generate add-to-calendar links for Google Calendar, Outlook, and iCal.

Note that for iCal, an .ics file download is usually required, but you can use the contents of the .ics file in place of a link, and when a subscriber clicks on the link, their browser will save the link as an .ics file.

Generate your own Liquid add-to-calendar links

All fields are required unless stated otherwise.

If your event is all-day, you only need to specify the number of days.

Basic info
Event Duration
Your timezone's UTC offset:
Your detected timezone:
Your results will appear in this space.
Google Calendar link
iCal link
Outlook link

Here's an example of what your snippet might look like with today's date used as a placeholder for the date that will be stored in your custom field:

Google Calendar | iCal | Outlook

4. Create a block snippet for your links

Here’s a guide from ConvertKit that explains how to set up both block and inline snippets.

Whether you choose to format the links as buttons or as text is up to you, but I prefer to keep it simple and add the links as centered text:

Google Calendar | Outlook | iCal

Once you’ve settled on the formatting for your links, add the each link that you generated in the previous step to the appropriate text. It might not look like a link now, but once the subscriber’s custom field value is passed into it, it will become a valid link.

5. Add the block snippet to the event’s confirmation email sequence

ConverKit’s guide for block and inline snippets also explains how to use snippets in your emails.

6. Test your links

If you don’t already have a dummy email address subscribed to your list for testing emails, either create one or subscribe to your own list.

Navigate to your subscriber profile and update the custom field for the event with the date of the upcoming event (formatted in the exact same way as you formatted it in the automation).

Then, email yourself a preview of the confirmation email. When you click on one of the links, you’ll see ConvertKit’s link preview page. You’ll be able to click the actual add-to-calendar link from that page.

If the link didn’t work, double-check the date-time formatting of the first step of the automation and the custom field that you entered in the form in step 3 to make sure there are no spelling errors or invalid characters.

7. Activate your automation

Remember to update whatever project or task template you have in place for your team to include a task to update the date in the automation before:

  • your first broadcast email inviting subscribers to the event goes out,
  • you start sharing the link to the sign-up form,
  • and before you do any other promotional activity that would trigger your automation.

Or otherwise, schedule reminders and/or tasks for yourself to do so.

Additional Notes

If you've got other events that you still need to manually create add-to-calendar links for, my go-tos are: