Skip to main content

Import and export the schedule from a CSV file

C
Written by Customer Success

Add or update many sessions and networking slots at once from a CSV file, and export the current schedule as a CSV file sent to your email.

Before you start

  • You need to be an organization admin or an event admin.

  • The schedule must be on. If Content > Schedule shows the start screen instead of tabs, turn the schedule on first.

  • Save the file as CSV with commas as separators and UTF-8 encoding. In Excel, choose CSV UTF-8 (Comma delimited).

  • Enter all dates and times in the event's time zone, as set in Details. Every slot must start and end within the event dates.

  • Warning: The import never deletes slots. Importing the same new rows twice creates duplicate slots.

  • Warning: An update row overwrites the slot with the file's content, empty cells included. Read What an update changes before you import a file that contains id or external_id values.

Where to find it

Content > Schedule > Settings in the admin panel.

  • Import: General > Import schedule data > Import .csv.

  • Export: Data export > Schedule data > Export .csv.

Get a template

Export the schedule. The file has all 21 columns in the order the import expects, even when the schedule is empty. Delete the rows you don't need and keep the header row.

Prepare the CSV file

Column names are matched after trimming, lowercasing and replacing spaces with underscores, so Start time and start_time both work. Column order does not matter. Use only the columns in this table: other columns are ignored, unless their name matches another session field in Brella's API (for example stream_link), in which case the value is saved.

Column

What it does

Default

id

Brella's ID of the slot. Leave empty to create a slot. Fill it to update that slot.

empty

external_id

Your own ID for the slot, for example from another system. Unique within the event. When id is empty, a row with a known external_id updates that slot.

empty

start_date

Date of the slot as yyyy-mm-dd.

—

start_time

Start time as hh:mm:ss. If start_date is empty, this cell can hold the date and time together, for example 2027-12-01 09:00:00.

—

duration

Length in minutes. Required on every row, also on updates.

—

reservable

true creates a networking slot, false creates a content slot. Brella also reads FALSE, f, F, 0, off and OFF as false. Any other text, including False, no or false with a space, counts as true. Empty keeps the existing type on an update and creates a content slot otherwise.

false

uses_ratings

true or false, read like reservable: whether attendees can rate the session. Empty: new content slots follow Enable session ratings by default; existing slots keep their setting. Content slots only.

event default

uses_rsvp

true or false, read like reservable: Enable registration (RSVP required). Content slots only. Empty works like false. Setting it to false or empty also turns off Allow registrations via app. Setting it to true does not turn on Allow registrations via app; do that in the session editor.

false

uses_waitlist

true or false: Waitlist mode. Can't be true together with requires_rsvp_approval. Don't leave it empty: an empty cell stops the whole import.

false

requires_rsvp_approval

true or false: Require RSVP approval. Can't be true together with uses_waitlist. Don't leave it empty: an empty cell stops the whole import.

false

title

Session title. Keep it under 150 characters; the session editor does not accept longer titles.

empty

subtitle

Up to 255 characters.

empty

location

One location name. A location that does not exist yet is created under Locations. For networking slots, the export shows the networking area name here; clear the cell before you import, or a location with that name is created.

empty

map_link

Link opened from the session's location. See Add links to a session.

empty

networking_area_id

Networking slots only; leave empty for content slots. ID of an existing networking area. Empty, with networking_area_name empty: the default networking area.

default area

networking_area_name

Networking slots only. When networking_area_id is empty or unknown, Brella creates a new networking area with this name. Area names are unique: if the name exists, use its ID instead, or the whole import fails.

empty

content

Session description. Plain text; a line break starts a new paragraph. A Brella export contains rich-text data here; both are accepted.

empty

tags

Tags separated by ;, for example Keynote;Day 1. Tags that do not exist yet are created under Tags.

empty

track_id

ID of a content track. Open Tracks, select Edit on the track and copy Track ID. Empty on a new slot: the default content track. Leave empty for networking slots; they always go to the networking track.

default track

track

Name of a content track, as an alternative to track_id. Not in the export. A track with that name is used, ignoring case and spaces, or created under Tracks if none exists. When both track and track_id are filled, track wins. Ignored for networking slots.

empty

average_rating

Export only. Ignored on import.

—

total_ratings

Export only. Ignored on import.

—

Filled CSV example

This example uses the current 21-column export header. The first data row creates a content session; the second creates a networking slot in the event's default networking area. Both have registration off.

Change the date and times to fit your event. Empty IDs create new slots. Empty track_id uses the default content track for the keynote; networking slots use the networking track.

id,external_id,start_date,start_time,duration,reservable,uses_ratings,uses_rsvp,uses_waitlist,requires_rsvp_approval,title,subtitle,location,map_link,networking_area_id,networking_area_name,content,tags,track_id,average_rating,total_ratings
,,2027-12-01,09:00:00,60,false,true,false,false,false,Opening keynote,,Main Stage,,,,Welcome to the event,"Keynote;Day 1",,,
,,2027-12-01,10:15:00,15,true,false,false,false,false,Networking,,,,,,,,,,

For an update, start with a fresh export. For example, if its keynote row has id 12345, keep that actual ID and all the exported values, then change the title cell to Opening keynote and welcome. Do not clear the ID: that would create another session. The example ID is illustrative; use the ID from your own export.

Before you import

  • Keep a copy of the original export when updating sessions.

  • Check that every row has the same number of fields as the header. A CSV reader must count quoted commas as part of a cell.

  • Check the event dates, event time zone, start times and required durations.

  • Use lowercase false for content slots and lowercase true for networking slots in reservable.

  • Fill uses_waitlist and requires_rsvp_approval with true or false on every row when those columns are present. Do not leave either empty or turn both on.

  • Leave IDs empty for new slots. Keep the actual exported IDs for updates, and preserve any existing external_id values you need.

  • Check the track and networking area rules in the column table. Preserve location, tags and other values you want to keep on updates.

  • Save as comma-separated UTF-8 CSV. Quote cells containing commas, line breaks or quotes; double any quote inside a quoted cell.

Import the file

  1. Open Content > Schedule > Settings and select Import .csv under Import schedule data. The Import time slot data from CSV window opens.

  2. Select Click or drag a file to this area to upload and choose the file.

  3. Select Import.

  4. If the file contains networking slots and Meeting slots is off, the dialog Enable meeting slots? appears. It reads "You are importing networking slots to your schedule, this will enable meeting slots for your event. Would you like to continue?". Select Enable meeting slots. The admin panel detects networking slots only when reservable is written as lowercase true.

Settings then General section with the Use schedule switch and the Import .csv button

Import time slot data from CSV window with the upload area and the Import button

The import runs while you wait. It does not appear in Cloud sync.

  • When every row works: the message Time slots imported successfully! appears, and the Summary says Imported N time slots. Revert changes under the Summary does not remove the imported slots. To undo an import, delete the slots in Timeslots.

  • When a row fails: the message We couldn't import all the time slots. Please check errors and try again. appears, and Errors in file: lists each failed row as row: N - <reason>. Row 1 is the first row under the header.

Summary with the Errors in file: list showing one row error

Warning: Rows without errors are saved even when other rows fail. In that case the Summary says Imported 0 time slots. Check the Timeslots tab before you import the file again; re-importing the saved rows without an id creates duplicates.

How rows are matched

  • A row with an id updates that slot. If no slot in this event has that ID, the row fails with Time slot not found with ID <id>.

  • A row without an id but with an external_id updates the slot with that external ID, or creates a new slot if none exists.

  • A row with neither creates a new slot.

What an update changes

  • Every column in the file is written to the slot, empty cells included. An empty title clears the title, an empty content cell clears the description and an empty external_id cell clears the external ID.

  • Tags are always rewritten, whether or not the file has a tags column. An empty or missing tags column removes all tags from the slot. It also removes the location, unless the location column holds a value.

  • An empty location cell removes the location.

  • Empty start_date, start_time, reservable and uses_ratings cells leave the current values. Other columns that are not in the file are not touched.

  • An empty uses_rsvp cell turns registration off for the session.

  • Warning: Changing requires_rsvp_approval or uses_waitlist from true to false settles the waiting registrations of that session. Brella confirms pending or waitlisted people in the order they registered, up to the capacity, and turns the rest away. Attendees get a push notification with the result. While pending requests are settled, RSVP (via app) shows Stopped. An export imported again without changes keeps these settings as they are.

  • duration is required. An update row with an empty duration fails with Duration can't be blank.

  • Warning: An empty track_id cell on an update removes the slot from its track. Keep the exported value, or delete the column from the file.

  • Empty networking_area_id and networking_area_name cells move a networking slot to the default networking area.

  • The type can't change. A row whose reservable differs from the slot fails with Cannot change timeslot type.

  • Warning: The import changes the start time of a networking slot even when meetings are booked in it. The meetings stay in the slot and move with it; Brella does not notify the attendees. The session editor blocks this change at 5 or more meetings; the import does not.

Update the schedule in bulk

  1. Export the schedule.

  2. Open the file in a spreadsheet program. Change the cells you need. Keep every column, in particular id, duration, tags, location and track_id.

  3. Delete the rows you did not change, so they are not written again.

  4. Save as CSV and import the file.

To add new slots in the same file, add rows with an empty id.

Delete slots

The import can't delete slots. Removing a row from the file leaves the slot in place. Delete slots in Content > Schedule > Timeslots. A networking slot with 5 or more accepted or pending meetings can't be deleted until those meetings are canceled. See Filter, edit and delete sessions and networking slots.

Export the schedule

  1. Open Content > Schedule > Settings.

  2. Under Data export, select Export .csv next to Schedule data. The message Your export will be delivered by email shortly. appears.

  3. Open the email from Brella with the subject <event name> schedule. The attached ZIP file contains <event-name>-schedule.csv.

Data export section with the Schedule data row and its Export .csv button

The file contains every content slot and networking slot of the event, with the 21 columns from Prepare the CSV file, in that order, sorted by start time. Dates and times are in the event's time zone. reservable, uses_ratings, uses_waitlist and requires_rsvp_approval are true or false. uses_rsvp is true, false or empty; empty means off. content is rich-text data. average_rating is on a 0 to 50 scale: divide by 10 for the star value shown in the admin panel.

Limits

  • duration is required on every row. The import also accepts an end_time column and calculates the duration from it.

  • subtitle is limited to 255 characters. title has no import limit, but the session editor accepts 150 characters.

  • external_id must be unique within the event.

  • Slots must start and end within the event dates.

  • Slots in the same track can overlap. The import does not warn about overlaps.

  • Not in the CSV: speakers, session sponsors, custom fields, list access, registration (RSVP) settings other than uses_rsvp, uses_waitlist and requires_rsvp_approval (for example the capacity), cover images, stream and video links. Set those in the session editor.

  • Imported networking slots are visible to attendees only while Meeting slots is on under Networking > Settings.

Troubleshooting

Time slot not found with ID <id>.
The id value is not a slot of this event. Clear the cell to create a new slot, or use the ID from a fresh export.

Cannot change timeslot type
The row's reservable value differs from the existing slot. Keep the cell empty or equal to the slot's type.

Track not found.
​track_id is not a content track of this event, or the row is a networking slot with a content track ID. Copy Track ID from Tracks > Edit, or leave the cell empty.

Cannot assign content timeslot to Networking track
The track column names the networking track (by default 1:1 meetings) on a content slot row. Use a content track name.

Networking area can only be set for networking timeslots
A content slot row has a value in networking_area_id. Clear the cell.

Start time not within event. End time not within event.
The slot falls outside the event dates in Details, or the time was read in the wrong time zone. Check the date and the event's time zone.

invalid date
​start_date or start_time is not in the yyyy-mm-dd or hh:mm:ss format. Spreadsheet programs often reformat dates on save; check the file in a text editor.

Duration can't be blank.
The row has no duration and no end_time. Enter the length in minutes, also on update rows.

Uses waitlist cannot be enabled while RSVP approval is required. or Requires rsvp approval cannot be enabled while the session waitlist is enabled.
The row sets both uses_waitlist and requires_rsvp_approval to true, or sets one to true while the file has no column for the other and the slot has it on. Set at most one of them to true.

The error message appears, but no rows are listed
The file could not be read as CSV (wrong separator, unbalanced quotes or a non-CSV file), a uses_waitlist or requires_rsvp_approval cell is empty, or a networking slot row has a networking area Brella can't create: networking_area_name holds a name that already exists, or networking_area_id is unknown and networking_area_name is empty. In all cases nothing is saved. Save the file again as CSV with commas, enter true or false in the two RSVP columns, or use the area's ID.

Imported networking slots don't appear in the app
​Meeting slots is off. The dialog that offers to turn it on appears only when reservable is lowercase true. Turn on Meeting slots under Networking > Settings.

Related articles

Did this answer your question?