Twist Toolkit Skill
This skill provides a comprehensive set of commands to interact with the Twist API v3. It supports a default workspace ID to simplify common tasks and ensures secure local credential management.
Requirements
No additional installation is required. Node.js is needed to run the core script.
Onboarding (First-time use)
- Login:
node scripts/twist_api.js login(Opens browser) - Auth:
node scripts/twist_api.js auth <code> - Set Default Workspace:
node scripts/twist_api.js set_workspace <id>
Available Commands
1. User & Workspace Management
- Workspaces:
node scripts/twist_api.js workspaces - Users:
node scripts/twist_api.js users [workspace_id] - Set Default Workspace:
node scripts/twist_api.js set_workspace <workspace_id> - Add User:
node scripts/twist_api.js add_workspace_user [workspace_id] <email> - Search User by Email:
node scripts/twist_api.js get_user_by_email <email> - Get User Info:
node scripts/twist_api.js get_user_info [workspace_id] <user_id> - Update Profile:
node scripts/twist_api.js update_user <new_name>
2. Channel Management
- List Channels:
node scripts/twist_api.js channels [workspace_id] - Add Channel:
node scripts/twist_api.js add_channel [workspace_id] "Name" - Update Channel:
node scripts/twist_api.js update_channel <channel_id> "New Name" - Favorite:
node scripts/twist_api.js favorite_channel <channel_id> - Archive/Unarchive:
node scripts/twist_api.js archive_channel <channel_id>/unarchive_channel - Remove:
node scripts/twist_api.js remove_channel <channel_id> - Add User:
node scripts/twist_api.js add_user_to_channel <channel_id> <user_id> - Remove User:
node scripts/twist_api.js remove_user_from_channel <channel_id> <user_id>
3. Thread & Comment Operations
- List Threads:
node scripts/twist_api.js threads <channel_id> - Unread Threads:
node scripts/twist_api.js unread_threads [workspace_id] - Create Thread:
node scripts/twist_api.js add_thread <channel_id> "Title" "Content" - Star/Unstar:
node scripts/twist_api.js star_thread <thread_id>/unstar_thread - Close/Reopen:
node scripts/twist_api.js close_thread <thread_id>/reopen_thread - Read Comments:
node scripts/twist_api.js comments <thread_id> - Post Reply:
node scripts/twist_api.js reply <thread_id> "Message" - Add Reaction:
node scripts/twist_api.js add_reaction <comment_id> "👍"
4. Inbox Management (Archiving/Completing)
- Get Inbox:
node scripts/twist_api.js inbox [workspace_id] - Inbox Count:
node scripts/twist_api.js get_inbox_count [workspace_id] - Complete/Archive:
node scripts/twist_api.js complete_thread <thread_id>(Alias for archive) - Unarchive:
node scripts/twist_api.js unarchive_inbox_thread <thread_id> - Archive All:
node scripts/twist_api.js archive_all_inbox [workspace_id] - Mark All Read:
node scripts/twist_api.js mark_all_inbox_read [workspace_id]
5. Direct Messages (Conversations)
- List DMs:
node scripts/twist_api.js conversations [workspace_id] - Get/Create DM:
node scripts/twist_api.js get_or_create_conversation [workspace_id] "[user_id1,user_id2]" - History:
node scripts/twist_api.js messages <conv_id> - Add Message:
node scripts/twist_api.js add_message <conv_id> "Content" - Archive/Mute:
node scripts/twist_api.js archive_conversation <conv_id>/mute_conversation <conv_id> [minutes]
6. Search & Attachments
- Search Workspace:
node scripts/twist_api.js search [workspace_id] "Query" - Search In Thread:
node scripts/twist_api.js search_in_thread <thread_id> "Query" - Notification Settings:
node scripts/twist_api.js notification_settings [workspace_id] - Upload File:
node scripts/twist_api.js upload_attachment <attachment_id> <file_path>
7. Cache Management
- Update Cache:
node scripts/twist_api.js update_cache [workspace_id] - Show Cache:
node scripts/twist_api.js show_cache [type](type: channels, conversations, users, metadata) - Clear Cache:
node scripts/twist_api.js clear_cache
Tip: Default Workspace
For commands marked with [workspace_id], the parameter is optional if you have set a default via set_workspace.
Tip: キャッシュの活用によるID指定の省略
Twistのチャンネル名やグループDM名を使って直接投稿等のアクションを行うことができます。
コマンドの引数にIDの代わりに名前(例: "動作テスト", "General")を渡してください。
もし名前で指定してエラーになった場合(キャッシュに存在しない場合)は、node scripts/twist_api.js update_cache コマンドを実行してキャッシュを最新化してから、再度実行してください。