Are your clients missing their appointments too frequently? No-calls and no-shows can disrupt your schedule and impact your business. While popular booking tools like Calendly provide automated reminders, sometimes that’s not enough. What if you could automatically send a booking confirmation email that allows clients to easily add the appointment to their calendar with just one click?

In this tutorial, you’ll learn how to programmatically create “Add to Calendar” links using Calndr.link's dynamic URL API. Instead of manually generating individual links for each appointment, you can automate the process and generate calendar links on the fly for Google, Apple, Outlook, and other popular calendar platforms.

Adding an event to a client’s calendar increases the likelihood they’ll attend. This can significantly reduce the chances of missed appointments and no-shows. While most booking platforms include some form of reminder system, giving your clients the ability to add events to their personal calendars ensures they have a built-in reminder in their daily schedule.

Most tutorials on creating calendar links involve manually generating URLs for each appointment. This can be time-consuming, error-prone, and impractical if you're handling a large number of bookings. That’s where Calndr.link’s API comes in handy. It lets you dynamically generate calendar links with just a few lines of code, saving time and reducing the risk of errors.

Introducing Calndr.link’s Dynamic URL API

Calndr.link offers a free and easy-to-use dynamic URL API that allows you to generate event links for multiple calendar platforms. These links can be embedded into email automations or booking confirmation pages. This ensures clients can easily add events to their calendar of choice, whether it’s Google, Apple, Outlook, or Yahoo.

You can read the full API documentation here.

Here’s an example of a dynamic calendar link using the API:

htmlCopy code<a href="https://calndr.link/d/event/?service=google&start=2024-10-20T15:00&end=2024-10-20T16:00&title=Consultation+Call&timezone=America/New_York">Add to Calendar</a>

Required Parameters for Dynamic URL Creation:

  1. Service (Required): Specify the calendar platform (e.g., google, apple, outlook, etc.).
  2. Title (Required): The event title (255 characters max).
  3. Start (Required): The event start date and time (best in ISO format: YYYY-MM-DDTHH:mm).
  4. End (Optional): The event end date and time. If omitted, the default duration is set to one hour.
  5. Timezone (Optional but Recommended): The event’s time zone (e.g., America/New_York).
  6. Location (Optional): The event location or a meeting URL.

Using tools like Airtable, Notion, or Smartsuite, you can automate the process of generating these calendar links based on existing event details. Let’s explore how to do this using Airtable.

Step-by-Step Example in Airtable

  1. Create a New Base: Set up a table where you track appointments or events. This could include fields for the event title, start time, end time, and location.
  2. Create a Formula Field: Use Airtable’s CONCATENATE function to generate dynamic calendar links based on the values in the table fields.

Here’s an example formula:

javascriptCopy codeCONCATENATE(
"https://calndr.link/d/event/?service=google&start=",
{event_start_time},
"&end=",
{event_end_time},
"&title=",
ENCODE_URL_COMPONENT({event_title}),
"&timezone=America/New_York&location=",
ENCODE_URL_COMPONENT({event_location_url})
)

This formula generates a dynamic Google Calendar link, automatically pulling in data from your Airtable fields for event title, start time, end time, and location. You can replicate this process to generate links for other calendar services by modifying the service parameter.

Adding Multiple Calendar Options

To give your clients the option to add events to their preferred calendar platform, you can duplicate the formula for each service (Google, Apple, Outlook, etc.) and store them in separate columns.

For example, here’s the same formula modified for Outlook:

javascriptCopy codeCONCATENATE(
"https://calndr.link/d/event/?service=outlook&start=",
{event_start_time},
"&end=",
{event_end_time},
"&title=",
ENCODE_URL_COMPONENT({event_title}),
"&timezone=America/New_York&location=",
ENCODE_URL_COMPONENT({event_location_url})
)

You can now add these links to your email automations, allowing clients to seamlessly add the event to their calendar of choice.

Step-by-step example for Notion

In Notion, creating formulas is a bit different than Airtable, but you can still dynamically generate the "Add to Calendar" links using Notion's formula capabilities.

Here's how to create a similar dynamic URL formula for Google Calendar in Notion:

Steps:

  1. Set Up the Properties in Notion:
    • Event Title (Text property)
    • Event Start Time (Date property)
    • Event End Time (Date property)
    • Event Location (Text property)
  2. Create the Formula: Use the concat() function in Notion to piece together the dynamic URL. The key is to format the date correctly and encode the URL components.

Here’s an example of what the formula would look like for generating a Google Calendar link:

javascriptCopy codeconcat(
"https://calndr.link/d/event/?service=google&start=",
formatDate(prop("Event Start Time"), "YYYY-MM-DDTHH:mm"),
"&end=",
formatDate(prop("Event End Time"), "YYYY-MM-DDTHH:mm"),
"&title=",
replaceAll(prop("Event Title"), " ", "%20"),
"&timezone=America/New_York&location=",
replaceAll(prop("Event Location"), " ", "%20")
)

Explanation of the Formula:

  • formatDate(): Formats the event start and end times into the correct ISO format (YYYY-MM-DDTHH:mm), which is essential for the URL.
  • replaceAll(): Encodes spaces in the event title and location as %20 to make them URL-safe.
  • concat(): Joins all the pieces together into a single string, creating the final dynamic URL.

How to Use:

Once this formula is set up, every row (event) in your Notion table will generate a unique Google Calendar link that you can embed in emails or share directly with clients.

To create URLs for other calendar services, just replace the service=google part of the formula with the appropriate service (e.g., outlookapple, etc.).

This allows you to automate the generation of calendar links directly from Notion, giving your clients an easy way to add events to their calendars!

Conclusion

Automating “Add to Calendar” links with Calndr.link’s dynamic URL API is a game-changer for ensuring clients don’t miss appointments. By integrating this functionality with tools like Airtable, you can streamline the process, save time, and provide a seamless experience for your clients.

Don’t forget to [download the Airtable template here] to get started quickly.