More room for your next idea. Membership from $9.99/month.Take a look
All guides
Guide

Build an Event Agenda: Session Conflicts, Personal Calendars and Registration Drafts

Turn an approved event brief into a searchable multi-track website, check a personal route and export UTC calendars. Test the local registration draft before planning a real booking integration.

Fastest way

Ask your AI to do it

Paste this into the AI agent you already use:

Use Event Launch Studio to turn my approved event brief into a searchable agenda. Preserve confirmed speakers, rooms and explicit venue offsets. Check room and personal-route conflicts, retain selections through filters and inspect UTC ICS contents. Test sold-out and quantity limits with local drafts only. Deliver editable source and organizer evidence; do not register attendees, hold seats, charge money or publish the site.

What can Event Launch Studio deliver offline?

Event Launch Studio v1.0.0 creates an editable event website, speaker information, searchable day/track agendas, a personal schedule, agenda CSV and UTC ICS calendars. A separate command makes a registration JSON draft and SVG badge. The package costs USD 4.99 individually. The bundled workflow uses Python 3.10+ and its standard library; it needs no API key, ticketing account or dependency installation.

The website is a local planning prototype. Its pass prices and availability are authored input, its registration draft holds no seat, and its badge is not an admission credential. Running this example neither charges money nor registers a real attendee.

Start with approved sessions and explicit venue offsets

Read references/input.md. Supply a stable event id, reviewed venue, display timezone, speakers, tracks, passes and explicit-offset start/end timestamps. Use unique IDs and known speaker/track references. Different rooms may overlap; the same room cannot host overlapping sessions. The helper does not infer daylight-saving rules from timezoneLabel, so verify each actual venue offset independently.

Keep unknown speaker confirmations, fees, accessibility arrangements and cancellation policies visibly unresolved. The FORM / FORWARD example is fictional: its 12 sessions, five speakers and three tracks are a practice dataset, not an event announcement.

Generate the complete two-day practice website

From the installed skill directory, run the command into a fresh output folder and open event-site/index.html. Keep event.json for future edits, inspect agenda.csv against the source and retain the organizer handoff, quality evidence and SHA-256 manifest. Existing output folders are refused.

python3 scripts/build-event.py --input examples/event.json --output ./event-site

Prove a personal route survives filtering and rejects overlaps

  • Add Space for a better idea, then try Type with a point of view. Both run 10:30–11:30 on April 16 in different rooms; the second must be blocked in your personal schedule even though the event itself is valid.
  • Add The shape of a good question as a nonoverlapping session. Change search, day and track filters, then return. Your selected sessions should remain; hiding a session is not removing it. Remove a selection explicitly and check the updated count.
  • Download the personal ICS and inspect its session UIDs and UTC timestamps. The example’s 09:00+02:00 opening becomes 07:00Z. Import into your intended calendar app as a separate acceptance check; generating valid-looking text does not prove every app handles it correctly.

Check exact draft totals without treating them as a sale

The following fictional two-pass Studio draft totals exactly 19000 USD cents. Inspect registration.json: seatHeld and paymentTaken must both remain false. The selected calendar contains only open-16 and space-16. Check the badge’s LOCAL DRAFT label and name rendering before delivery.

Expected local registration boundary checks
Draft attemptExpected behavior
Two Studio passes and nonoverlapping sessions19000 cents; no seat held and no payment taken
Community invitation with zero remainingReject without creating a delivery
Five Studio passes with a limit of fourReject without creating a delivery
space-16 and type-16 in the same routeReject the conflicting selection
python3 scripts/create-registration.py --input examples/event.json --ticket studio --quantity 2 --name "Avery Morgan" --sessions open-16,space-16 --output ./registration-draft

Separate the event handoff from production registration

Adapt the source with approved event facts, rebuild into a fresh folder, and verify actual links, keyboard operation, narrow layouts, timezone conversions and changed/canceled sessions. A real registration service needs authoritative inventory, retry deduplication, server validation and a verified confirmation flow. Payment and admission credentials require their own authorized integration and tests. The static helper provides none of those guarantees.

All guides