Summary
Twist triage without opening Twist.
The inbox pass — read what came in, archive what is finished, star what matters, post the answer — happens in one place, a call at a time.
What it is
A Python server for a Twist workspace. Its tools split cleanly in two: the inbox, for reading and clearing what has arrived, and threads, for creating, updating and organizing the conversations themselves.
What you get
- twist_inbox_get reads the inbox; twist_inbox_get_count reports how much is sitting in it
- twist_inbox_archive, twist_inbox_unarchive and twist_inbox_archive_all clear it, one thread at a time or everything after a timestamp
- twist_inbox_mark_all_read and twist_threads_mark_all_read settle unread state in a single call
- twist_threads_add, twist_threads_update and twist_threads_remove create and maintain threads
- twist_threads_get, twist_threads_getone and twist_threads_get_unread read a channel, a single thread, or just what is unread
- twist_threads_star, twist_threads_pin, twist_threads_mute and their reverses organize a channel
- twist_threads_move_to_channel relocates a thread; twist_threads_mark_read, twist_threads_mark_unread and twist_threads_mark_unread_for_others set read state, including for other people
Requirements
Python 3.10 or later and the uv package manager. Needs a Twist API token — the OAuth 2 test token from the Twist App console, which carries full scope for the logged-in user — plus your workspace ID.
