WorkestraDocs
PlatformCalendar & Scheduling

Meeting Polls

Propose multiple time slots, let invitees vote, then finalize the winner — for meetings where finding mutual time matters more than the exact slot.

Sometimes you can't pick a time without asking. A board meeting with seven people, a design review across three time zones, a candidate debrief with the panel — the right meeting type isn't a slot picker, it's a poll.

A meeting poll is a Workestra link where the host proposes the times and invitees vote for the ones that work. Once enough votes are in, the host picks the winner and the poll converts to a real booking — emails, calendar invite, reminders, the full lifecycle.

Meeting poll vote page

Screenshot needed — /poll/<token> with a list of proposed slots and checkboxes

Use a normal booking link whenUse a meeting poll when
One invitee, you have availability rules to followMany invitees, finding overlap matters
The slot picker is faster than askingThe "right" slot depends on which invitees can make it
You're booking inbound demand at scaleYou're scheduling a specific known group

Creating a poll

Path: /calendar/pollsNew poll.

FieldWhat it does
TitlePublic-facing meeting name
DurationHow long the meeting is, in minutes
DescriptionShown above the slot list
Proposed slotsUp to 40 specific date+time entries. Pick from a date grid, set the start time. End time is start + duration.
InviteesEither a list of email addresses (up to 50) or a public token URL anyone can use. Mixing both is fine.
Voting deadlineOptional. Polls without a deadline stay open until you finalize.

Saved polls land at /poll/<token> — the public vote URL. Invitees with email addresses get an email with the URL pre-filled with their identity (so they don't need to re-type their name).

Voting

Each invitee:

  1. Opens /poll/<token>
  2. Sees the proposed slots in their local time zone
  3. Checks the slots that work and submits

That's it. No account needed. Their votes are stored in scheduling_poll_votes, scoped to the poll and the email address. Re-voting overrides previous votes — they can change their mind until the poll is finalized.

The host can see real-time vote tallies on /calendar/polls/<id> — a row per slot with a count and a hover-to-see list of who voted yes.

Finalizing

Once you're ready to commit:

  1. Click Finalize on the poll detail page
  2. Pick the winning slot from the tallies
  3. Optionally include the non-winning invitees in the booking (e.g. "everyone who voted gets the calendar invite, even if they couldn't make this slot")
  4. Confirm

Workestra:

  • Creates a scheduling_calendar_events row at the chosen slot
  • Sends a calendar invite to all included invitees (with .ics attachments)
  • Sends a "poll closed" email to invitees you excluded (so they know it's resolved)
  • Marks the poll row as finalized — the public /poll/<token> URL now shows "Closed: meeting scheduled for <date>"

The booking that results is a normal Workestra booking. Reschedule, cancel, reminders, no-show marking, workflows — all of it works the same way.

What's stored

scheduling_polls holds the poll header (title, duration, description, deadline, status). scheduling_poll_votes stores (poll_id, slot_id, voter_email, voter_name, voted_at). There's one vote row per (slot, voter) pair when an invitee votes "yes" for a slot — voting "no" or unchecking writes a deletion.

The poll's host is the workspace user who created it. RBAC respects the standard view/edit permissions.

Limits

  • 40 proposed slots per poll — the UI starts pushing back at 25. More than 40 and invitee fatigue kills response rate anyway.
  • 50 invitees per poll if you're listing them by email. Public-token polls have no invitee cap.
  • One active token per poll — re-issuing the token invalidates the old URL.
  • No vote re-opening after finalization. Once you finalize, you can't go back to voting. Cancel the resulting booking and create a new poll if you really need to.

Mid-poll changes

You can edit the description, deadline, and invitee list while the poll is open. You can't add or remove proposed slots after the first vote arrives — that would invalidate existing votes. If you need to change the slots, finalize-or-cancel the existing poll and start a new one.

  • Booking Links — what the resulting booking looks like
  • One-Off Meetings — for "one specific invitee, pick from offered slots" without voting
  • Workflows — fire reminders on the booking that resulted from a poll
  • Mutual Availability — for invitees who happen to be Workestra users in the same workspace