Create a When2Meet poll from the command line and get the link immediately.
- Poll creation
- Install and set up
- Usage
- Agent skill
- Documentation
- When2Meet request format
- Development
- Contributing
- License
- Authors
w2m creates a shareable When2Meet poll through When2Meet's regular event form.
Poll setup covers the title, selected dates or an inclusive date range,
whole-hour time boundaries, and an optional IANA time zone. Participants add
their availability on When2Meet.
w2m requires Python 3.11 or newer. Start with the official
uv installation guide.
Then clone the repository and install the command as an isolated uv tool:
git clone https://github.com/sdhutchins/when2meet-cli.git
cd when2meet-cli
uv tool install .
w2m --helpUse an editable installation while developing the project:
uv tool install --editable . --forceImportant: Running
w2m newimmediately creates a public When2Meet poll.
Create a poll with selected or nonconsecutive dates:
w2m new "Committee Meeting" \
--dates 2026-09-28,2026-09-29,2026-10-01 \
--time 9am-5pmExample output follows. Each poll receives a unique URL.
✓ Poll created
https://www.when2meet.com/?12345678-abcde
Use an inclusive range when every date between two endpoints should be in the poll:
w2m new "Committee Meeting" \
--date-range 2026-09-28 2026-10-01 \
--time 9am-5pmChoose one date option for each poll. --dates uses the listed dates, while
--date-range includes both endpoints, weekdays, and weekends.
On an interactive terminal, w2m prints a compact success message and the new
poll URL. Redirected or piped output contains the raw URL.
w2m uses the local IANA time zone by default. Override it when needed:
w2m new "Remote Meeting" \
--dates 09/28/2026,"October 1 2026" \
--time 09:00-17:00 \
--timezone America/New_YorkWhen2Meet's creation form supports whole-hour boundaries. w2m rejects
minute-level times before sending the request.
The Agent Skill teaches compatible coding agents how to create polls
with w2m, choose between selected dates and date ranges, and list weekdays
explicitly when a schedule skips weekends.
Install it into Codex from a repository checkout:
uv run --group docs great-docs skill install --agent codexBuild the documentation site locally with Great Docs:
uv run --group docs great-docs buildPreview it locally:
uv run --group docs great-docs previewThe When2Meet home page uses a regular HTML form, so poll creation can be reproduced with a direct HTTP request.
- Endpoint:
https://www.when2meet.com/SaveNewEvent.php - Method:
POSTwithapplication/x-www-form-urlencodeddata - Fields:
NewEventName,DateTypes,PossibleDates,NoEarlierThan,NoLaterThan, andTimeZone - Dates: ISO dates joined by
|, for example2026-09-28|2026-09-29|2026-10-01 - Times: Start and end hours encoded as 24-hour integers, so 9 AM to 5 PM
is sent as
9and17 - Result URL: The HTTP 200 response contains a JavaScript assignment such
as
window.location='./?12345678-abcde'; the path is resolved againsthttps://www.when2meet.com/
This request format comes from the current When2Meet form. A future site change may require an update to the fields or response parser.
Run the test suite and build the package with uv:
uv run pytest
uv build --no-sourcesSee the contribution guide for the development setup, validation commands, and pull-request process.
w2m is available under the MIT License.