| name | strawpoll-cli |
| description | Create and manage StrawPoll polls, meeting polls, and ranking polls from the terminal using the strawpoll CLI. Use when the user wants to create polls, view poll results, schedule meetings with availability, run ranked-choice votes, delete or update polls, or automate StrawPoll workflows in scripts.
|
| license | MIT |
| homepage | https://github.com/dedene/strawpoll-cli |
| metadata | {"author":"dedene","version":"1.1.0","openclaw":{"primaryEnv":"STRAWPOLL_API_KEY","requires":{"env":["STRAWPOLL_API_KEY","STRAWPOLL_KEYRING_BACKEND"],"bins":["strawpoll"]},"install":[{"kind":"brew","tap":"dedene/tap","formula":"strawpoll","bins":["strawpoll"]},{"kind":"go","package":"github.com/dedene/strawpoll-cli/cmd/strawpoll","bins":["strawpoll"]}]}} |
strawpoll-cli
Command-line interface for the StrawPoll API v3. Supports three poll types: multiple-choice, meeting (availability), and ranking.
Installation
brew install dedene/tap/strawpoll
go install github.com/dedene/strawpoll-cli/cmd/strawpoll@latest
Authentication
An API key is required. Get one at strawpoll.com/account/settings.
strawpoll auth set-key
export STRAWPOLL_API_KEY="your-key-here"
strawpoll auth status
Quick Start
strawpoll poll create "Favorite language?" Go Rust Python TypeScript
strawpoll poll get NPgxkzPqrn2
strawpoll poll get https://strawpoll.com/NPgxkzPqrn2
strawpoll poll results NPgxkzPqrn2
strawpoll poll delete NPgxkzPqrn2
Poll Types
Multiple-Choice Polls
strawpoll poll create "Best editor?" Vim Emacs "VS Code" Neovim
strawpoll poll create "Pick up to 3" A B C D E \
--is-multiple-choice --multiple-choice-max 3 \
--dupcheck session --deadline 24h
strawpoll poll create "Team vote" Opt1 Opt2 --is-private --copy
strawpoll poll create "Quick poll" Yes No --open
strawpoll poll list --limit 10
strawpoll poll update NPgxkzPqrn2 --title "New title" --add-option "New option"
strawpoll poll reset NPgxkzPqrn2
Meeting Polls (Availability)
strawpoll meeting create "Team standup" \
-d 2025-03-10 -d 2025-03-11 -d 2025-03-12
strawpoll meeting create "1:1 meeting" \
-r "2025-03-10 09:00-10:00" \
-r "2025-03-10 14:00-15:00" \
--tz "America/New_York" --location "Room 4B"
strawpoll meeting create "Sprint planning"
strawpoll meeting results xYz123abc
strawpoll meeting list
Ranking Polls
strawpoll ranking create "Rank these frameworks" React Vue Svelte Angular Solid
strawpoll ranking results rAnK456
strawpoll ranking results rAnK456 --verbose
strawpoll ranking list
Output Formats
All commands support three output modes:
strawpoll poll results NPgxkzPqrn2
strawpoll poll results NPgxkzPqrn2 --json
strawpoll poll results NPgxkzPqrn2 --plain
strawpoll poll results NPgxkzPqrn2 --no-color
Scripting Examples
POLL_ID=$(strawpoll poll create "Vote" A B --json | jq -r '.id')
strawpoll poll results "$POLL_ID" --plain | cut -f1,3
strawpoll poll delete "$POLL_ID" --force
strawpoll poll results "$POLL_ID" --participants --json
Configuration Defaults
Save preferred settings to avoid repetitive flags:
strawpoll config set dupcheck session
strawpoll config set results_visibility after_vote
strawpoll config set is_private true
strawpoll config show
strawpoll config path
Config stored at ~/.config/strawpoll/config.yaml.
Interactive Mode
Create commands launch an interactive wizard when run in a terminal without arguments:
strawpoll poll create
strawpoll meeting create "Team sync"
Wizards render on stderr; data output goes to stdout. In non-TTY (pipes), provide all arguments via flags.
Important Notes
- Poll options: minimum 2, maximum 30
- Poll IDs: accepts bare IDs or full URLs (with/without
https://, www., /polls/)
- Deadlines: RFC3339 (
2025-03-15T18:00:00Z) or duration (24h, 1h30m)
- Meeting dates:
YYYY-MM-DD for all-day, YYYY-MM-DD HH:MM-HH:MM for time ranges
- Timezones: IANA format (e.g.,
Europe/Berlin, America/New_York)
- No voting endpoint — voting is browser-only via the poll URL
Shell Completions
strawpoll completion bash > /etc/bash_completion.d/strawpoll
strawpoll completion zsh > "${fpath[1]}/_strawpoll"
strawpoll completion fish > ~/.config/fish/completions/strawpoll.fish
See reference.md for complete flag reference for all commands.
Installation
brew install dedene/tap/strawpoll