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:
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.
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_begin: Starting Date
occur_begin: Starting Date
event_end: Ending Date
occur_end: Ending Date
event_time: Starting Time
event_endtime: Ending Time
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
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
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.
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.