| name | hey |
| description | Interact with HEY email via the HEY CLI. Read and send emails, manage boxes,
calendars, todos, habits, time tracking, and journal entries. Use for ANY
HEY-related question or action.
|
| triggers | ["hey","/hey","hey boxes","hey box","hey threads","hey reply","hey compose","hey drafts","hey calendars","hey recordings","hey todo","hey seen","hey unseen","mark as read","mark as seen","mark as unseen","mark as unread","hey habit","hey timetrack","hey journal","hey auth","check my email","read email","send email","reply to email","compose email","list mailboxes","check calendar","add todo","complete todo","track time","write journal","can I hey","how do I hey","what's in hey","what hey","does hey","my emails","my inbox","my imbox","my todos","my calendar","my journal","hey.com"] |
| invocable | true |
| argument-hint | [command] [args...] |
/hey - HEY Email Workflow Command
CLI for HEY email: mailboxes, email threads, replies, compose, calendars, todos, habits, time tracking, and journal entries.
Agent Invariants
MUST follow these rules:
- Always use
--json for structured, predictable output
- Authentication required for all data commands โ run
hey auth login first
- HTML output is available via
--html for commands that return HTML content
Quick Reference
| Task | Command |
|---|
| List mailboxes | hey boxes --json |
| List emails in a box | hey box imbox --json |
| Read email thread | hey threads <topic_id> --json |
| Reply to email | hey reply <topic_id> -m "Thanks!" |
| Compose email | hey compose --to user@example.com --subject "Hello" |
| Compose with CC/BCC | hey compose --to alice@example.com --cc bob@example.com --bcc carol@example.org --subject "Hello" |
| List drafts | hey drafts --json |
| List calendars | hey calendars --json |
| List calendar events | hey recordings 123 --json |
| List todos | hey todo list --json |
| Add todo | hey todo add "Buy milk" |
| Complete todo | hey todo complete 123 |
| Uncomplete todo | hey todo uncomplete 123 |
| Delete todo | hey todo delete 123 |
| Mark as seen | hey seen 12345 |
| Mark as unseen | hey unseen 12345 |
| Complete habit | hey habit complete 123 |
| Uncomplete habit | hey habit uncomplete 123 |
| Start time tracking | hey timetrack start |
| Stop time tracking | hey timetrack stop |
| Current timer | hey timetrack current --json |
| List time entries | hey timetrack list --json |
| List journal entries | hey journal list --json |
| Read journal entry | hey journal read 2024-03-15 --json |
| Write journal entry | hey journal write "Today was great" |
| Check auth status | hey auth status |
| Print access token | hey auth token |
| Launch TUI | hey |
Decision Trees
Reading Email
Want to read email?
โโโ Which mailbox? โ hey boxes --json
โโโ List emails in box? โ hey box <name|id> --json
โโโ Read full thread? โ hey threads <topic_id> --json
โโโ Mark as seen? โ hey seen <posting-id>
โโโ Mark as unseen? โ hey unseen <posting-id>
โโโ Launch interactive UI? โ hey (no args, launches TUI)
Sending Email
Want to send email?
โโโ Reply to thread? โ hey reply <topic_id> -m "message"
โ โโโ Open editor? โ hey reply <topic_id> (omit -m to open $EDITOR)
โโโ Compose new? โ hey compose --to <email> --subject "Subject"
โ โโโ With body? โ hey compose --to <email> --subject "Subject" -m "Body"
โ โโโ With CC? โ add --cc <email>
โ โโโ With BCC? โ add --bcc <email>
โโโ Check drafts? โ hey drafts --json
Managing Todos
Want to manage todos?
โโโ List todos? โ hey todo list --json
โโโ Add todo? โ hey todo add "Task description"
โโโ Complete? โ hey todo complete <id>
โโโ Uncomplete? โ hey todo uncomplete <id>
โโโ Delete? โ hey todo delete <id>
Resource Reference
Email - Boxes
hey boxes --json
hey box imbox --json
hey box 123 --json
Box names: imbox, feedbox, trailbox, asidebox, laterbox, bubblebox
Response format: hey box returns {"box": {...}, "postings": [...]}. Each posting has: id (posting ID), topic_id (topic ID), name (subject), seen (read status), created_at, contacts, summary, app_url. Use topic_id for hey threads and hey reply.
Email - Threads
hey threads <topic_id> --json
hey threads <topic_id> --html
ID note: hey box returns postings with an id (posting ID) and a topic_id (topic ID). hey threads and hey reply expect the topic ID โ use topic_id directly. The app_url field also contains the topic ID as a fallback (e.g. https://app.hey.com/topics/123 โ 123).
Email - Reply & Compose
hey reply <topic_id> -m "Thanks!"
hey reply <topic_id>
hey compose --to user@example.com --subject "Hello"
hey compose --to user@example.com --subject "Hi" -m "Body"
hey compose --to alice@example.com --cc bob@example.com --bcc carol@example.org --subject "Project update" -m "Body"
hey compose --subject "Update" --thread-id 12345 -m "msg"
Email - Seen/Unseen
hey seen 12345
hey seen 12345 67890
hey unseen 12345
hey unseen 12345 67890
Takes posting IDs (the id field from hey box output).
Drafts
hey drafts --json
Calendars
hey calendars --json
hey recordings 123 --json
Response format: hey recordings returns recordings grouped by type (e.g. {"Calendar::Event": [...], "Calendar::Habit": [...], "Calendar::Todo": [...]}). Each recording has: id, title, starts_at, ends_at, all_day, recurring, starts_at_time_zone. Access by type key in jq, e.g. .["Calendar::Event"].
Todos
hey todo list --json
hey todo add "Task description"
hey todo complete 123
hey todo uncomplete 123
hey todo delete 123
Habits
hey habit complete 123
hey habit complete 123 --date 2024-01-15
hey habit uncomplete 123
Habit IDs can be found via hey recordings <calendar-id> --json.
Time Tracking
hey timetrack start
hey timetrack stop
hey timetrack current --json
hey timetrack list --json
Journal
hey journal list --json
hey journal read 2024-03-15 --json
hey journal write "Today's entry"
hey journal write
Authentication
hey auth login
hey auth status
hey auth logout
If a command fails with an auth error, run hey auth status to check, then hey auth login to re-authenticate.