Instead of adding events one at a time, you can bulk-import them. AddCal supports four sources: a spreadsheet file you upload (CSV or Excel), an .ics calendar file, your existing AddEvent.com account, and your Zoom meetings. Each method adds events to a calendar you choose.
Import from a spreadsheet file
Upload a file of events, map its columns to AddCal fields, preview the result, then import. Imported events are added to the calendar you select.
Supported file types: .csv, .xlsx, and .xls. The maximum file size is 2 MB. The first row of the file is treated as the column headers.
To run an import:
Open the event import page and choose the calendar to import into.
Upload your file. AddCal reads the headers and shows a preview, and suggests how your columns map to AddCal fields.
Check the column mapping, then validate and preview before importing.
Start the import.
Fields you can map
Map each column in your file to one of these event fields. Only Title, Start Date, and End Date are required for a row to import.
Field | Notes |
Title | Required. The public name of the event. |
Internal Name | An optional private label, not shown publicly. |
Description | Optional. A row with no description imports with a warning. |
Location | Optional. A row with no location imports with a warning. |
Start Date | Required. Most common date and time formats are accepted. |
End Date | Required. Must be on or after the start. For timed events it must be after the start. |
Timezone | Optional. Use a standard timezone name such as |
All Day | Optional. Accepts values like |
Collect RSVP | Optional. Accepts values like |
Tags | Optional. Put all of a row's tags in one cell, separated by commas, semicolons, or pipes. Up to 20 tags per event, each up to 50 characters. Repeats of the same tag are merged. |
Event Template | Optional. The name or ID of an event template you have already created, to apply its branding. Requires a paid plan. |
Custom Link | Optional. A custom slug for the event's link: letters, numbers, and dashes only, up to 50 characters. Each one has to be unique, so a slug already in use fails that row. Requires a paid plan. |
Email Calendar Invite | Optional. Accepts values like |
The columns you can map depend on your plan. Event Template and Custom Link need a paid plan, and Email Calendar Invite needs the Business plan. Anything unavailable to your team is left out of the mapping list, so you will not see it offered.
Validate and preview before importing
Before the import runs, AddCal validates a sample of your rows (up to the first 10) and shows the result row by row so you can fix problems first.
Errors stop a row from importing. Common errors: a missing title, a missing or unrecognized start or end date, an end date before the start, or an invalid timezone.
Warnings do not stop a row. For example, a row with no description or no location still imports.
If a row fails validation during the import, the rest of your rows still import. Failed rows are reported back to you so you can correct and re-upload them.
Download your import results
After the import finishes, you can download a results file. It is a .csv copy of your original rows with three extra columns added:
Import Status:
Success,Failed, orSkipped.Public Event Link: the public URL of each event that imported successfully.
Error Message: why a row failed, if it did.
Import from an ICS file
If you have a calendar file (an .ics file exported from another calendar app), you can upload it to add its events in one go. Unlike syncing an external calendar, which keeps a live feed connected, this is a one-time import: the events become normal AddCal events that you can edit afterwards.
Open the ICS import page and choose the calendar to import into.
Upload your
.icsfile. AddCal reads it and shows a preview: how many one-off events and recurring series it found, the date range, and how many events it will skip.Start the import. It runs in the background, so you do not need to keep the page open.
A few things to know:
An import can contain up to 2000 events.
Recurring events are expanded into their individual occurrences.
Events that are already on the calendar are skipped, so re-importing the same file will not create duplicates.
The import counts toward your event allowance, the same as the other import methods.
Migrate from AddEvent
If you already use AddEvent.com, you can import your events from there without exporting a file. AddCal connects to AddEvent with your API key, then imports your events for you.
Open the AddEvent import page and paste your AddEvent.com API key.
AddCal checks the key and shows a preview: how many calendars and events it found in your AddEvent account.
Confirm the import to start it.
The AddEvent import runs in the background. You will receive an email with the results once it finishes, so you do not need to keep the page open.
Import Zoom meetings
You can turn your upcoming Zoom meetings into AddCal events. First connect your Zoom account (see Connect Zoom), then open the Zoom import page.
AddCal lists your upcoming Zoom meetings. Recurring meetings show how many occurrences they have.
Select the meetings to import and choose the calendar to add them to.
Start the import.
Each imported meeting becomes an event using the meeting topic as the title and the Zoom join link as the location. For recurring meetings, each occurrence is imported as its own event. Meetings you have already imported are skipped, so re-running the import will not create duplicates.
Plan limits
Imports count toward your event allowance. If an import would take you over your plan limit, it is blocked before any events are created. See Free plan limits and Managing your subscription, payments & invoices.
Related