---
name: when2meet-cli
description: >
  Create empty When2Meet scheduling polls with the local w2m command. Use when
  a user wants a shareable When2Meet URL from a title, dates, hours, and time
  zone without entering participant availability.
compatibility: Requires Python 3.11 or later and network access to when2meet.com.
---

# When2Meet CLI

Use `w2m` to create an empty When2Meet poll and return its public URL.

## Install

From a repository checkout:

```bash
uv tool install .
```

## Choose the date input

| Need | Use |
|---|---|
| Selected or nonconsecutive dates | `--dates DATE,DATE,...` |
| Every date in an inclusive range | `--date-range START END` |
| Weekdays only | An explicit `--dates` list without weekend dates |

Do not pass `--dates` and `--date-range` together.

## Create a poll

```bash
w2m new "Committee Meeting" \
  --dates 2026-09-28,2026-09-29,2026-10-01 \
  --time 9am-5pm \
  --timezone America/Chicago
```

An inclusive range uses two separate values:

```bash
w2m new "Project Planning" \
  --date-range 2026-09-28 2026-10-01 \
  --time 09:00-17:00
```

## Required behavior

1. Confirm or infer the exact calendar dates before creating a poll.
2. Use an IANA time-zone name such as `America/Chicago`, not `CST` or `EST`.
3. Remember that `--date-range` includes weekends and both endpoints.
4. Use only whole-hour boundaries because the upstream creation form does not
   accept minute-level start or end values.
5. Return the final When2Meet URL clearly.

## Boundaries

- Creating a poll changes external state and cannot be treated as a dry run.
- Do not enter or modify participant availability.
- Do not create accounts, calendar integrations, servers, or databases.
- The client depends on an undocumented When2Meet form and response structure.
  Report a clear failure if that upstream structure changes.
