Importing Events

Calendar currently has no built-in importing options available. However, through the Craft Feed Me plugin, you can import and/or update existing Calendar events. Importing tools are very complex to get right, and rather than reinventing the wheel we've decided to recommend this approach instead.

Currently, there are 5 different feed types available to choose from:

  • ATOM
  • CSV
  • JSON
  • RSS
  • XML

You can select which calendar to check against, and decide from any of the following behaviors:

  • Create new events: Adds new events if they do not already exist.
  • Update existing events: Updates events that match the Unique Identifier (next step).
  • Disable missing events: Disables any events that are missing from the feed.
  • Delete missing events: Deletes any events that are missing from the feed. Be careful.

See the example JSON file below.

To get the Craft Feed Me plugin, search for feed me in the Craft 3 Plugin Store.

Create Feed

List of Feeds

Example JSON file

{
  "events": {
    "event": [
      {
        "title": "Event Title",
        "startDate": "2019-05-11 07:00:00",
        "endDate": "2019-05-25 13:00:00",
        "allDay": 0,
        "calendarId": 1,
        "repeatRule": "FREQ=WEEKLY;UNTIL=20190430T000000Z;INTERVAL=1;BYDAY=TU,WE,TH,FR,SA",
        "repeatInterval": null,
        "repeatFrequency": null,
        "repeatCount": null,
        "repeatUntil": null,
        "repeatByMonth": null,
        "repeatByYearDay": null,
        "repeatByMonthDay": null,
        "repeatByDay": null
      },
      {
        "title": "Event Title 2",
        "startDate": "2019-05-11 07:00:00",
        "endDate": "2019-05-25 13:00:00",
        "allDay": 0,
        "calendarId": 1,
        "repeatRule": "RRULE:FREQ=MONTHLY;UNTIL=20191016T235959Z;INTERVAL=3;BYMONTHDAY=6",
        "repeatInterval": 3,
        "repeatFrequency": "MONTHLY",
        "repeatCount": null,
        "repeatUntil": "2019-10-16 23:59:59",
        "repeatByMonth": null,
        "repeatByYearDay": null,
        "repeatByMonthDay": 6,
        "repeatByDay": null
      },
      {
        "title": "All Day Event",
        "startDate": "2019-05-17 00:00:00",
        "endDate": "2019-05-17 23:59:59",
        "allDay": 1,
        "calendarId": 2,
        "repeatRule": null,
        "repeatInterval": null,
        "repeatFrequency": null,
        "repeatCount": null,
        "repeatUntil": null,
        "repeatByMonth": null,
        "repeatByYearDay": null,
        "repeatByMonthDay": null,
        "repeatByDay": null
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Last Updated: 10/30/2019, 10:11:40 AM