An Events import bulk-creates events on the infoodle calendar from a CSV file. Use this when you need to load a whole programme of events at once — a year of services and meetings, a season of classes, a multi-day conference schedule, or a list of external commitments — rather than adding events one at a time through Events → Add Event.
This article covers the Events entity of the infoodle Import tool. For the general shape of the import wizard, see Import Data; for getting your data ready, see Preparing Import Data.
Before you start
- You need the Access Import Tool role item to open the Import tool. An administrator grants this from Administration → Roles.
- You need the Add events role item to create new events. If you are updating existing events through the import (for example, refreshing the start time on a series that was already loaded), you also need Edit all events.
- The infoodle Events package must be enabled on your site. If Events is not in your main menu, contact infoodle support to have it switched on.
- A properly-formatted CSV file. The Import tool offers an example template you can download — see Step 1 below.
The fields an Events import loads
Each row of your CSV becomes one event. The columns map to the following infoodle event fields:
| CSV column | What it sets | Example |
|---|---|---|
| Event Title | The internal name of the event — the title that appears on the calendar for staff. | Sunday Service |
| Colour Code | The numeric colour code used to colour-band the event on the calendar. Codes correspond to the colour palette already configured for your tenant. | 2 |
| Event Status | One of Confirmed, Planned but not confirmed, Suggested, or Cancelled. | Confirmed |
| Visible on Internet | Yes or No. When Yes, the event is published to your public-facing calendar feed under the Public Event Title. | Yes |
| Event Description | Free-text description of the event. Used in calendar tool-tips and on the public listing. | Weekly Sunday morning service in the main hall. |
| Link to web page | Optional URL shown alongside the event — e.g. a registration page or sermon notes. | https://example.org/sunday |
| Public Event Title | The title shown to public visitors when Visible on Internet is Yes. If blank, the public feed will fall back to the internal Event Title. | Sunday Worship Service |
| Setup Start Datetime | When room or equipment setup begins. Earlier than Event Start. | 09/05/2023 08:50:00 |
| Event Start Datetime | When the event itself begins. | 09/05/2023 09:00:00 |
| Event End Datetime | When the event itself ends. | 09/05/2023 10:00:00 |
| Packdown Complete Datetime | When packdown / clear-out finishes. Later than Event End. | 09/05/2023 10:10:00 |
| All day event | Yes or No. When Yes, the event spans the whole day(s) regardless of the times in the date columns — set the dates to 00:00:00 and 23:59:59 to be explicit. | No |
| Created by User (Unique ID) | The infoodle Unique ID of the person who should be recorded as the event owner / creator. This person must already exist in infoodle. | 42 |
Step 1: Prepare the CSV
The cleanest way to start is to download infoodle's example Events template, replace the example rows with your data, and save the file as CSV.
- Go to Administration → Data Import.
- Under Start new import, enter a label (e.g. Q3 2026 Events), pick Events from the Select the import type dropdown, and click Start.
- On the Upload data step, click
Download template to get
events-example.csv.
Date and time formatting
- All four datetime columns use the format
DD/MM/YYYY HH:MM:SS(24-hour clock). The infoodle Import tool will parse other common datetime formats if your spreadsheet exports them differently, but matching the template is the safest option. - Datetimes are interpreted in your tenant's configured time zone. The Events calendar then displays them in that same zone, so a 09:00 service in a New Zealand-configured tenant means 09:00 NZT.
- For an All day event, set the Event Start to
00:00:00and Event End to23:59:59on the appropriate date(s). Multi-day all-day events use the start date's 00:00:00 and the end date's 23:59:59.
Required vs. optional columns
At a minimum each row needs an Event Title, an Event Start Datetime, an Event End Datetime, and the Created by User Unique ID. Colour Code, Event Status, Visible on Internet, All day event, Setup Start and Packdown Complete all have sensible defaults but are easier to set correctly in the spreadsheet than to back-fill afterwards.
Recurring events
The Events import does not create recurring-event series — each row of the CSV becomes one independent event. Mapping a weekly meeting to a series in the import would mean enumerating each instance as its own row (52 rows for a year of weekly events). If you need a true recurring series — one master event that the calendar repeats — create the series manually after the import, or use the Events → Add Event screen with the recurring options. (Recurring-import behaviour was not confirmed against the live UI for this draft — verify before publishing.)
Step 2: Open the Import tool and pick Events
From the cog menu in the top-right of any infoodle page, go to Administration, then click Data Import on the Administration tile.
On the Import tool's start screen, enter a label that describes the batch you're loading (e.g. Sunday Services H2 2026 or Term 3 Classes), then choose Events from the import-type dropdown and click Start.
Step 3: Upload the CSV
The Upload data step has two halves. On the left, you can re-download the example template if you need a fresh copy. On the right, either drag your prepared CSV onto the drop zone or click it to open a file browser.
Click Continue once the file has uploaded to move on to field mapping.
Step 4: Map the columns
The Fields step is where you tell infoodle which column of your CSV corresponds to which event field. If you used the example template column headers verbatim, the Import tool will recognise most of them automatically — you'll see them already mapped on the Assigned tab.
The Fields screen has three tabs:
- Remaining — columns that aren't mapped yet. The Remaining fields to Map progress bar on the right is your guide; work down the list until it hits zero.
- Assigned — columns that are mapped to an infoodle event field.
- No Import — columns marked Do Not Map. Use this for extra columns in your spreadsheet that infoodle doesn't need to load (e.g. an internal reference number you were using to keep track of rows).
For each column on the Remaining tab, pick the matching
infoodle field from the dropdown (e.g. your CSV's
Event Start Datetime column maps to the infoodle
Event Start field). When you select a date field, infoodle
shows a Date Format setting — check it matches the
format you used in the spreadsheet. When you finish a page, click
Save Mapping to apply the choices and move the rows to
Assigned.
For general guidance on the mapping table and its settings, see Configuring Data Fields.
Step 5: Configure the import settings
Click Continue from the Fields screen to reach Configure. This is where you tell infoodle how to handle duplicates — rows in your CSV that look like events already in infoodle.
The four duplicate-handling options follow the same pattern as other import types: Always create new, Create new only, Update existing only, and Update existing and create new. For a first-time bulk-load of a new programme, Always create new is normally what you want. For refreshing a series you've previously imported, Update existing and create new plus a duplicate-identifier column (such as Event Title) lets infoodle match each row to the existing event.
For full detail see Configuring Import Settings.
Step 6: Check, then run
The Check step is the last stop before any data is written. infoodle shows you, for each row:
- The fields it will set on the new event.
- Any rows where it has detected a likely duplicate (these are marked with a duplicate icon — click it to open the matched existing event in a new tab and confirm the match is correct).
- Any rows where validation has failed — for example a missing required field, an unparseable datetime, or a Created by User Unique ID that doesn't exist in infoodle. Errors are highlighted; you can fix them inline and click Save Changes.
When you're satisfied with the preview, click Continue to queue the import. infoodle runs a final data-validation check, then creates the events. The wizard shows a live count of Records Created and Records Updated as it goes.
For detail on the Check step and how to interpret validation errors, see Check and Run the Import.
Step 7: Verify the events on the calendar
Once the import status reads Import complete, go to Events in the main menu and navigate to a date range that should contain the new events. Click an event to confirm the title, status, description, public title and times all loaded as expected.
If you need to undo an import
Every completed Events import shows up under Continue existing import on the Import tool's start screen with a Roll back changes button. Rolling back removes the events that this particular import created. Use it if you spot a structural mistake (wrong colour code on a whole batch, wrong time zone in the source data, etc.) and want to start again rather than fix events one at a time.
Common gotchas
05/09/2026 will be read as 5 September, not 9 May. Set the
Date Format in the field mapping step to match what your
spreadsheet actually contains, or change the spreadsheet's date format
before exporting to CSV.