@stephendolan/helpscout-cli
v2.17.0
Published
A command-line interface for Help Scout
Maintainers
Readme
Help Scout CLI
A CLI for Help Scout's Mailbox API 2.0. JSON output by default for LLM and automation workflows.
Installation
bun install -g @stephendolan/helpscout-cli
# Or run without installing
bunx @stephendolan/helpscout-cli conversations listLinux: Requires libsecret for keychain storage (apt install libsecret-1-dev), or use environment variables.
Authentication
Create an OAuth app at Help Scout > Your Profile > My Apps.
helpscout auth login --app-id YOUR_APP_ID --app-secret YOUR_APP_SECRET
helpscout auth status
helpscout auth logout
helpscout auth refresh # Refresh access tokenOr use environment variables: HELPSCOUT_APP_ID, HELPSCOUT_APP_SECRET, HELPSCOUT_MAILBOX_ID
Commands
Conversations
helpscout conversations list
helpscout conversations list --status active --mailbox 123 --tag urgent
helpscout conversations list -q 'status:open customer:[email protected]'
helpscout conversations list --summary
helpscout conversations view 456
helpscout conversations threads 456
helpscout conversations threads 456 --type customer # Filter by type
helpscout conversations threads 456 --html # HTML output
helpscout conversations threads 456 --include-notes
helpscout conversations attachments download 456 789
helpscout conversations attachments download 456 789 --output ./invoice.pdf
helpscout conversations attachments download 456 789 --output ./downloads/
helpscout conversations attachments download 456 789 --force
helpscout conversations status 456 closed
helpscout conversations reply 456 --text "Thanks for reaching out!"
helpscout conversations note 456 --text "Internal note"
helpscout conversations add-tag 456 urgent
helpscout conversations remove-tag 456 urgent
helpscout conversations delete 456Customers
helpscout customers list
helpscout customers list --first-name John
helpscout customers view 789
helpscout customers create --first-name John --last-name Doe --email [email protected]
helpscout customers update 789 --organization "Acme Corp"
helpscout customers delete 789Users
helpscout users list
helpscout users list --email [email protected]
helpscout users list --mailbox 123 --page 2
helpscout users view 456User responses include the mention handle when Help Scout returns one. Use @mention in Help Scout thread bodies to mention teammates.
Tags, Workflows, Mailboxes
helpscout tags list
helpscout tags view 123
helpscout workflows list
helpscout workflows list --type manual
helpscout workflows run 123 --conversations 456,789
helpscout workflows activate 123
helpscout workflows deactivate 123
helpscout mailboxes list
helpscout mailboxes view 123
helpscout mailboxes set-default 123
helpscout mailboxes get-default
helpscout mailboxes clear-defaultMCP Server
Run as an MCP server for AI agent integration:
helpscout mcpThe MCP server exposes:
- Typed tools for Help Scout search, full conversation detail, full conversation thread history, attachment downloads, mailbox/customer/user lookup, and safe draft-note/status mutations
get_conversationaccepts internal conversation IDs or visible ticket numbers like#12345get_conversation_threadsreturns all Help Scout thread types by default, including notes, workflow events, status events, and other system events returned by Help Scoutdownload_attachmentsaves a conversation attachment to disk, using the Help Scout filename by default and requiringforcebefore overwriting existing filesupdate_conversation_statussafely changes ticket status, withopennormalized to Help Scout'sactivestatuscreate_noteadds private notes and can optionally set the ticket status, such as closing no-action tickets- User lookup tools expose Help Scout mention handles for composing
@mentionreferences - Resource templates for
helpscout://conversation/{conversationId},helpscout://customer/{customerId}, andhelpscout://user/{userId} - Prompt templates for
summarize_ticketanddraft_reply
Read-only tools include MCP annotations so hosts can distinguish them from mutating tools, and core read/query tools return structured outputs alongside readable JSON text.
Options
| Flag | Description |
|------|-------------|
| -c, --compact | Minified JSON output |
| -p, --plain | Strip HTML from body fields |
| -f, --fields <fields> | Include only specified fields |
| --include-metadata | Include _links and _embedded |
Examples
helpscout conversations list | jq '.conversations[].subject'
helpscout conversations list --fields id,subjectErrors: {"error": {"name": "...", "detail": "...", "statusCode": 400}}
References
License
MIT
