Form page · /f/<id>
Event registration with sessions
Register for an event · own header and theme · Its own page: share the link or open it on a tablet
Workplace & Facilities package
A four-step registration page with an attendee table, first and second session choices, slider, rating and rich text; seats are checked by a decision table and waitlisted groups go to the organiser.
About this package
Event registration with session choices books groups into limited-seat sessions using only UserTasks features and the official form controls. The registration page has four steps with a progress bar and a review step: an event lookup that fills the date and venue from the Events table, a Table control for the attendees (name, email, dietary needs, accessibility needs), first and second choice sessions looked up in the Sessions table (only the sessions of the chosen event), a Slider for how many sessions they plan to attend, a heart Rating for interest in networking and a Rich text box for questions to the speakers.
The Event registration workflow counts the attendees with COUNT, reads the event and both sessions, and a Seat allocation decision table compares the spare seats with the size of the group: the first choice if it fits, else the second, else the waitlist. The registration is saved to the Registrations table, the seats taken go up on the session and the event, and a loop records every attendee in the Attendees table and emails each one their session; the person who registered gets a booking summary.
A waitlisted group becomes a task for the organiser (the person who installed the package) with a two-day SLA, a reminder and escalation: an Info card shows the group and both choices, a Progress bar how full the first choice is, and the organiser either offers another session (the group is then booked and emailed) or keeps them on the waitlist with a message.
The Organiser dashboard page shows a Progress bar of the chosen event's seats filled, Chart controls of seats taken against capacity per session and registrations by status from the data tables, Saved report controls for attendees by session and by dietary need (workflow variables), and a button that emails the event's attendee list with the catering numbers.
Starts from a form page: share the Event registration with sessions page (/f/<id>) with staff or signed-in guests, or submit it from your own site through the forms API.
Someone fills in a form to start it: the workflow start form (Run dialog in the app, or your own portal posting to the API) or a standalone form page (/f/<id>) whose Form submitted trigger starts the workflow. People complete User Task forms along the way.
How forms workThe flow
Register
Pick the event (date and venue fill in), list the attendees in the table, choose a first and second session, slide how many sessions you plan to attend, rate your interest in networking and add questions for the speakers.
Check seats
The attendees are counted and the Seat allocation decision table compares the spare seats at the event and in both sessions with the size of the group.
Confirm
A group that fits is booked: seats taken go up on the session and the event, every attendee is recorded and emailed, and the contact gets a summary.
Waitlist
A group that does not fit is waitlisted and the organiser gets a task with an SLA to offer another session or keep them on the waitlist; the contact is emailed either way.
Organise
The Organiser dashboard shows seats filled, seats by session, registrations by status, attendees by session and dietary needs, and emails the attendee list.
Forms
People start it from a form page (/f/<id>) with its own header, theme and buttons; submitting it starts the workflow. User Tasks show their fields and outcome buttons to the assignee.
Form page · /f/<id>
Register for an event · own header and theme · Its own page: share the link or open it on a tablet
Form page · /f/<id>
2-column grid · own header and theme · Its own page: share the link or open it on a tablet
User Task
Waitlisted: {{form.contact_name}} ({{attendee_count}}) for {{event_row.title}} · 2-column grid · own header and theme
Form controls
The forms use these controls from the gallery. They come inside the package and install into Extensibility → Form controls, sandboxed and signed like every official control: nothing else to download.
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"event":"OPS-26","event_title":"Operations Summit 2026","event_date":"2026-11-24","event_venue":"Harbourside Conference Centre, Wellington","contact_name":"Jamie Example","contact_email":"jamie.example@example.com","organisation":"Example Logistics","attendees":[{"name":"Jamie Example","email":"jamie.example@example.com","dietary":"Vegetarian","accessibility":""},{"name":"Sam Sample","email":"sam.sample@example.com","dietary":"Gluten free","accessibility":"Step-free access"}],"first_choice":"Workshop A: Forms that fill themselves · Operations Summit","second_choice":"Workshop B: Decision tables in practice · Operations Summit","sessions_planned":3,"networking":4,"questions":{"html":"<p>How do you <strong>test</strong> a decision table before it goes live?</p>","text":"How do you test a decision table before it goes live?"},"consent":true}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input event=OPS-26 --input event_title="Operations Summit 2026" --input event_date=2026-11-24 --input event_venue="Harbourside Conference Centre, Wellington" … --waitWhat's included
| Type | Name | Details |
|---|---|---|
| Email template | Attendee list | The attendee list the organiser asks for from the Organiser dashboard. |
| Email template | Registration confirmed | Sent to the person who registered once the group has seats. |
| Email template | Registration waitlisted | Sent to the person who registered when the organiser keeps the group on the waitlist. |
| Email template | Your session place | Sent to each attendee of a confirmed registration. |
| Data table | Attendees | Everyone registered, one row per person: their session, dietary and accessibility needs and status. The organiser dashboard emails this list. |
| Data table | Events | The events people can register for: date, venue, the overall capacity and the seats taken so far (updated by every confirmed registration). |
| Data table | Registrations | One row per registration: the contact, the number of attendees, the first and second session choices, the session they got (or the waitlist), how many sessions they plan to attend and their interest in networking. |
| Data table | Sessions | The sessions of each event: speaker, time, room, capacity and seats taken. The session lookups on the registration form store the Session column; confirmed registrations add their attendees to the seats taken. |
| Decision table | Seat allocation | 4 rules — Decides where a registration goes from the spare seats after it (seats left minus the attendees): the event first, then the first choice session, then the second. A negative number means it does not fit. Change the order or add rules here. |
| Retention policy | Registrations: 12 months after the event | Attendee details are personal information: purge registration and attendee rows 12 months after they were created. Apply it to the Registrations and Attendees tables after install. |
| Report | Attendees by dietary need | Vegetarian, vegan, gluten-free, halal and other dietary needs per event, summed over the registration runs (workflow variables): the catering numbers. |
| Report | Registrations by session | Registrations and attendees per session they were given (waitlisted registrations have no session), from the registration runs (workflow variables). |
| Report | Waitlisted registrations | Organiser tasks for waitlisted registrations that are still open (the Event registration workflow's tasks). |
| Form control | Chart | Bar, line, area, pie or doughnut chart of static data, another field's rows, lookup results or a saved report. Keyboard-navigable points, a data table view, and optional point selection. |
| Form control | Info card | A callout or key / value card: an info, success, warning, error or neutral message that can show up to six other form values ({{field1}} … {{field6}}), formatted for the reader. |
| Form control | Progress | Progress as a bar, a ring or named steps, from two mapped fields (current and total) or fixed values, with optional warning / good thresholds. |
| Form control | Rating | Star, heart or circle rating from 1 to 10 with optional labels (Poor … Excellent). Mouse, touch and keyboard. |
| Form control | Rich text | A rich-text editor with bold, italic, underline, headings, lists, quotes and links, a character counter and strict sanitising of everything typed, pasted or dropped. |
| Form control | Saved report | Shows a saved report as a sortable, paginated table or a chart, run with the permissions of the person filling in the form. Optionally pick a row as the field's value. |
| Form control | Slider | A range slider for numbers (0 to 100, $0 to $5,000, 1 to 10) with a value bubble, mark labels such as Low / Medium / High and an optional box for exact entry. |
| Form control | Table | An editable table (line items, attendees, measurements) with typed columns: text, number, currency, date, choice and tick box. Per-cell validation, totals, and spreadsheet-style keyboard editing. |
| Form | Event registration with sessions | Register one or more people for an event: pick the event (date and venue fill in), list the attendees with their dietary and accessibility needs, choose a first and second session, and send questions for the speakers. |
| Form | Organiser dashboard | The organiser's page: pick an event to see its seats filled, seats taken against capacity for every session, registrations by status, attendees by session and dietary needs from saved reports, and a button that emails the attendee list. |
| Workflow | Attendee list | 9 steps — From the Organiser dashboard: reads the chosen event, lists its confirmed and waitlisted attendees, works out the catering numbers and emails the list to the organiser who asked. |
| Workflow | Event registration | 42 steps — A group registers: attendees are counted, the seats left at the event and in the first and second choice sessions are checked by a decision table, the group is confirmed (seats taken, every attendee recorded and emailed) or waitlisted, and the organiser offers waitlisted groups an alternative session. |
Attendees · 14 sample rows
AttendeeRegistrationEvent codeSessionNameEmailDietaryAccessibility needsStatusSummary
Events · 3 sample rows
CodeEventDateVenueCapacitySeats takenOrganiserOrganiser emailStatus
Registrations · 8 sample rows
ReferenceEvent codeEventContactContact emailAttendeesFirst choiceSecond choiceSessionStatusSessions plannedNetworking interest (1-5)Questions for the speakersRegistered
Sessions · 9 sample rows
CodeSessionEvent codeTitleSpeakerStartsRoomCapacitySeats taken
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Nothing: it installs complete.
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/event-registration-sessions-1.0.0.utpkg
usertasks packages inspect event-registration-sessions-1.0.0.utpkg # offline: checksum, hashes, signature
usertasks packages install event-registration-sessions-1.0.0.utpkg --dry-run
usertasks packages install event-registration-sessions-1.0.0.utpkg # prompts for each requirement
usertasks packages install event-registration-sessions-1.0.0.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete event-registration-sessions -f values.yamlVerify the download
shasum -a 256 event-registration-sessions-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Workplace & Facilities Official
A register of loanable equipment with a check-out form, a due-back return task with a reminder, and Returned / Damaged outcomes that update the register.
Nothing to configure: works as soon as it is installed
Workplace & Facilities Official
Book a pool car on a themed form: service and clash checks, a decision table for long, multi-day or weekend trips, coordinator approval and a confirmation email.
Nothing to configure: works as soon as it is installed
Workplace & Facilities Official
Book a room from a themed start form; rules send large, long or catered bookings to facilities for approval, everything else is confirmed straight away.
Nothing to configure: works as soon as it is installed