Importing and Exporting is here!

Posted on December 24, 2019

We’d like to introduce our new feature add-on for Events Manager which now offers importing and exporting of events to various sources, Events Manager I/O, or I/O for short!

We called it I/O since it represents Input and Output in computer programming and, let’s face it, it’s far easier than always writing Importer/Exporter!

Early Access Beta

Events Manager I/O is currently available for our Pro customers and can be obtained via our downloads page right now. We are releasing this as an early access beta exclusively for Pro customers.

The intention is to eventually release the core I/O plugin on the repo with support for iCal, CSV and Excel. We don’t have any fixed deadlines on when this will happen but likely not for at least a few months into 2020.


I/O offers multiple features, including syncing to and from multiple sources with or without an automated schedule. We have created some comprehensive documentation as well. To begin with, we’re releasing support for these formats:

  • iCal
  • CSV
  • Excel
  • Google Sheets
  • Google Calendar
  • Facebook (limited imports by the FB API policy, see documentation)

We also intend on adding more formats over time.

Adding Custom Formats

We have also spent a lot of time making the API as simple as possible for adding new import and export sources. I/O focuses on processing data so that adding a different format means focusing on handling data to and from that format, be it a specific XML format from a feed or a new 3rd party service. We discovered as we started adding more formats and making improvements as we go that each format added took us less and less time to implement.

As an example, excluding external SDK libraries, the CSV importing class requires only 41 lines of code and Excel 34 lines!


  1. toba says:

    Hello and thank you for this wonderful news!
    I tried to find a workaroud for importing for years… So thank you so much for addressing this issue.

  2. vau says:


    Wonderful news! At the moment we use Xylus WP Events Aggregator which is working somehow but still there are some issues, which make using the plugin quite difficult. Until now I could not test your I/O Plugin. But I’ve read the documentation you provided. Looks like there could be the same issues like “WP Events Aggregator”, so I thought sharing these could be useful for you in further development.

    Issues with WP Events Aggregator:

    1. Facebook imports: locations are imported but are messing up the EM locations database. So if a facebook user is misspelling a location, EM generates a new location, e.g. “ConcertHall” and “Concert Hall”. As we are using locations for sorting events, this makes importing locations of facebook kind of useless. So we had to change the WPEA-code to switch off importing of locations.
    Better solution could be a optional dropdown of existing EM-locations for each scheduled import (similar to chossing a category for imported events). We are heavily importing events from facebook pages of locations, e.g. events of -> location would be for sure “Concert Hall New York”.

    2. Assign imported events to a wordpress user:
    Unfortunately WPEA could not manage this. But in our case we have about 40 different users for managing events. So it would be necessary to assing one user to imported event feed, e.g. all events of are owned by the existing wordpress-user “concert hall”. Maybe again a dropdown or something like this?

    Just some thoughts ;) I’m really looking forward to test I/O plugin!

    Thank you in advance!

  3. marcus says:

    Hi Vau,

    Thanks for the insight. This is our first public release so we’re open to ideas!

    #1. locations are tricky and something we’ve touched on whilst making I/O, we do detect re-used locations, but that’s either based on an ID or text-matching. FB gives every place an ID, so in theory your users should be selecting the same place whilst creating an event. This also makese sense since FB can show you events at a location. You can turn location importing off directly in the import job setting, but dealing with misspellings of the same location is pretty much impossible in an automated way.

    This is something we can consider in the future for sure though if there’s a strong demand for it… some possible ideas could be having a dropdown to select locations whilst previewing, another could be pre-processing locations via Google and matching locations later (it’d have to be an optional setting as it’s computationally expensive and increases API usage).

    #2 The user that created the import gets assigned the event. This is far easier to implement though than #1, so if there is a demand we’d certainly look into ti.

  4. John Viseur says:

    I have installed the plugin on our site site and attempted a CSV download file and when clicking the download button it gave me a 404 error.

    I also attempted to make it publicly available and that also gave a 404 page error

    I have not installed google I/O or facebook I/O

    What have I done wrong?

  5. marcus says:

    Hi John,

    If you can please raise this question on our Pro support forums, we’d be happy to help you there.

  6. Sutini Leong says:

    There are many wonderful features in this plugin, however, I wish you can make YouTube to show how we can set up these features appropriately.

    It took me lots of time to figure out how to use the features, also it wastes lots of time to go back and fro to change the setting according.

    It will be very helpful if you can make proper short video courses to introduce the features set up, as I don’t see much Youtube supporting this Event Manager plugin.

  7. marcus says:

    Hi Sutini, thanks for the feedback. We’ll consider making some videos for this in the future, as I agree a visual aid would certainly help people get set up and also understand how it works!