Import Events

Event import user interface. Upload file or input URL.

Import Settings

Restrict event import by time: If you have an import file that contains a wide range of events, you can restrict your import to a subset of those events based on date.

  • Ignore events in the past
  • Ignore events more than a month in the past
  • Ignore events more than a year in the past

Remote import frequency: When importing events by URL, you can set a regular import schedule. This is useful for importing from sources that update periodically. As long as the import source includes a unique ID field, you won’t have to worry about importing duplicate events.

The import frequencies are based on your existing cron schedules, so they may vary, but the default frequencies are:

  • One time import
  • Once Weekly
  • Once Monthly
  • Once Hourly
  • Twice Daily
  • Once Daily
Import to category setting when importing .ics URLs

Import to Category: If you’re importing an iCal source from a URL, you can assign the events from this URL to a specific category in your calendar. The iCal format doesn’t include any native data that can be used as a category.

Scheduled Imports

An import scheduled weekly.

When you schedule an event import, the first automatic import will be scheduled for the future at the end of the current interval. To get the current events, complete the import in the same way you would for a one-time import. If you do not complete the one-time import, the schedule will still be established.

Individual scheduled imports can be deleted, but not edited.

Import Events from CSV

A .csv file, or comma separated values file, offers a significantly more flexible way of importing events than the standardized iCal format (.ics). While .ics files are standardized, they’re also quite limited in how they’re structured and what information can be included.

The only absolutely required fields are event_title and event_begin, but you can also automatically generate categories and locations from your CSV import file.

Your CSV file must have a header row that includes the field names as listed below, e.g. “event_id,event_title,event_begin”. The header row will be used to map values to My Calendar’s data structures.

Supported CSV Fields

  • event_title: Title
  • event_begin: Starting Date
  • occur_begin: Starting Date
  • event_end: Ending Date
  • occur_end: Ending Date
  • event_time: Starting Time
  • event_endtime: Ending Time
  • content: Description
  • event_desc: Description
  • event_short: Excerpt
  • event_link: External event URL
  • event_link_expires: Link expiration
  • event_recur: Recurring frequency period: S – single, D – day, E – weekdays, W – weekly, M – month/date, U – month/day, Y – year.
  • event_repeats: Number of repetitions or date to repeat until. 4 = event repeats 4 times, for a total of 5 occurrences. 2022-05-25 means “repeats until May 25th, 2022”.
  • event_every: Recurrence frequency multiplier. D + 3 == every 3 days, 2 + W == every two weeks.
  • event_image: Event Image URL
  • event_allday: Event is all-day
  • event_author: Author ID
  • event_approved: Publishing status
  • event_category: Category Name or ID
  • category_color: Category Color
  • category_icon: Category Icon
  • category_private: Category Privacy status
  • event_fifth_week: Omit week 5 recurrences
  • event_holiday: Cancel on Holidays
  • event_group_id: Event Group ID
  • event_span: Event spans multiple days
  • event_hide_end: Hide end date
  • event_status: Event Status
  • event_flagged: Event Flagged as Spam
  • event_tickets: Event Tickets Link
  • event_registration: Event Registration Info
  • event_host: Event Host ID
  • event_access: Event Accessibility Data
  • location_preset: Location ID
  • event_label: Location Label
  • event_street: Location Street
  • event_street2: Location Street (2)
  • event_city: Location City
  • event_state: Location State
  • event_postcode: Location Postcode
  • event_region: Location Region
  • event_country: Location Country
  • event_url: Location URL
  • event_phone: Location Phone Number
  • event_phone2: Alternate Location Phone
  • event_longitude: Location longitude
  • event_latitude: Location latitude
  • event_zoom: Map zoom level
  • event_location: Location ID in locations table
  • mc_copy_location: Copy location into DB
  • UID: Unique event ID. If an event exists with this UID already, it will be updated instead of added.
  • event_added: Date this event was added to source calendar

Import Events from My Calendar

If you need to import events from another site running My Calendar, you can do this using the My Calendar event export API with the My Calendar Pro importer. This requires the My Calendar export API to be enabled from the source site, which it is not by default.

Once the external API is enabled on the source site, you can use the normal My Calendar Pro imports to fetch events.

The URL you’ll need to use will follow a predictable pattern:

https://www.yourdomain.com/?mc-api=csv&from=YYYY-MM-DD&to=YYYY-MM-DD

All of the available parameters are documented in the My Calendar external API documents; you can import any set of events you choose from within those specifications, with a couple of exceptions:

  • Private events are always excluded from exports.
  • Drafts and trashed events are excluded from exports.
  • Archived events will be included.

If the source site makes heavy use of recurring events, then there will be a significant mismatch between the number of events the importer tells you it’s importing and what it actually imports. The number of events it starts with is simply the number of rows in the CSV file; My Calendar Pro has not yet processed the events in any way.

During processing, My Calendar Pro will only import one of any given recurring event, and use that event to generate the recurring series – all other events in the series will be discarded.

If you select a date period that includes recurring events, the recurring events will be propagated from the time the recurring event started, and will not be limited to within the period imported.