Skip to main content

Create your event agenda CSV with an AI assistant

Use AI to quickly convert your event agenda into a Brella-ready CSV file. This article explains how to generate and review an agenda CSV using AI before importing it into Brella.

C
Written by Customer Success

An AI assistant can turn an agenda from your website, a PDF or a spreadsheet into a CSV file in the format Brella imports. Use any assistant that can read your source and produce a file. Review the file before you import it.

Before you start

  • Read Import and export the schedule from a CSV file for the column rules. The prompt repeats them, and the review step checks them.

  • Create your tracks first under Content > Schedule > Tracks if the agenda has more than one track. With track_id empty, every session goes into the default track.

  • The assistant does not know your event's time zone or track IDs. Give them in the prompt.

  • Warning: Importing the same new rows twice creates duplicate sessions. Import a file once, then fix errors in the admin panel or import only the corrected rows.

Write the prompt

Replace the text in angle brackets. Attach the agenda, or give its URL.

Convert this event agenda into a CSV file for import into Brella.

Agenda source: <URL, or the attached file>
Event time zone: <time zone, for example Europe/Helsinki>
Event dates: <first day> to <last day>
Tracks and their IDs: <track name = track ID, one per line; or "one track">

File rules (do not change them):
- Use exactly this header row, in this order:
id,external_id,start_date,start_time,duration,reservable,uses_ratings,title,subtitle,location,map_link,networking_area_id,networking_area_name,content,tags,track_id,average_rating,total_ratings
- One row per session. Every row has 18 fields, so a row has 17 commas
outside quotes.
- Leave id, external_id, map_link, networking_area_id, networking_area_name,
average_rating and total_ratings empty.
- start_date is YYYY-MM-DD. start_time is HH:MM:SS in 24-hour time, in the
event time zone.
- duration is the length in minutes, as a whole number. Never leave it empty.
- reservable is false for every row (sessions, breaks, keynotes). Write it
in lowercase.
- uses_ratings is true or false in lowercase, or empty to use the event default.
- title is at most 150 characters. subtitle is at most 255 characters.
- location is one room or place name per row.
- content is the session description as plain text.
- tags are separated by semicolons inside one cell, for example "Keynote;Day 1".
- track_id is the ID of the session's track from the Tracks list in this prompt, or empty.
- Put double quotes around any field that contains a comma, a semicolon,
a line break or a double quote. Double any quote inside a quoted field.
- Use commas as separators. Never use semicolons as separators.
- Return the complete CSV as plain text, and also as a downloadable .csv file.

Before writing the file, list every session you found with its date, start
time and duration, and wait for my confirmation.

A correct result starts like this:

id,external_id,start_date,start_time,duration,reservable,uses_ratings,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,Opening keynote,,Main Stage,,,,"Welcome and a look at the year ahead.",Keynote,,,
,,2027-12-01,10:15:00,45,false,,Coffee break,,Lobby,,,,,Break,,,

Check the session list the assistant shows against your agenda before you confirm. Ask it to add sessions it missed, fix times and merge or split items.

Use track names instead of IDs

If you prefer track names, change the prompt before giving it to the assistant:

  1. Replace Tracks and their IDs with Track names and provide the exact names.

  2. Replace track_id with track in the header. Keep the other 17 columns in their original order; the file still has 18 columns.

  3. Replace the track_id rule with: track is the session's content track name from the list above, or empty for the default track.

  4. In the sample rows, put the track name in the same position where the track ID would go.

  5. In the review checklist, check track names instead of track_id values.

Brella matches names to existing content tracks, ignoring case and spaces. It creates a track for a name it does not know. Check spelling before importing so a typo does not create an extra track.

Review the file before you import it

Open the file in a text editor, not only in a spreadsheet, so you see the commas and quotes. Check each point:

  • The header row is exactly the 18 column names in your chosen prompt: track_id, or track in its place. A column that is misspelled is ignored, and its values are lost.

  • Every row has 18 fields. The example row in older prompts had 17 fields and started with the date, which put the date in id; every such row fails with Time slot not found with ID 2028-11-22.

  • id and external_id are empty on every row. A value in id is treated as an existing slot to update.

  • Dates are YYYY-MM-DD and times are HH:MM:SS. A value Brella can't read as a date fails with invalid date.

  • All times are in the event's time zone, and every session falls within the event dates in Details.

  • duration is filled on every row. An empty cell fails with Duration can't be blank.

  • reservable is lowercase false on every row. Brella reads false, FALSE, f, F, 0, off, OFF and an empty cell as a content slot. Any other value, including False, no or false with a trailing space, creates a networking slot.

  • Tags inside one cell are separated by semicolons and the cell is quoted.

  • Fields that contain commas are quoted.

  • With track_id, check that the IDs exist under Content > Schedule > Tracks. A wrong ID fails with Track not found. With track, check that names match your intended tracks.

  • Sessions that run at the same time, span midnight or sit on a second day have the right date and duration.

Tip: Compare the file with an export from an event that already has sessions: Content > Schedule > Settings > Data export > Schedule data > Export .csv. The export also has the columns uses_rsvp, uses_waitlist and requires_rsvp_approval. The prompt leaves them out, so new sessions start with registration off. If you add them, enter true or false in uses_waitlist and requires_rsvp_approval on every row: an empty cell stops the whole import.

Import the file

  1. Open Content > Schedule > Settings and select Import .csv under Import schedule data.

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

  3. Select Import.

The Summary shows how many slots were imported and lists failed rows as row: N - <reason>. Rows without errors are saved even when other rows fail. The steps and every error message are in Import and export the schedule from a CSV file.

After the import, open Content > Schedule > Timeslots and check the dates, times and tracks.

Tips for better results

  • Give the assistant the source material instead of a summary: the agenda page, the program PDF or the spreadsheet.

  • Tell it which items to skip, for example registration desks or sponsor lunches you don't want in the app.

  • If sessions are missing, ask: "Compare the CSV with the source again and list every session that is missing."

  • If the format drifts, ask: "Keep the exact header row and return valid CSV only."

  • If times are wrong, ask: "The event time zone is <time zone>. Check every start time and duration against the source."

Troubleshooting

Time slot not found with ID <date or text>.
The row has a value in the first field. Add two empty fields (,,) at the start of each row so that id and external_id are empty.

invalid date
A date or time is not in the required format. Ask the assistant to rewrite dates as YYYY-MM-DD and times as HH:MM:SS.

Duration can't be blank.
A row has an empty duration. Ask the assistant to fill in the length in minutes for every row.

Every session went into one track
​track_id was empty. Create the tracks first, give the assistant their IDs and import the corrected rows, or move the sessions in the session editor.

Sessions became networking slots
​reservable contained a value Brella does not read as false, for example False, false with a trailing space or a stray word. Delete the wrong slots in Timeslots, fix the column and import those rows again.

Import the agenda with the Core API

If your team has a developer, you can create the agenda through the Brella Core API instead of a CSV file. The Core API can:

  • Create, update and delete sessions.

  • Create tracks.

  • Create and update speakers, and link them to sessions.

The Core API takes session start times in UTC, not in the event time zone. An organization admin creates an organization token with a scope for each of these resources. See Give partners scoped API access with organization tokens. The Core API reference is at https://docs.brella.io.

Related articles

Did this answer your question?