Event Agenda
The Event Agenda lets attendees browse an event's schedule inside the TekTools Telegram mini app, save the sessions they care about, and keep them in one place alongside the event's booths.
Organisers build the agenda themselves, either session by session or by pasting an existing spreadsheet.
For attendees
Open the Events tab in the mini app. Once you're at an event — either by scanning a booth QR code or opening an agenda link an organiser shared — you'll see three sections:
| Section | What it shows |
|---|---|
| Booths | The event's live booths and your progress through each |
| Agenda | The full schedule, by day and track |
| My Schedule | Only the sessions you saved |
Announcements
Organisers can put notices above these sections — a link to the event's networking app, a reminder about a prize draw. Each one has an × to dismiss it.
Dismissing hides a notice for as long as you keep the mini app open, including while you move between sections and visit booths. It comes back the next time you open the app, so a reminder you waved away in the morning is still there in the afternoon. If an organiser edits a notice — correcting a time, say — it reappears straight away, even if you had dismissed it.
A notice an organiser marked as always visible has no × at all.
Browsing
- Pick a day along the top, and filter by track if the event has several.
- A session running right now is marked Happening now.
- Tap a session to see its description, speakers, room and tags.
Saving sessions
Tap the ⭐ on any session to add it to My Schedule. Tap it again to remove it.
If two of your saved sessions overlap, both are marked Clash so you can decide between them. Sessions that run back to back are not flagged — only real overlaps are.
Times
All times are shown in the event's local time, with the timezone noted at the top of the agenda. A session at 09:00 shows as 09:00 whether your phone is set to that timezone or not, so the app always matches the printed programme.
Changes
If an organiser moves or cancels a session, it stays in your schedule and is marked Moved or Cancelled rather than disappearing — so you can see what happened to something you had planned around.
For organisers
There are two ways to build an agenda, and you can mix them freely:
- Add sessions one at a time — the normal way, and the only sensible way to make a change once the agenda is up.
- Paste a spreadsheet — the quick way to load a whole agenda at once.
You need to be an organiser on the event: either your company owns it, or the TekTools team has added you.
Adding and editing sessions
- Sign in to the events dashboard.
- On your event, choose Agenda.
- Use Add session, or the Add button on a particular day.
Each session takes a title, a start and end, and optionally a track, room, type, tags, speakers and a description. Times are entered in the event's own timezone, which is shown next to every time field — you do not need to convert anything, wherever you happen to be.
Existing sessions have Edit and Delete buttons on their row.
Cancelling versus deleting
Cancel a session that attendees may have saved. It stays on the agenda marked Cancelled, and everyone who saved it is told. Set the status to cancelled when editing.
Delete removes a session entirely. This is only possible while nobody has saved it — otherwise you will be asked to cancel it instead, so that people who planned around it are not left with a session that silently disappeared.
Posting an announcement
Announcements are notices shown above every section of your event in the mini app — not just the agenda. Use them for the things attendees need to see whether or not they came looking: the networking app you built, the prize draw at 5pm, the wifi password.
- On your event, choose Edit.
- Scroll to Announcements and choose Add announcement.
- Fill in a title, and optionally details, a link and a deadline.
- Choose Save announcements.
This section saves on its own — you do not need to re-save the rest of the event, and you stay on the page afterwards.
| Field | Notes |
|---|---|
| Title | Required. Up to 80 characters |
| Details | Up to 280 characters. Line breaks are kept |
| Link | Must start with http:// or https://. Opens without leaving the mini app |
| Button text | What the link's button says. Defaults to Open |
| Stop showing after | Entered in your device's time, not the event's |
| Always visible | Removes the dismiss button |
Announcements appear in the order they are listed. Use the arrows to reorder them, and the × on the card to remove one.
Set Stop showing after on anything with a deadline. "Draw closes at 5pm" still on screen on day three is worse than never having posted it, and nobody wants to be editing announcements in the middle of running an event.
Use Always visible for one notice at most. It takes the dismiss button away entirely, and attendees who cannot clear anything stop reading all of them — including the one that mattered.
Changes reach attendees the next time they open the event in the mini app.
Publishing an agenda from a spreadsheet
On the Agenda screen, choose Import CSV and paste your sheet.
Importing overwrites any session whose externalId appears in the sheet,
including changes you made by hand on the agenda screen. Sessions that are not
in the sheet are left alone.
CSV format
externalId,title,description,startAt,endAt,track,room,type,tags,speakers
d1-keynote,Opening Keynote,How we grew,2026-09-21 09:00,2026-09-21 10:00,Main,Hall A,keynote,opening,Ada Lovelace|CTO|Acme
| Column | Required | Notes |
|---|---|---|
externalId | ✅ | Your own stable id for the session — see below |
title | ✅ | |
startAt / endAt | ✅ | YYYY-MM-DD HH:mm, in the event's local time |
description | ||
track | Drives the track filter; leave blank for breaks | |
room | ||
type | talk, panel, workshop, keynote, break or other | |
tags | Separate with ; | |
speakers | Separate with ;, each as Name|Title|Org |
Re-importing a corrected sheet
Keep externalId the same between imports. It's how a session is matched to the
one already published, so a corrected re-paste updates sessions in place
rather than creating duplicates — and attendees keep the sessions they saved.
If you change an externalId, that row is treated as a brand new session and
anyone who saved the old one loses it.
Sessions you add on the agenda screen are given an id automatically, shown at the bottom of the session editor. Put that id in your sheet if you later want to manage the session from a spreadsheet.
Nothing is saved unless everything is valid
If any row has a problem, the whole import is rejected and no sessions are saved — including the valid rows. You'll see a table listing each problem by row and column, so you can fix the spreadsheet in one pass and paste again.
Removing a session from the sheet
Removing a row does not delete the session — the import only touches rows it
contains. Cancel it on the agenda screen, or set its status to cancelled in
the sheet.