This is the internal reference for anyone on the Topco team who creates, configures, or runs an event on the
platform — events staff, admins, and entrance/registration crew on event day. It covers the admin console
end to end, plus enough of the attendee- and sponsor-facing sides that you can answer questions about what
people are actually seeing.
Start here
What is this platform
Topco Events is the app behind every Topco-run conference — one platform, many events. Each event gets its
own public site (agenda, speakers, sponsors, registration, networking) and its own admin console, all
living under one login.
Attendees never create a traditional account — they sign in with Google, Microsoft, LinkedIn, or email, and
that one identity carries across every event they register for. Admin access is separate and is granted by
a Super Admin (see Roles & access).
Where things live
Public event site: /e/[event-slug] ·
Event admin: /e/[event-slug]/admin ·
Platform-wide Super Admin: /admin
Start here
Roles & access
Three admin tiers, each scoped differently. A Super Admin sets everyone else's access from the Team section
of the Super Admin page (see Team & access).
| Role | Scope | Can do |
| Super Admin |
Every event |
Everything below, for every event, plus managing the Team itself, creating new events, and platform-wide settings (Under construction mode, Security overview). |
| Event Admin |
Assigned events only |
Full control of the events they're assigned to: branding, agenda, speakers, sponsors, tickets, attendees, audit log. Cannot see or touch events they're not assigned to, or the Team section. |
| Check-in Staff |
Assigned events only |
Entrance check-in only, for their assigned events — scanning/searching attendees and marking them checked in. Nothing else in the admin console is visible to them. |
Tip
You can grant admin access to anyone who has already registered for any event — the Super Admin page's
Team section lists every registrant with a one-click "Grant access" action, so you don't need their uid
or any technical detail, just find their name.
Start here
Creating an event
Only a Super Admin can create a new event. From the Super Admin page (/admin):
-
Fill in the basics
Event name, start date, end date, and venue name. That's all that's required to get started — everything else (times, full address, branding, tickets) is filled in afterwards from the event's own admin console.
-
Create draft event
The event is created in draft status — invisible on the public events list — and you're dropped straight into its admin console to finish setting it up.
-
Publish when ready
Flip the Publish toggle at the top of the Branding & details tab once the event is ready for the public. Only published events appear on the events list — you can keep working on a draft indefinitely without anyone seeing it.
Note
If no events exist yet on a fresh environment, the Super Admin page offers a one-click "Load demo data"
option that creates a fully-populated sample event (sessions, speakers, sponsors included) — useful for
exploring the platform or testing, not for real use.
Start here
The admin tabs
Every event's admin console (/e/[slug]/admin) is organised into nine tabs along the top.
Overview
Registrations, checked-in count, leads made, and sign-up-over-time chart — the at-a-glance dashboard.
Usage
How much attendees are actually using each feature: messages sent, connections made, sponsor chats, beyond the headline stats.
Branding & details
Name, dates, venue, notifications, reminder emails, brand colour/logo, layout, and publish status. See below.
Agenda
Sessions: title, description, time, room, track, and which speakers are on it.
Speakers
Name, job title, company, bio, and photo for everyone speaking.
Sponsors
Sponsor/partner profiles, tiers, booth placement, and their self-service dashboard links.
Tickets
Ticket types — name, price (or free), and an optional quantity cap.
Attendees
Every registration: search, manual edits, CSV bulk import. See below.
Audit log
Accountability trail of privileged actions — admin grants/revokes, registration edits, manual check-in toggles, sync retries.
Set up an event
Branding & details
This is the control centre for one event — nearly everything that isn't content (sessions, speakers,
sponsors, tickets, attendees) lives here.
Basic info
Event name, start/end date, and optional start/end time. Leaving time blank treats the event as all-day for calendar invites and reminder timing.
Venue
Four fields, and the public event page does more with them than you might expect:
- Venue name and Venue address — the full address now renders as an embedded, clickable Google Map on the event page and in every ticket/reminder email, alongside a "Get directions" button. No separate map upload needed.
- Room / hall (optional) — for when the venue itself has a specific hall or room hosting the event (e.g. "Hall 3"), shown alongside the address everywhere it appears.
- Floor plan image URL (optional) — a different thing entirely: an indoor booth/session floor-plan image, shown on the public Venue tab with clickable sponsor booth pins. Not needed just to show a location — the address above already handles that automatically.
Notifications
Two master switches for this event, overriding what any individual attendee has chosen for themselves:
- Email notifications — reminder emails and connection-request emails. Off means neither goes out for this event, no matter what's configured below.
- Push notifications — chat messages, sponsor messages, connection requests, and "session starting soon" alerts.
Note
The registration confirmation email (with QR code) always sends regardless of these switches — it's the receipt for the action someone just took, not a notification they can be opted out of ahead of time.
Reminder emails
Add as many "days before" pickers as you want — e.g. 7 and 1 for two reminders, or just 3 for one. Each
fires automatically at 08:00 SAST that many days out, containing the same QR code and event details as the
confirmation email. No pickers configured means no automatic reminders for that event. Use the
Test reminder email tool right below to preview exactly what one looks like before relying on it.
Brand & layout
Primary colour, logo URL, and cover image carry through the whole public site and emails aren't affected by this — those keep Topco's own red branding regardless of an event's colour, so a ticket email always reads as coming from Topco Events.
Layout has two options: Classic (the default) and Apple-style, a lighter visual reskin of Overview/Agenda/Speakers/Sponsors/Register/Network. Everything else (Admin, Check-in, Venue) looks the same either way.
Publish status
The toggle at the very top. Draft events are only visible to admins; published events appear on the public events list for anyone to find.
Set up an event
Agenda, speakers, sponsors, tickets
The four content tabs that build out what attendees actually browse.
Agenda (Sessions)
Each session has a title, description, start/end time, room, an optional track (for multi-track events), and the speakers presenting it.
Speakers
Full name, job title, company, a short bio, and a photo.
Sponsors & partners
Every sponsor or partner gets a profile: name, tier, logo, description, website, address, contact number, and booth location — plus an optional pin position on the floor-plan map.
Six tiers are available, shown on the public page in this order:
| Tier | Typical use |
| Strategic Partner | Broader business partnership beyond straight sponsorship money. |
| Platinum / Gold / Silver | The standard paid sponsorship levels. |
| Community | Smaller or in-kind community partners. |
| Media Partner | Exposure/coverage partnership rather than a paid tier. |
Each sponsor also gets a Dashboard link button — a no-login link you send them so they can self-manage their own profile and see who's checked into their booth. See Sponsor dashboard.
Tickets
Name, price (or mark it free), and an optional quantity cap. An event needs at least one ticket type before anyone can register.
Set up an event
Notifications & emails
What goes out automatically, and the two layers of control over it.
| Email | When | Can be turned off? |
| Registration confirmation | Immediately on successful registration, with QR code | No — always sends |
| Reminder email | Each configured "days before" point, with QR code | Yes — event switch and attendee preference |
| Connection request | When another attendee sends a connection request | Yes — event switch and attendee preference |
Two levels of control
- Event-wide — the two switches in Branding & details (see above). This is the master override.
- Per attendee — every attendee has their own "Email me reminders and connection requests" / "Push notify me" toggles on their own profile (the Network tab of the event they're registered for). Off there means off for them specifically, even if the event allows it.
Both must allow it for an email or push to go out — either one being off is enough to suppress it.
Branded email template
Every transactional email (confirmation, reminder, connection request) shares one Topco-branded template: the real Topco logo on a red header, a red-bordered card, and — for anything with a venue — a "Get directions" button next to "Add to calendar" that opens Google Maps.
Run the event
Attendees & registration
The Attendees tab is the full registration list for one event, with two ways to add people.
Self-registration
Attendees register themselves via the public Register page. Company email is mandatory and must be unique per event — a second attempt with an email already used on that event is blocked with a clear message, both instantly in the browser and enforced server-side.
Bulk import (CSV)
For pre-registering people from a spreadsheet — an events-team list, a partner's delegate list, etc. Upload a CSV with these columns:
| Column | Required? | Notes |
| name | Yes | |
| email | No | Bulk import is the one path that allows a blank email — useful when a spreadsheet has a name/company but no captured email yet |
| role | No | Job title |
| company | No | |
| mobile | No | |
| ticket | No | Matched by ticket name; defaults to the event's first ticket type if left blank or not found |
| dietary | No | Dietary requirements, free text |
Note
If someone who was bulk-imported later registers themselves for real, that creates a second,
duplicate-looking registration — this is a known, accepted limitation. There's no reliable way to
automatically detect "this is the same person," so keep an eye out for it if you import a list ahead of
people registering on their own.
Editing a registration
Click into any attendee row to edit their details or payment/check-in status by hand. Every manual edit is recorded in the Audit log tab.
Run the event
Entrance check-in
The check-in page (/e/[slug]/checkin) is for Check-in Staff and admins working the door on event day.
Three ways to find someone, all converging on the same confirm-and-check-in card:
Scan their QR codeCamera-based scanner, works with the QR code from their confirmation or reminder email, or shown in-app.
Search by name or emailUnder "Camera not working?" if the scanner isn't cooperating or someone doesn't have their code handy.
Type the ticket code manuallySame fallback section — for entering a code by hand.
Paid tickets
Someone with a paid ticket that hasn't actually been confirmed as paid can't be checked in — this is enforced by the system itself, not just a suggestion, so a payment issue has to be resolved (in the Attendees tab) before they can be let in.
Reference
What attendees see
Useful context for answering "how do I…" questions from attendees.
- Sign-in — Google, Microsoft, LinkedIn, or email. One identity carries across every event.
- Register — pick a ticket, fill in details, get a QR code immediately on-screen and by email.
- Venue — address, embedded map, room/hall, and (if configured) the indoor floor plan with booth pins.
- Network — a directory of other attendees, connection requests with in-app + email/push notification, 1:1 chat once connected, and their own profile card (bio, photo, notification preferences).
- Scan Lead — inside Network: scanning another attendee's badge QR creates an instant accepted connection (no request/approve step, since a physical scan already implies consent) and lets the scanner tag it Hot/Warm/Cold for their own follow-up.
- Sponsor chat — attendees can message a sponsor directly from the Sponsors page.
Reference
Team & access
Managed entirely from the Team section of the Super Admin page (/admin) — Super Admin only.
- Current admins — every existing admin, their role, and which events they're scoped to. Edit or revoke from here.
- Grant access to a registrant — every person who's ever registered for any event, with a one-click grant. No need to know a uid or ask them to do anything first.
Granting Event Admin or Check-in Staff requires picking at least one event to scope them to; Super Admin has no event picker since it's platform-wide by definition.
Reference
Troubleshooting
| Symptom | Check this first |
| "I registered but got no confirmation email" |
Confirmation always sends regardless of notification switches — check spam first, then confirm the email address on their registration (Attendees tab) is correct. |
| "Attendees say they're not getting reminder emails" |
Branding & details → Notifications must be on, and at least one "days before" picker must be configured under Reminder emails. Also worth checking the attendee didn't personally opt out on their own profile. |
| "Someone can't register — already registered" |
Working as intended — one email per event. If they genuinely need a second registration under the same email (rare), that has to be done via bulk import by an admin, not the public form. |
| "A paid attendee can't be checked in at the door" |
Their payment isn't marked confirmed yet — fix the payment status on their registration in the Attendees tab first. |
| "The venue map/address isn't showing" |
The Venue address field in Branding & details needs to actually be filled in — the map generates from that address automatically, nothing else to configure. |
| "A sponsor category I need doesn't exist" |
Six tiers are currently available (Strategic, Platinum, Gold, Silver, Community, Media) — if a new category is genuinely needed, that's a platform change, not a per-event setting. Contact support. |
Reference
Support
This manual covers day-to-day event management. For anything platform-level — new features, something
that looks genuinely broken, or a change to how the system itself behaves — reach out to whoever manages
the platform build rather than trying to work around it.