Event Agenda Widget
Paste your programme as simple lines and get a schedule that looks like a conference website: tabs for each day, a time rail, speakers and tracks, the session running right now highlighted, and an add-to-calendar menu on every session.
Live preview
Under the widget on your page: Powered by A2Z Tools
Embed code
<iframe src="https://a2z.tools/embed/w/event-agenda" title="Event Agenda by A2Z Tools" width="100%" height="920" style="border:0;width:100%" loading="lazy" allow="clipboard-write"></iframe>
A plain iframe. Works everywhere, including site builders that strip scripts. Adjust height if your content needs more room.
<div data-a2z-widget="event-agenda" data-height="920"></div> <script async src="https://a2z.tools/embed.js"></script>
Adds a small script (what it does) that sizes the widget to fit its content, loads it lazily and keeps it isolated from your page's CSS.
Works with
How it works
Each day starts with a line such as '## Day 1 - Workshops' or, to pin the date, '## 2026-11-20 | Finals'. Days without a date follow the first day you set, one per heading. Each session is one line: start | end | title | speaker or room | optional track, with times written as 09:30, 9:30 pm or 2130. If the end is blank the session runs until the next one starts, or one hour for the last; an end earlier than the start is read as after midnight. Times are wall-clock times in the event zone and are converted to UTC for each date separately, so a three-day festival that spans the end of British Summer Time is still right. Every 30 seconds the agenda checks the real time: the session in progress is marked Now (with a green bar) and the next one Up next, and screen readers hear the change once. With more than one day the schedule becomes WAI-ARIA tabs that open on today's day; visitors in another zone can switch every time to their own clock. Lines that cannot be read are skipped and counted.
Method
- Session start/end (UTC) = day date + clock time in the event zone, converted with that date's UTC offset
- Blank end = next session's start on the same day, else start + 60 minutes; end <= start means the next day
- Now: start <= current time < end; Up next: the earliest session whose start is after the current time
Worked examples
Two-day summit at 10:00 on day 1
Inputs: Demo programme; Europe/London; first day 2026-11-12; now = 12 Nov 10:00 GMT
Result: Opening keynote (09:30-10:15) marked Now; Hands-on workshop (10:30) marked Up next
November in London is GMT, so local times equal UTC; 10:00 is inside 09:30-10:15.
Late show past midnight
Inputs: 23:00 | 01:00 | Late show; date 2026-01-01; UTC
Result: Ends 2026-01-02 01:00 UTC
An end earlier than the start is read as the next day.
Limitations
- Parallel sessions are listed in time order in one column with their track label, not as side-by-side room columns.
- The Now marker follows the visitor's device clock and refreshes every 30 seconds, so it can lag a session change by up to half a minute.
- The schedule is static: changes appear when you update the embed values; there is no live feed from ticketing or speaker systems.
Where publishers use it
- A one-day trade conference with workshop and main-stage tracks on its WordPress site
- A music or food festival line-up across a weekend, opening automatically on today's tab
- A wedding-day timeline for guests: ceremony, drinks, dinner, speeches, first dance
- A university open day with talks in several rooms, linked from the admissions page
- A church, mosque or community centre's weekly programme of classes and services
Questions
How do I write the schedule?
One session per line: start | end | title | speaker or room | track. For example '09:30 | 10:15 | Opening keynote | Dr Priya Shah | Main stage'. Start each day with '## ' and a label. Times may be 24-hour (14:00), 12-hour (2pm, 2:30 pm) or four digits (1430). Up to 14 days and 200 sessions are shown.
How is the session happening now decided?
From the real current instant compared with each session's UTC start and end. A session from 09:30 to 10:15 London time on 12 November 2026 is live from 09:30:00 to 10:14:59 UTC that day; at 10:15 exactly it is over. The check runs every 30 seconds and pauses when the page is in a background tab.
What does the 'Show in my time' toggle do?
It appears only when the visitor's clock differs from the event zone. Pressing it rewrites every time in the visitor's own zone - useful for online conferences - and the line above the schedule says which zone is being shown, with its abbreviation such as GMT or EST. Pressing again returns to the event zone.
Can attendees add single sessions to their calendar?
Yes. Each session has a small Calendar button with Google Calendar, Outlook.com, Microsoft 365 and .ics choices; the entry is titled with the session and the event name, and the speaker and track go in the location. Turn the buttons off with the cal option set to 0 for a cleaner printed look.
What happens to a session at 01:30 on the night clocks change?
Times inside the spring-forward gap are moved to the moment clocks jump, and a time that occurs twice in autumn uses the first occurrence (still on summer time). Real programmes rarely schedule anything then, but the agenda never shows a session at an impossible time.
Sources
- Tabs Pattern - W3C WAI-ARIA Authoring Practices Guide . Day tabs: roles, roving tabindex, arrow-key behaviour.
- RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar) - IETF . Per-session .ics files. Checked 2026-10-01.
- Time Zone Database - IANA . Zone names and daylight-saving rules used for each session date.
Cite or recommend this tool
If you reference this tool in an article, course or documentation, these formats are ready to copy. They are optional - nothing is added to your site unless you paste it.
A2Z Tools Event Agenda https://a2z.tools/embed/event-agenda
<a href="https://a2z.tools/embed/event-agenda">A2Z Tools Event Agenda</a>
[A2Z Tools Event Agenda](https://a2z.tools/embed/event-agenda)
Event Agenda by A2Z Tools - https://a2z.tools/embed/event-agenda
Related widgets
-
An event-page card with a live countdown, local-time conversion and Google, Outlook and .ics buttons.
-
One button that opens a menu to save an event in Google Calendar, Outlook.com, Microsoft 365 or Apple Calendar.
-
An hour-by-hour grid for up to four time zones that highlights where working days overlap.
-
Convert a date and time between any two time zones, with daylight-saving gaps and overlaps explained.
-
Forecast for the hours of one outdoor event, or the date the forecast will become available.
-
League standings that compute goal difference and points, apply tie-breakers and mark zones.