Skip to main content

How to bulk import events

Learn how to create, edit, or delete scheduled events in bulk using a CSV file.

Written by Chris Ramlow

Scenario

As an administrator, you want to make bulk changes to your scheduled events. This could include:

  • scheduling new events in bulk

  • mass editing currently scheduled events

  • mass deleting currently scheduled events

Solution

Use the Bulk Import tool on the Events dashboard.

Accessing the Bulk Import tool

Open the profile menu in the upper right and select Dashboard > Events. On the Events dashboard, the Bulk Import button appears in the top right alongside Schedule an Event and Export CSV.

Click Bulk Import to open the Bulk Import Events form.

The Bulk Import Events form

The form accepts two CSV formats, and both are accepted:

  • A blank template — a CSV with just the required column headers and no data rows. Click the blank template link in the form's description text to download it.

  • A CSV previously exported from the Events dashboard via the Export CSV button. This option pre-fills rows with values from existing events, which is ideal when you want to duplicate or edit existing events rather than create new ones from scratch.

Step-by-step

  1. Get a CSV to start from.

    • To bulk create new events from scratch, download the blank template from the link inside the form.

    • To bulk edit or delete existing events, go back to the Events dashboard, filter the list to show only the events you want to act on, and click Export CSV. This downloads a CSV with one row per event, pre-filled with the current values, including the id column.

  2. Edit the CSV in your spreadsheet tool (Excel, Google Sheets, Numbers, etc.) and save as CSV. See the column guide below for what each column means and how to fill it in.

    • To create a new event, add a new row and leave the id column blank.

    • To edit an existing event, keep the id in place and change the values you want to update.

    • To delete an existing event, set the DELETE column to 1 on that row.

  3. Upload the CSV. Back in the Bulk Import Events form, click the Click to upload dropzone and select your file. The dropzone label changes to show the filename.

  4. Click Validate. PlusPlus reads the file and pre-imports it for inspection — no changes are committed yet. One of three outcomes follows:

    • Success (no issues) — the form shows: "Validation complete. Ready to create [X] events, update [Y] events, delete [Z] events." The button changes from Validate to Import. A green toast appears: "The CSV file was pre-imported successfully!"

    • Issues found — the form shows the same summary plus a section titled "Identified the following issues:" listing each problem in the format: "Error at line [N], will IGNORE it. Message: [reason]". Below that, an Import anyway? heading appears. The Import button is still available — clicking it imports only the rows without errors; the flagged rows are skipped.

    • Generic error — if the file itself is malformed (wrong format, missing required columns, encoding issue, etc.), the form shows: "Something went wrong." Check the file in your spreadsheet tool and try again.

  5. Click Import. Once you're happy with the validation outcome, click Import. The events are created, updated, or deleted in PlusPlus, and you're navigated back to the Events dashboard. Changes appear immediately.

  6. (Optional) Click Cancel at any time to discard the upload and exit without making changes.

Go deeper

Guide to spreadsheet columns

The CSV — both the blank template and the export — uses the following columns in this exact order. Column names are case-sensitive.

Column

Description

Required for new

id

Unique identifier for the scheduled event.


Leave blank to create a new event. Keep in place to edit or delete an existing event.

No (must be blank for new events)

Event Series

The Event Series this event belongs to. The name must exactly match the name of an Event Series in your tenant.


(Previously called "Event Type" — same field, new name.)

No

Name

Event name.

Yes

Presenters

Comma-separated list of presenters' emails.

Yes

Organizer

Email of the organizer.

Yes

Co-Organizer

Email of the co-organizer.

No

Description

Event description, in text or HTML format.

No

Cover

URL to the cover image. Ideal size is 640×360.

No

Categories & Tags

Comma-separated list of categories and tags to apply to the event.


(Previously called "Topics" — now consolidated into one column.)

No

Timeslot

Comma-separated list of timeslots in the format m/d/yyyy h:mma (e.g., 3/16/2023 9:00am).

Yes

Duration

Event duration in hours. If omitted, inherits from the Event Series.

No

Room

Name of the room where the event takes place.


You can't edit this value for an existing event if you have Google Calendar integrated for events.

No

Location

Name of the event location. Must exactly match a location in your tenant.

Yes

Enrollment Link

URL to an external site where attendees complete enrollment, if applicable.

No

Enrollment Instructions

Instructions for attendees on how to complete external enrollment.

No

Enrollment Cap

Maximum in-person attendees allowed. 0 means no limit.

No (defaults to 0)

Waitlist Cap

Maximum size of the in-person waitlist. 0 means no limit.

No (defaults to 0)

Online Enrollment Cap

Maximum online attendees allowed. 0 means no limit.

No (defaults to 0)

Online Waitlist Cap

Maximum size of the online waitlist. 0 means no limit.

No (defaults to 0)

Extra Info

Free-text field for any additional event info. Included in notifications triggered by the event.

No

Hidden

Set to 1 to hide from the Catalog. Set to 0 (default) to be discoverable.

No (defaults to 0)

Is Online

Set to 1 to allow online enrollment. Set to 0 if the event is in-person only.

No (defaults to 0)

Is In Person

Set to 1 to make the event in-person. Set to 0 if online only.

No (defaults to 0)

Watch Link

Link to watch the event online, if available.

No

DELETE

Set to 1 to delete the scheduled event. Set to 0 (default) to leave it in place.

No (defaults to 0)

Note: Events cannot be canceled via bulk actions, nor can access control groups be updated. Please reach out to customer support if you need assistance with either.

Columns impacted by Timeslot

If you're entering values for Duration, Room, and Extra Info, they must have either:

  • A single entry — replicated to every timeslot

  • The same number of entries as the Timeslot column — mapped one-to-one to the respective timeslot

Inheriting values from the Event Series

You can leverage the values defined at the Event Series level to avoid repeatedly entering the same info in the CSV. Enter [inherit] in any of the inheritable fields to populate that field from the Event Series. This treats the Event Series as the source of truth and prevents accidental overwrites on the scheduled events.

The inheritable fields are: Name, Presenters, Organizer, Co-Organizer, Description, Cover, Categories & Tags, Location, Enrollment Link, Enrollment Instructions, Enrollment Cap, Waitlist Cap, Online Enrollment Cap, Online Waitlist Cap, Is Online, and Is In Person.

What if I have more than 150 events to import?

The Bulk Import tool supports up to 150 events per CSV file. To import more than 150, split your data across multiple CSV files of up to 150 rows each and import them one at a time.

Bulk importing Event Series

Event Series are templates for individual, scheduled events. You can also bulk-create Event Series themselves using a similar Bulk Import tool on the Event Series dashboard. For more, see How to bulk import Event Series.

See also

Did this answer your question?