In this video, I will show you how to import events in an iCal feed from another site using the Feeds module.

Install modules

  • Feeds (At the time of this recording, the latest recommended release is alpha8. There is an issue with that release though that makes importing nodes not function properly, so I'll be using the dev version.)
  • Job Scheduler

Enable modules

  • Go to "Modules" (admin/modules) and enable:
    • Feeds
    • Feeds Admin UI
    • Job Scheduler
  • (Save configuration)

Now, let's create a new importer

  • Go to "Structure => Feed importers => Add importer" (admin/structure/feeds/create)
    • Name: iCal Feed Importer
  • (Create) (We will be redirected to the general feeds importer setttings page which displays general information about Feeds importers.)

Basic settings

  • Click "Settings" next to "Attached to: [none]"
    • Attach to content type: Choose "Use standalone form"
  • (Save)


  • Click "Change"
    • [x] iCal Parser
  • (Save)


  • Click "Settings" next to "Node processor"
    • Bundle: Choose "Event"
  • (Save)
  • Click "Mapping" next to "Create and update nodes" (This page is where you'll define how iCal event properties get mapped into your nodes' fields)
    • UID
    • Source: Choose "UID"
    • Target: Choose "GUID"
    • (Save)
    • Target Configuration
      • click the gear-shaped button next to UID
      • [x] Unique
      • (Update)
    • Title
    • Source: Summary/Title
    • Target: Title
    • (Save)
    • Start Date
    • Source: Date: Start
    • Target: Event Date: Start
    • (Save)
    • End Date
    • Source: Date: End
    • Target: Event Date: End
    • (Save)
    • Location
    • Source: Location
    • Target: Event Details
    • (Save)
  • (Save)

Now, go to "/import", and select "iCal Feed Importer.

  • URL: webcal:// (Enter the URL of the feed you'd like to import.)
  • (Import)

Once the import is complete, we can go to the calendar, and go to May. Here, we'll see the events that we just imported.

The next, and final video will cover some optional responsive design techniques to make the calendar more usable on small screen devices.