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 68 commands in hscli v0.8.0.

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
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
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.