Converting CSV files to ICS Format


Subscribing to another source's calendar is only possible if they provide a "subscribe" option or are willing to send you their .csv or .ics or .ical file.

Many organizations or event calendars do not provide an .ics formatted feed or download. Often they will only be able to provide either an XLS or CSV file. In those cases, there is a workaround that will allow you to convert those files into ICS format using Google Calendar and import those events into your Metro Publisher website.

Please note:

iCalendar is a standard method of transferring calendar information between computer systems. The standard allows products from many vendors to transfer calendar information between each other. iCalendar files typically have the file extension ".ical" ".ics" ".ifb" or ".icalendar" with a MIME type of "text/calendar".

The iCalendar open standard should not be confused with iCal, the former name for the commercial product "Calendar" developed by Apple Computer.

More info on how .ics files work is located here: File extension ICS.

WARNING: While this method will work in many cases, it is not perfect and has limitations which are outlined below. Unfortunately, there is no standard (other than ICS) for event data. Additionally, since these third party events were entered by humans, there is no guarantee of the consistency or quality of the event data you have been given.

I. Format Your CSV File

The first step is to take your XLS or CSV file and convert it into a properly formatted CSV file that can then be converted to ICS. CSV stands for comma-separated value, so a CSV file only means that whatever data it contains is separated by commas. Not all data exports or CSVs are created equal. 


Download Sample CSV


1. Open your file in a spreadsheet program, such as a Google Docs table.

Your file may contain other information, but Google will only convert specific columns. So you MUST clean up your file to include only these seven columns.

Two additional columns with the headings (titles) 'All Day Event' and 'Private' are permitted and optional. Google will automatically categorize an event without an end date as an all-day event. To specify otherwise, you must include additional information in the 'End Date' column.

The column titles MUST be exactly like this (see sample CSV). Spelling and capitalization matter:

  • Subject
  • Start Date
  • Start Time
  • End Date
  • End Time
  • Location
  • Description

Columns may be left blank as long as the column title is there, but the minimum requirements are data in the Subject and Start Date column fields. You may not have entirely blank columns without a title in between your other columns.

Additional column headers called 'All Day Event' and 'Private' are permitted. Please see below for a description of all column content. Should you decide to include these columns, please observe the order in which they should be included in your .csv file:

  1. Subject: Event title as text
  2. Start Date: Date the event begins, in the MM/DD/YYYY format exactly, i.e. the American date format and the forward slashes are required.
  3. End Date: Date the event begins, in the MM/DD/YYYY format exactly, i.e. the American date format and the forward slashes are required.
  4. Start Time: Time at which event begins - either in 24 hour format (13:45) or 12 AM/PM (01:45 PM) format. You may omit any leading zeroes if you wish.
  5. End Time: Time at which event ends - either in 24 hour format (13:45) or 12 AM/PM (01:45 PM) format. You may omit any leading zeroes if you wish.
  6. All Day Event: Enter ‘True’ (without quotes) to set an event as an all-day event or as an event that runs for several days. Enter ‘False’ (without quotes) or leave blank whenever Start Date/Start Time and End Date/End Time should not be ignored.
  7. Location: Where the event is taking place. For Metro Publisher to match this location to an existing one on your site, you MUST type the location name EXACTLY as it is written in Metro Publisher. The location must already exist in your database and cannot be created at the time of the .csv or iCal import.
  8. Description: Additional information (text) about the event. The description will be located in the notes field of the event in the calendar.
  9. Private: Enter ‘True’ (without quotes) to set an event as a private event. Enter ‘False’ (without quotes) for public events.

WARNING: Spaces (created during import of the .csv file into your spreadsheet program or by accidentally hitting the space bar on your computer while entering information) before or after data in the column fields can cause errors!


2. Save your file as a .csv to your computer

NOTE: This process is easiest with an import of events that will occur at a single venue like, say, the San Francisco Opera. But it will also work for events at several venues. The key is to make sure you have added those locations to your Metro Publisher site BEFORE you do the import. If the location already exists in your database, Metro Publisher will match whatever name it finds in the "Location" column to a location with the same name in your Metro Publisher database. But, the name MUST have the exact same spelling.



II. Import CSV to Google Calendar

Now, you will use Google Calendar to convert the CSV file into the ICS format. To do this, you need a Google Drive account.  


1. Log in to Google and go to Calendar




2. Create New Calendar

It's a good idea to name the calendar something that describes the source of these events for later use.





3. Go to Other calendars and click Import calendar.



4. Choose your CSV file from your computer and select the calendar you just created.




5. If the import is successful, you'll see your events appear in the calendar. Now your events have been converted to ICS.




6. Next, you need to make your calendar public. Go to Calendar Settings.





7. Click Change share settings.




8. Click Make this calendar public.




9. To get the ICS link, click "ICAL." 



10. Copy this link. 



III. Import Google ICS File into Metro Publisher

The last step is to create an import into your Metro Publisher site.



Go to Events > Import

1. Paste in link from your Google Calendar.

2. Choose State. Choosing Published will make all of these events live immediately after the import. Choosing Draft will require that you manually approve those before they appear live.

3. If your events occur at a single location, then you can select that location here. If the feed has multiple locations, leave this blank and Metro Publisher will match the names of locations. Remember, you should have already entered in all the locations for this import. Also, the name of locations is case sensitive, so make sure your location names match exactly!

4. Select a Category (optional).

5. Select Default Feature Thumb (optional). If you are importing from a single venue (ex: San Francisco Opera), you can add a thumbnail (ex: the logo) that will show up in search results.

6. Click Import. Once the import is complete, your events will be live on your calendar.

Have more questions? Submit a request


Powered by Zendesk