# Help Scout on boxd

> Help Scout provides customer support software with shared inbox, knowledge base, and customer management tools.

- Page: https://boxd.sh/integrations/help-scout/
- CLI: `run help-scout` (129 commands, 18 marked common)
- SDK: `import { helpScout } from "@boxd/run"`; every parameter and response type is at `@boxd/run/help-scout`
- Triggers: none
- Connect: `run auth help-scout` (Sign in with Help Scout), or https://app.boxd.sh/integrations/detail/help_scout
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth help-scout      # once: prints a link to connect your account
run help-scout           # list its commands
run help-scout list-users
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, helpScout } from "@boxd/run";

every("1 hour", async () => {
  const result = await helpScout.listUsers({});
  console.log(result);
});
```

Run it with `run help-scout.run.ts`. Help Scout has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run help-scout <command> --help` lists the optional ones. "common" marks what `run help-scout` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `create-chat-handle` | `helpScout.createChatHandle()` | `--customerId` `--type` `--value` | 0 | Create a chat handle for a Help Scout customer |
| `create-chat-thread` | `helpScout.createChatThread()` | `--conversationId` `--customer` `--text` | 3 | Create a new chat thread on a Help Scout conversation |
| `create-conversation` ·common | `helpScout.createConversation()` | `--customer` `--mailboxId` `--subject` `--threads` `--type` | 8 | Create a new conversation in Help Scout |
| `create-customer` ·common | `helpScout.createCustomer()` | — | 14 | Create a new customer in Help Scout with contact details and profile information |
| `create-customer-address` | `helpScout.createCustomerAddress()` | `--city` `--country` `--customer-id` `--postal-code` `--state` | 1 | Create an address for a Help Scout customer |
| `create-customer-email` | `helpScout.createCustomerEmail()` | `--customer-id` `--type` `--value` | 0 | Create an email for a customer in Help Scout |
| `create-customer-phone` | `helpScout.createCustomerPhone()` | `--customer-id` `--type` `--value` | 0 | Create a phone number for a Help Scout customer |
| `create-customer-property` | `helpScout.createCustomerProperty()` | `--name` `--slug` `--type` | 1 | Create a customer property definition in Help Scout |
| `create-customer-thread` | `helpScout.createCustomerThread()` | `--conversationId` `--customer` `--text` | 5 | Create a new customer thread on a Help Scout conversation |
| `create-customer-website` | `helpScout.createCustomerWebsite()` | `--customer-id` `--value` | 0 | Create a website entry for a customer in Help Scout |
| `create-note` | `helpScout.createNote()` | `--conversationId` `--text` | 5 | Create a new note thread on a Help Scout conversation |
| `create-organization` ·common | `helpScout.createOrganization()` | `--name` | 7 | Create a new organization in Help Scout |
| `create-organization-property` | `helpScout.createOrganizationProperty()` | `--name` `--slug` `--type` | 1 | Create a new custom property definition for organizations in Help Scout |
| `create-phone-thread` | `helpScout.createPhoneThread()` | `--conversationId` `--customer` `--text` | 3 | Create a new phone thread on a Help Scout conversation |
| `create-reply-thread` | `helpScout.createReplyThread()` | `--conversation-id` `--customer` `--text` `--user` | 8 | Create a new reply thread on a Help Scout conversation |
| `create-saved-reply` | `helpScout.createSavedReply()` | `--mailboxId` `--name` | 2 | Create a saved reply for a mailbox in Help Scout |
| `create-social-profile` | `helpScout.createSocialProfile()` | `--customerId` `--type` `--value` | 0 | Create a social profile for a customer in Help Scout |
| `create-webhook` ·common | `helpScout.createWebhook()` | `--events` `--secret` `--url` | 5 | Create a new webhook subscription in Help Scout to receive real-time event notifications |
| `delete-chat-handle` | `helpScout.deleteChatHandle()` | `--chat-id` `--customer-id` | 0 | Delete a chat handle for a customer |
| `delete-conversation` | `helpScout.deleteConversation()` | `--conversation-id` | 0 | Move a conversation to the deleted folder |
| `delete-customer` | `helpScout.deleteCustomer()` | `--customer-id` | 0 | Permanently delete a customer by ID from Help Scout |
| `delete-customer-address` | `helpScout.deleteCustomerAddress()` | `--customer-id` | 0 | Delete a customer's address from Help Scout |
| `delete-customer-email` | `helpScout.deleteCustomerEmail()` | `--customer-id` `--email-id` | 0 | Delete an email for a customer |
| `delete-customer-phone` | `helpScout.deleteCustomerPhone()` | `--customer-id` `--phone-id` | 0 | Delete a customer's phone number from Help Scout |
| `delete-customer-property` | `helpScout.deleteCustomerProperty()` | `--slug` | 0 | Perform a soft delete on a customer property definition |
| `delete-customer-website` | `helpScout.deleteCustomerWebsite()` | `--customer-id` `--website-id` | 0 | Delete a website for a customer |
| `delete-organization` | `helpScout.deleteOrganization()` | `--organization-id` | 0 | Delete an organization by ID |
| `delete-organization-property-customer-tier` | `helpScout.deleteOrganizationPropertyCustomerTier()` | `--slug` | 0 | Delete a customer tier property definition from organizations |
| `delete-saved-reply` | `helpScout.deleteSavedReply()` | `--mailboxId` `--savedReplyId` | 0 | Delete a saved reply from a mailbox |
| `delete-snooze` | `helpScout.deleteSnooze()` | `--conversation-id` | 0 | Delete a snooze on a conversation |
| `delete-social-profile` | `helpScout.deleteSocialProfile()` | `--customerId` `--socialProfileId` | 0 | Delete a social profile for a customer in Help Scout |
| `delete-thread-schedule` | `helpScout.deleteThreadSchedule()` | `--conversation-id` `--thread-id` | 0 | Unschedule a scheduled thread in a conversation |
| `delete-webhook` | `helpScout.deleteWebhook()` | `--webhook-id` | 0 | Permanently delete a webhook subscription from Help Scout |
| `download-attachment` | `helpScout.downloadAttachment()` | `--attachment-id` `--conversation-id` | 0 | Download an attachment file from a Help Scout conversation |
| `get-attachment-data` | `helpScout.getAttachmentData()` | `--attachment-id` `--conversation-id` | 0 | Retrieve attachment data for a specific attachment |
| `get-busy-times-report` | `helpScout.getBusyTimesReport()` | `--end` `--start` | 6 | Get busiest time of day report showing conversation volume by day and hour |
| `get-chat-report` | `helpScout.getChatReport()` | `--end` `--start` | 6 | Retrieve comprehensive chat report statistics from Help Scout |
| `get-company-customers-helped-report` | `helpScout.getCompanyCustomersHelpedReport()` | `--end` `--start` | 7 | Retrieve company customers helped report showing distinct customer count receiving support |
| `get-company-drilldown-report` | `helpScout.getCompanyDrilldownReport()` | `--end` `--range` `--start` | 7 | Retrieve company drilldown report showing underlying conversation data for company statistics |
| `get-company-report` | `helpScout.getCompanyReport()` | `--end` `--start` | 6 | Retrieve overall company performance report from Help Scout |
| `get-conversation` ·common | `helpScout.getConversation()` | `--conversation-id` | 1 | Retrieve a specific conversation by ID from Help Scout |
| `get-conversations-drilldown` | `helpScout.getConversationsDrilldown()` | `--end` `--start` | 6 | Get conversations drilldown report from Help Scout |
| `get-conversations-field-drilldown` | `helpScout.getConversationsFieldDrilldown()` | `--end` `--field` `--fieldid` `--start` | 6 | Get conversations drilldown by field report from Help Scout |
| `get-conversations-report` | `helpScout.getConversationsReport()` | `--end` `--start` | 7 | Get overall conversations report with statistics on conversation volume, channels, and trends |
| `get-customer` ·common | `helpScout.getCustomer()` | `--customer-id` | 0 | Get a specific customer by ID from Help Scout |
| `get-customer-address` | `helpScout.getCustomerAddress()` | `--customer-id` | 0 | Retrieve a customer's address from Help Scout |
| `get-docs-report` | `helpScout.getDocsReport()` | `--end` `--start` | 3 | Retrieve overall docs performance report from Help Scout |
| `get-email-report` | `helpScout.getEmailReport()` | `--end` `--start` | 6 | Retrieve email report with volume, resolution, and response metrics from Help Scout |
| `get-first-response-time-report` | `helpScout.getFirstResponseTimeReport()` | `--end` `--start` | 8 | Retrieve first response time productivity report showing average response duration |
| `get-happiness-ratings-report` | `helpScout.getHappinessRatingsReport()` | `--end` `--start` | 10 | Retrieve happiness ratings report with customer satisfaction scores and feedback from Help Scout |
| `get-happiness-report` | `helpScout.getHappinessReport()` | — | 8 | Retrieve overall happiness report from Help Scout |
| `get-inbox` ·common | `helpScout.getInbox()` | `--mailbox-id` | 0 | Retrieve a specific inbox by ID with details including name, email, and timestamps |
| `get-new-conversations-drilldown` | `helpScout.getNewConversationsDrilldown()` | `--end` `--start` | 6 | Get new conversations drilldown report showing underlying conversation data for new conversations created within a time period |
| `get-new-conversations-report` | `helpScout.getNewConversationsReport()` | `--end` `--start` | 7 | Get new conversations report showing conversation counts over time intervals |
| `get-organization` ·common | `helpScout.getOrganization()` | `--organization-id` | 2 | Retrieve a specific organization by ID from Help Scout |
| `get-organization-conversations` | `helpScout.getOrganizationConversations()` | `--organizationId` | 1 | Get conversations associated with an organization in Help Scout |
| `get-organization-customers` | `helpScout.getOrganizationCustomers()` | `--organization-id` | 1 | Get customers associated with an organization in Help Scout |
| `get-organization-property` | `helpScout.getOrganizationProperty()` | `--slug` | 0 | Retrieve a single organization property definition by its slug identifier |
| `get-phone-report` | `helpScout.getPhoneReport()` | `--end` `--start` | 6 | Retrieve phone report statistics from Help Scout |
| `get-productivity-report` | `helpScout.getProductivityReport()` | `--end` `--start` | 7 | Retrieve productivity overall report showing comprehensive team performance metrics |
| `get-received-messages-report` | `helpScout.getReceivedMessagesReport()` | `--end` `--start` | 7 | Retrieve received messages statistics report from Help Scout |
| `get-replies-sent-report` | `helpScout.getRepliesSentReport()` | `--end` `--start` | 8 | Get replies sent productivity report showing reply volume metrics over time |
| `get-resolution-time-report` | `helpScout.getResolutionTimeReport()` | `--end` `--start` | 8 | Retrieve resolution time productivity report showing average time to resolve conversations |
| `get-resolved-report` | `helpScout.getResolvedReport()` | `--end` `--start` | 8 | Retrieve productivity resolved report from Help Scout |
| `get-resource-owner` ·common | `helpScout.getResourceOwner()` | — | 0 | Get the authenticated user's profile information |
| `get-routing-config` | `helpScout.getRoutingConfig()` | `--mailbox-id` | 0 | Retrieve routing configuration for a mailbox inbox |
| `get-saved-reply` | `helpScout.getSavedReply()` | `--mailbox-id` `--saved-reply-id` | 0 | Retrieve a specific saved reply from a mailbox |
| `get-tag` | `helpScout.getTag()` | `--tag-id` | 0 | Retrieve a specific tag by ID from Help Scout |
| `get-user` ·common | `helpScout.getUser()` | `--user-id` | 0 | Retrieve a specific user by ID from Help Scout |
| `get-user-chat-report` | `helpScout.getUserChatReport()` | `--end` `--start` `--user` | 5 | Retrieve user/team chat report statistics from Help Scout |
| `get-user-conversation-history` | `helpScout.getUserConversationHistory()` | `--end` `--start` `--user` | 11 | Retrieve detailed conversation history for a specific user over a designated timeframe |
| `get-user-customers-helped-report` | `helpScout.getUserCustomersHelpedReport()` | `--end` `--start` `--user` | 7 | Retrieve user customers helped report showing distinct customer count receiving support from a specific user |
| `get-user-drilldown` | `helpScout.getUserDrilldown()` | `--end` `--start` `--user` | 6 | Get user drilldown report from Help Scout |
| `get-user-happiness-report` | `helpScout.getUserHappinessReport()` | `--end` `--start` `--user` | 6 | Retrieve user happiness report from Help Scout |
| `get-user-ratings-report` | `helpScout.getUserRatingsReport()` | `--end` `--start` `--user` | 10 | Retrieve user happiness ratings drilldown report showing customer satisfaction ratings for a specific user |
| `get-user-replies-report` | `helpScout.getUserRepliesReport()` | `--end` `--start` `--user` | 7 | Retrieve user replies report showing the number of replies sent by a specific user over time |
| `get-user-report` | `helpScout.getUserReport()` | `--end` `--start` `--user` | 7 | Retrieve overall user/team performance report from Help Scout |
| `get-user-resolutions-report` | `helpScout.getUserResolutionsReport()` | `--end` `--start` `--user` | 7 | Retrieve user resolutions report showing the number of conversations resolved by a specific user over time |
| `get-user-status` | `helpScout.getUserStatus()` | `--user-id` | 0 | Get the status of a user in Help Scout |
| `get-volume-by-channel-report` | `helpScout.getVolumeByChannelReport()` | `--end` `--start` | 7 | Retrieve conversation volume by channel (email, chat, phone) over a specified time period |
| `get-webhook` | `helpScout.getWebhook()` | `--webhook-id` | 0 | Retrieve a specific webhook by ID from Help Scout |
| `list-chat-handles` | `helpScout.listChatHandles()` | `--customer-id` | 0 | List all chat handles for a specific customer in Help Scout |
| `list-conversations` ·common | `helpScout.listConversations()` | — | 10 | List and filter conversations from Help Scout |
| `list-customer-emails` | `helpScout.listCustomerEmails()` | `--customer-id` | 0 | List all emails for a specific customer in Help Scout |
| `list-customer-phones` | `helpScout.listCustomerPhones()` | `--customer-id` | 0 | List all phone numbers for a specific Help Scout customer |
| `list-customer-properties` | `helpScout.listCustomerProperties()` | — | 0 | List all customer property definitions |
| `list-customer-websites` | `helpScout.listCustomerWebsites()` | `--customer-id` | 0 | List all websites associated with a specific customer in Help Scout |
| `list-customers` ·common | `helpScout.listCustomers()` | — | 5 | List customers in Help Scout with optional filters for name, email, or modification date |
| `list-inbox-custom-fields` | `helpScout.listInboxCustomFields()` | `--mailbox-id` | 0 | List all custom fields configured for a specific inbox |
| `list-inbox-folders` | `helpScout.listInboxFolders()` | `--mailbox-id` | 1 | Retrieve all folders within a specific inbox/mailbox |
| `list-inboxes` ·common | `helpScout.listInboxes()` | — | 1 | List all mailboxes (inboxes) the user has access to with pagination support |
| `list-organizations` ·common | `helpScout.listOrganizations()` | — | 4 | List all organizations (companies) in Help Scout with optional filtering and sorting |
| `list-organizations-properties` | `helpScout.listOrganizationsProperties()` | — | 0 | List all organization property definitions |
| `list-saved-replies` | `helpScout.listSavedReplies()` | `--mailbox-id` | 1 | List saved replies for a mailbox |
| `list-social-profiles` | `helpScout.listSocialProfiles()` | `--customerId` | 0 | List all social profiles for a customer in Help Scout |
| `list-tags` | `helpScout.listTags()` | — | 1 | List all tags in Help Scout with pagination support |
| `list-teams` | `helpScout.listTeams()` | — | 1 | List all teams in Help Scout with pagination support |
| `list-threads` | `helpScout.listThreads()` | `--conversation-id` | 1 | List all threads for a specific Help Scout conversation |
| `list-users` ·common | `helpScout.listUsers()` | — | 3 | List all users in the Help Scout account with optional filters for mailbox or email |
| `list-users-status` | `helpScout.listUsersStatus()` | — | 1 | List the status of all users including email and chat availability |
| `list-webhooks` | `helpScout.listWebhooks()` | — | 0 | Retrieve all webhooks configured in Help Scout |
| `list-workflows` | `helpScout.listWorkflows()` | — | 4 | List all workflows (automation rules) in the account with optional filters for mailbox, type, and status |
| `overwrite-customer` | `helpScout.overwriteCustomer()` | `--customerId` | 12 | Overwrite an existing customer in Help Scout, replacing all customer data |
| `publish-thread-schedule` | `helpScout.publishThreadSchedule()` | `--conversation-id` `--thread-id` | 0 | Publish a scheduled thread immediately in a Help Scout conversation |
| `remove-organization-property-value` | `helpScout.removeOrganizationPropertyValue()` | `--organization-id` `--slug` | 0 | Remove an organization property value |
| `run-manual-workflow` | `helpScout.runManualWorkflow()` | `--conversationIds` `--workflowId` | 0 | Run a manual workflow on one or more conversations in Help Scout |
| `set-organization-property-value` | `helpScout.setOrganizationPropertyValue()` | `--organization-id` `--slug` `--value` | 0 | Set or update a property value for a specific organization |
| `set-user-status` | `helpScout.setUserStatus()` | `--status` `--user-id` | 0 | Set the status of a user in Help Scout |
| `update-chat-handle` | `helpScout.updateChatHandle()` | `--chatHandleId` `--customerId` `--type` `--value` | 0 | Update a chat handle for a Help Scout customer |
| `update-conversation` ·common | `helpScout.updateConversation()` | `--conversation-id` `--op` `--path` | 1 | Update specific properties of a Help Scout conversation using JSON Patch format |
| `update-conversation-tags` | `helpScout.updateConversationTags()` | `--conversation-id` `--tags` | 0 | Update tags on a conversation in Help Scout |
| `update-conversation-thread-schedule` | `helpScout.updateConversationThreadSchedule()` | `--conversation-id` `--scheduledFor` `--thread-id` `--unscheduleOnCustomerReply` | 1 | Update an existing schedule for a conversation thread in Help Scout |
| `update-custom-fields` | `helpScout.updateCustomFields()` | `--conversation-id` `--fields` | 0 | Update custom fields on a Help Scout conversation |
| `update-customer` ·common | `helpScout.updateCustomer()` | `--customer-id` `--operations` | 0 | Update an existing customer in Help Scout using JSON Patch operations |
| `update-customer-address` | `helpScout.updateCustomerAddress()` | `--city` `--country` `--customer-id` `--postal-code` `--state` | 1 | Update an existing address for a Help Scout customer |
| `update-customer-email` | `helpScout.updateCustomerEmail()` | `--customer-id` `--entry-id` `--type` `--value` | 0 | Update an existing email for a customer in Help Scout |
| `update-customer-phone` | `helpScout.updateCustomerPhone()` | `--customer-id` `--phone-id` `--type` `--value` | 0 | Update an existing phone number for a Help Scout customer |
| `update-customer-properties` | `helpScout.updateCustomerProperties()` | `--customerId` `--operations` | 0 | Update custom property values for a Help Scout customer using JSON Patch operations |
| `update-customer-social-profile` | `helpScout.updateCustomerSocialProfile()` | `--customerId` `--socialProfileId` `--type` `--value` | 0 | Update an existing social profile for a customer in Help Scout |
| `update-customer-website` | `helpScout.updateCustomerWebsite()` | `--customer-id` `--value` `--website-id` | 0 | Update an existing website URL for a customer in Help Scout |
| `update-mailboxes-routing` | `helpScout.updateMailboxesRouting()` | `--assignmentLimit` `--assignmentMethod` `--mailboxId` `--state` `--userIds` | 0 | Update routing configuration for a mailbox inbox in Help Scout |
| `update-organization` ·common | `helpScout.updateOrganization()` | `--domains` `--name` `--organization-id` `--phones` `--website` | 4 | Update an organization in Help Scout |
| `update-organization-property` | `helpScout.updateOrganizationProperty()` | `--name` `--slug` | 1 | Update an organization property definition in Help Scout |
| `update-organization-property-industry` | `helpScout.updateOrganizationPropertyIndustry()` | `--name` | 1 | Update the industry organization property definition in Help Scout |
| `update-saved-reply` | `helpScout.updateSavedReply()` | `--mailboxId` `--name` `--savedReplyId` | 2 | Update an existing saved reply in a Help Scout mailbox |
| `update-snooze` | `helpScout.updateSnooze()` | `--conversation-id` `--snoozed-until` `--unsnooze-on-customer-reply` | 0 | Update or set a snooze on a Help Scout conversation |
| `update-thread` | `helpScout.updateThread()` | `--conversationId` `--op` `--path` `--threadId` `--value` | 0 | Update a specific thread in a Help Scout conversation using JSON Patch format |
| `update-webhook` | `helpScout.updateWebhook()` | `--events` `--secret` `--url` `--webhook-id` | 4 | Update an existing webhook subscription in Help Scout |
| `update-workflow-status` | `helpScout.updateWorkflowStatus()` | `--status` `--workflow-id` | 0 | Update the status of a Help Scout workflow (enable/disable automation rule) |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
