Skip to main content

Developer API and Dynamic Links

When to use the AddCal REST API or Dynamic Links instead of Smart Links, and where to find the technical docs.

T
Written by Tom

AddCal gives you two programmatic ways to create add-to-calendar links at scale: the REST API and Dynamic Links. Most people never need either. If you only want a shareable link that always points at your latest event, use a Smart Link instead. Reach for the API or Dynamic Links when you are building automation or generating links from your own system.

Which one do I need?

You want to...

Use

Share one link that follows your latest event, no code

Smart Links

Create or update calendars, events, and RSVPs from your own code

REST API

Turn event details from your own system into an add-to-calendar link or picker page

Dynamic Links

For the no-code options, see Smart Links and Add-to-calendar links.

The REST API

The API lets you manage your calendars, events, RSVPs, and calendar invites programmatically. You authenticate each request with a personal API token (see below). The full endpoint reference, request formats, and examples live in the developer docs.

You can also send, list, resend, and cancel calendar invites for an event through the API, which suits automation or calling from a tool like Zapier via a custom API step. Calendar invites must be enabled on the event and are a paid feature (see Send calendar invites for an event).

Read the API documentation for the complete reference.

Getting an API token

To call the API you need an API token:

  1. Open API Tokens in your account settings (/user/api-tokens).

  2. Click Create API Token, give it a name, and create it.

  3. Copy the token immediately and store it somewhere safe. You will not be able to see it again.

Send the token as a bearer token in the Authorization header of each request. You can create more than one token (for example, one per integration) and delete any token from the same screen to revoke access.

Dynamic Links

Dynamic Links turn event details supplied as query parameters into an add-to-calendar link. Instead of creating an event in AddCal first, you build a link that carries the event title, dates, and other details, and AddCal generates the calendar action on the fly. This suits systems that produce one-off events per visitor (for example, a confirmation page after a purchase).

Dynamic Links are a Business plan feature. You authenticate them with a Dynamic Link Key, which you create and manage on the Dynamic Links page in your integrations settings. Each key is tied to your team.

Choosing the calendar upfront, or letting the recipient pick

A Dynamic Link comes in two shapes, depending on whether you set the optional service parameter (google, apple, outlook, outlook_web, office365, yahoo, ics, or manual):

  • Set service and the visitor goes straight into that calendar app, with the event prefilled. Use this when you already know which calendar someone uses, or when you want to offer one link per calendar app.

  • Leave service off and the visitor lands on an AddCal picker page (/dynamic-links/choose) that carries your event details through in the query string, then chooses their own calendar.

The picker page shows the event title, the date and time (with a timezone selector when the event is not all-day), the location if you supplied one, and an Add to Calendar section with buttons for Google Calendar, Apple Calendar, Outlook (desktop), Outlook.com, Office 365, Yahoo Calendar, and Download .ics.

Use the picker page when you are sending links through WhatsApp or another in-app browser, which cannot reliably open a direct calendar link. It is also the safer choice for one link that works everywhere. The picker page is Business plan only, the same as the rest of Dynamic Links.

Each key has its own analytics page (also Business plan only). Open it from the Dynamic Links page to see, for the date range you choose:

  • Total and unique clicks, average daily clicks, and clicks over time.

  • Calendar service split: which services people added events to (for example Google, Apple, or Office 365).

  • Event breakdown: the events each link described, ranked by clicks.

  • Visitor details: referrers, countries, devices, browsers, and UTM parameters.

You do not have to assemble the URL by hand. The Link Builder in the app walks you through the event details, encodes the link correctly, and hands you both a landing page link that works everywhere and one link per calendar app. Copy the landing page link if you want a single link for everyone, or copy the per-app links to send people straight into their calendar. For the parameter list and link format, read the Dynamic Links documentation.

If you generate these links inside an email or automation tool, use merge fields so each recipient gets their own event details. Pick your platform in the Link Builder and it leaves the merge fields intact while encoding the rest of the link.

See Using merge fields with Smart Links and Dynamic Links for the full walkthrough, including why the link needs encoding.

Related

If you would rather react to events in AddCal than push data in, see the webhooks article in this collection. To place a calendar directly in a page, see Embed a calendar on your website.

Did this answer your question?