An add-to-calendar button in email is a row of links, one per calendar app, because email clients cannot run a picker. AddCal gives you the links; Klaviyo's Button block gives you the buttons. Nothing to install, and clicks are never capped on any plan.
For one event (every plan)
Every AddCal event has a public page. Its URL on its own lets the reader pick their calendar; add a calendar name to the end for a direct link:
https://addcal.co/e/your-event/google https://addcal.co/e/your-event/apple https://addcal.co/e/your-event/outlook https://addcal.co/e/your-event/office365 https://addcal.co/e/your-event/yahoo
Create the event in AddCal, open its public page and copy the links you want.
In the Klaviyo flow or campaign editor, add a Button block per calendar you want to offer, or one button that opens the event page and lets the reader choose.
Paste the link into the button URL. Append
?utm_source=klaviyo&utm_medium=flow&utm_campaign=drop-dayif you want the adds attributed to this flow in AddCal analytics.Send a test to yourself and tap each button on a phone. The Apple link only hands off to Calendar on an iPhone, iPad or Mac, so a desktop preview on Windows is not a fair test of it.
For per-profile dates (Business)
One email, many recipients, each with their own date: a delivery slot, an early-access window, a class time. Use a Dynamic Link and Klaviyo's template tags:
https://addcal.co/api/dyn?uid=dk_abc123&service=google&title={{ event.title }}&start={{ event.start }}&timezone=America/Los_Angeles
Create the Dynamic Link key (
dk_abc123above) under Connect, then Dynamic Links, in AddCal.Set
serviceper button:google,apple,outlook,outlook_web,office365,yahooorics. Leave it out to show the picker page.Pass
endorduration(minutes) as well asstart, and an IANAtimezone. Use the Link Builder in AddCal to encode the URL; it keeps Klaviyo's{{ }}tags intact. See Using merge fields with Smart Links and Dynamic Links.
Every click is counted in AddCal, split by calendar app. Dynamic Links are a Business plan feature; see Developer API and Dynamic Links.
Common questions
Which buttons should I show? Google, Apple and Outlook cover almost everyone. One picker link is fine for a short email.
Can the event change after sending? Yes. The links point at the hosted event, so a rescheduled event is correct for anyone who adds it after the change. People who subscribe to your calendar get the change automatically; for a recurring class or live stream, put the calendar's subscribe link in the welcome flow instead of a button per session.
Does Klaviyo's link tracking break it? No. Klaviyo wraps the link in its own redirect and then sends the reader on to AddCal.
Can RSVPs flow back into Klaviyo? Yes, through Zapier: the AddCal New RSVP trigger can update a profile property or add the person to a list, which then starts the next flow. See Zapier integration.
Related