Start form
Meeting room booking
Filled in by whoever starts the process
Workplace & Facilities package
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.
About this package
Meeting room booking gives people one simple, branded form to ask for a room: meeting title, room, date, start time, duration, number of attendees, catering and external guests. The Rooms table holds every bookable room with its floor, seats and equipment, so facilities can keep it up to date without touching the workflow.
The workflow reads the chosen room and checks the request against the Room booking approval decision table: more attendees than seats, a large room (12+ seats), a booking longer than four hours or catering all need facilities approval; anything else is confirmed automatically. Every request is recorded in the Room bookings table with the rule that applied.
Facilities get an approval task with Approve and Reject buttons, choose the room setup, tick that catering is ordered and leave a note for the organiser. The organiser gets a confirmation email with the room details, or the reason it could not be approved. No integrations needed.
Starts from its start form: open the Meeting room booking workflow and press Start (or share the start link). The form is themed and laid out in a grid.
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.
The flow
Ask for a room
The organiser fills in the themed start form: room, date, time, duration, attendees, catering and guests.
Check the room
The workflow reads the room's seats and equipment from the Rooms table and flags more attendees than seats.
Apply the rules
The approval decision table decides whether facilities must approve (large rooms, long bookings, catering) and records why.
Facilities approve
Facilities pick the room setup, confirm catering and press Approve or Reject, with a note for the organiser.
Confirmation
The booking is confirmed or declined in Room bookings and the organiser is emailed the details.
Forms
The workflow inputs are the start form: the Run dialog renders them on its grid and theme, and your own portal can post the same fields. User Tasks show their fields and outcome buttons to the assignee.
Start form
Filled in by whoever starts the process
User Task
Approve {{room}} for "{{meeting_title}}" on {{booking_date}} at {{start_time}} · 2-column grid · own header and theme
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":{"meeting_title":"Quarterly business review","room":"Boardroom","booking_date":"2026-11-12","start_time":"10:00","duration_hours":3,"attendees":12,"organiser_email":"priya.shah@example.com","catering":true,"external_guests":true,"notes":"Customer visit: please set up the boardroom layout"}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input meeting_title="Quarterly business review" --input room=Boardroom --input booking_date=2026-11-12 --input start_time=10:00 … --waitInbound webhook
usertasks webhooks create <workflow id> # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
-H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
-d '{"meeting_title":"Quarterly business review","room":"Boardroom","booking_date":"2026-11-12","start_time":"10:00","duration_hours":3,"attendees":12,"organiser_email":"priya.shah@example.com","catering":true,"external_guests":true,"notes":"Customer visit: please set up the boardroom layout"}'What's included
| Type | Name | Details |
|---|---|---|
| Email template | Room booking confirmed | Sent to the organiser when a booking is confirmed (automatically or by facilities). |
| Email template | Room booking declined | Sent to the organiser when facilities decline a booking. |
| Data table | Room bookings | Every booking request, its approval decision and status. |
| Data table | Rooms | Bookable meeting rooms: floor, seats and equipment. The booking workflow reads the capacity from here; untick Bookable to take a room out of service. |
| Decision table | Room booking approval | 6 rules — Which bookings facilities must approve. First matching rule wins; the last rule confirms everything else automatically. |
| Workflow | Meeting room booking | 17 steps — Book a meeting room from a themed start form: the room is read from the Rooms table, the approval rules decide whether facilities must approve, and the organiser gets a confirmation (or the reason it was declined). |
Room bookings · 2 sample rows
Booking referenceRoomMeetingDateStartHoursAttendeesOrganiserCateringApproval ruleRoom setupStatusFacilities note
Rooms · 7 sample rows
RoomFloorSeatsEquipmentVideo conferencingStep-free accessBookable
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/meeting-room-booking-1.0.1.utpkg
usertasks packages inspect meeting-room-booking-1.0.1.utpkg # offline: checksum, hashes, signature
usertasks packages install meeting-room-booking-1.0.1.utpkg --dry-run
usertasks packages install meeting-room-booking-1.0.1.utpkg # prompts for each requirement
usertasks packages install meeting-room-booking-1.0.1.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete meeting-room-booking -f values.yamlVerify the download
shasum -a 256 meeting-room-booking-1.0.1.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
A themed reception form signs visitors in, looks up their host, logs the visit, emails the host and has reception confirm an NDA when needed.
Nothing to configure: works as soon as it is installed