Skip to content
hscli

Command reference

Every command follows the same grammar:

hscli <group> <action> [target] [flags]

Run hscli <group> --help for the live, self-describing version of any command. This page lists all 89 commands in hscli v0.11.2.

shortcuts

Define shortcuts for commands you run often.

CommandDescriptionKey flags
alias listList all configured aliases
alias set <name> <command>Create or update an alias
alias unset <name>Remove an alias
credentials

Authenticate and manage credentials (stored in your OS keychain). See Authentication.

CommandDescriptionKey flags
auth loginAuthenticate with Help Scout--client-credentials --app-id --app-secret
auth logoutLog out and remove stored credentials
auth refreshForce-refresh the stored access token
auth setupConfigure your own Help Scout OAuth app--app-id --app-secret
auth statusShow current authentication status
beacon

Generate Beacon embeds and sign/verify identity payloads.

CommandDescriptionKey flags
beacon embed <beaconId>Generate the <script> embed block to add a Beacon to your website--color --position --style --text --icon-image
beacon identify-snippetGenerate server-side identify snippet with HMAC signing for node, rails, php, django, python--beacon-id --secret --stack
beacon signGenerate Beacon Secure Mode HMAC-SHA256 signature for an email--email --secret
beacon verifyVerify a Beacon Secure Mode HMAC signature (exit 0 on match, exit 1 on mismatch)--email --secret --signature
settings

Read and write per-profile configuration. See Configuration.

CommandDescriptionKey flags
config get <key>Get a config value for the active profile
config listList all config for the active profile
config set <key> <value>Set a config value for the active profile
config validateValidate CLI configuration
conversations

List, read, and act on conversations — the workhorse of hscli. See the Conversations guide.

CommandDescriptionKey flags
conv assign <id>Assign a conversation to a user--user
conv attachments <id>List attachments for a conversation
conv bulk-statusBatch change status on multiple conversations--mailbox --status --tag --set --limit --yes
conv countCount conversations--status --mailbox --tag
conv createCreate a new conversation--mailbox --customer --subject --body --type --tag --assign-to
conv delete <id>Delete a conversation--yes
conv dump <id>Dump a single conversation with threads, customers, tags, and attachment metadata--out
conv edit-note <id> <threadId>Edit a note or thread body--body
conv exportBulk export conversations--mailbox --status --since --format --tag --embed --source
conv get <id>Get a conversation by ID
conv listList conversations--mailbox --status --tag --assigned-to --query --since --limit --source
conv move <id>Move a conversation to another mailbox--to-mailbox
conv note <id>Add a note to a conversation--body
conv reply <id>Reply to a conversation--body --cc --bcc --draft
conv search <query>Search conversations--mailbox --limit
conv status <id>Change conversation status--set
conv tag <id>Update tags on a conversation--add --remove
conv threads <id>List threads of a conversation
conv watchLive tail of conversations (poll-based)--mailbox --status --poll --limit --once --max-polls
people

Search, read, create, and update the people behind your conversations. See the Customers guide.

CommandDescriptionKey flags
customer conversations <id>List conversations for a customer--limit
customer createCreate a new customer--email --first --last --company --phone --job-title
customer get <id>Get a customer by ID
customer listList customers--mailbox --first --last --since --limit
customer search <query>Search customers--limit
customer update <id>Update a customer--email --first --last --company --phone --job-title
knowledge base

Manage your Help Scout Docs knowledge base — sites, collections, categories, and articles. Uses a separate Docs API key (hscli docs auth). See the Docs guide.

CommandDescriptionKey flags
docs article createCreate a Docs article--collection --name --text --status --slug --categories --keywords
docs article delete <id>Delete a Docs article--yes
docs article delete-draft <id>Discard the draft of a Docs article (published text is kept)--yes
docs article get <id>Get a Docs article by id or number
docs article listList articles in a Docs collection or category--collection --category --status --limit
docs article save-draft <id>Save a draft for a Docs article (does not publish)--text
docs article search <query>Search Docs articles by keyword--collection --site --status --visibility --limit
docs article update <id>Update a Docs article--name --text --status --slug
docs authStore your Help Scout Docs API key in the OS keychain (separate from Mailbox auth)--api-key
docs category createCreate a Docs category within a collection--collection --name --visibility --order
docs category delete <id>Delete a Docs category--yes
docs category list <collectionId>List categories within a Docs collection--limit
docs category update <id>Update a Docs category--name --visibility --order
docs collection createCreate a Docs collection--site --name --visibility --order
docs collection delete <id>Delete a Docs collection--yes
docs collection get <id>Get a Docs collection by id or number
docs collection listList Docs collections--limit --site --visibility
docs collection update <id>Update a Docs collection--name --visibility --order --site
docs site get <id>Get a Docs site by id
docs site listList Docs sites--limit
inboxes

Inspect mailboxes, folders, and custom fields.

CommandDescriptionKey flags
mailbox fields <id>List custom fields for a mailbox
mailbox folders <id>List folders for a mailbox
mailbox get <id>Get a mailbox by ID
mailbox listList mailboxes--limit
AI agents

Run hscli as a Model Context Protocol server so AI agents can call it as native tools. Reads by default; pass --allow-writes to expose mutating tools. See the MCP guide.

CommandDescriptionKey flags
mcp serveRun hscli as a Model Context Protocol (MCP) server over stdio--allow-writes
profiles

Switch between named auth profiles.

CommandDescriptionKey flags
profile currentShow the active profile
profile listList all configured profiles
profile use <name>Switch the active profile
metrics

Volume, company, and per-user metrics as JSON, CSV, or a table. See the Reporting guide.

CommandDescriptionKey flags
report beaconAggregate conversation counts by source.type and source.via (derived from Mailbox API; useful for Beacon-origin analysis)--since --mailbox
report companyGet company report--start --end --mailbox --tag
report conversationsGet conversations report--start --end --mailbox --tag
report userGet user report--start --end --user
tags

List tags and their usage.

CommandDescriptionKey flags
tag get <id>Get a tag by ID
tag listList tags--limit
tag usage <name>Show conversation count for a tag
team

Look up team members and the authenticated user.

CommandDescriptionKey flags
user get <id>Get a user by ID
user listList users--mailbox --email --limit
user meGet the authenticated user
events

Create, list, and delete webhooks.

CommandDescriptionKey flags
webhook createCreate a webhook--url --event --secret --label
webhook delete <id>Delete a webhook--yes
webhook get <id>Get a webhook by ID
webhook listList webhooks--limit
automation

List and manually run workflows.

CommandDescriptionKey flags
workflow listList workflows--mailbox --type --limit
workflow run <id>Run a manual workflow on conversations--conv
escape hatch

Reach any Help Scout endpoint directly — locked to the Help Scout host. See the hscli api reference.

CommandDescriptionKey flags
api <method> <path>Make a raw API request--body --content-type
Terminal window
hscli api GET /v2/mailboxes --jq '.[] | .name'
hscli api POST /v2/conversations/4831/tags --body '{"tags":["vip"]}'
archive

Dump your whole account to JSON with incremental refresh, resume, deletion detection, and attachments. See the Backups guide.

CommandDescriptionKey flags
backupFull account backup with incremental refresh, resume, deletion detection, attachment downloads, and optional compression--out --full --resume --reconcile --keep-history --since --include --exclude --attachments --compress --parallel --dry-run
diagnostics

Diagnose your environment, auth, and connectivity.

CommandDescriptionKey flags
doctorRun diagnostic checks on the CLI environment
command
CommandDescriptionKey flags
versionShow CLI version and environment info

These work on every command.

FlagDescriptionDefault
--outputOutput format (table · json · yaml · csv).table
--jqApply a jq expression to JSON output.
--fieldsProject a comma-separated subset of fields.all
--profileUse a named auth profile.default
--no-colorDisable ANSI colors.false
--verboseVerbose logging to stderr.false
--no-retryDisable automatic retry on rate limits.false
--timeoutPer-request timeout in ms.

See Output & filtering for details.

Deterministic, so scripts and agents can branch on the result.

CodeMeaning
0success
1Usage / generic error
65Validation error (HTTP 422)
69Help Scout API unavailable (5xx)
70Unexpected internal error
75Rate limited — retry with backoff
77Not authenticated / forbidden (401, 403)
78Configuration error

Full guide: Exit codes.