Skip to main content
Technical Preview

Overview

A client-mode connector for the Help Scout Inbox API 2.0 (formerly the Mailbox API) that connects plant and product events to a shared support inbox. A connected machine that raises an alarm can open a conversation for the customer who owns it, the team can add internal notes while it is handled, and the conversation can be closed, reassigned, tagged or snoozed when the alarm clears. Customer profiles and conversation custom fields can be kept current from live data, and manual workflows can be run on conversations. Help Scout now calls mailboxes “inboxes”, but the API paths still use /v2/mailboxes. Topics use crm/help-scout/<object>/<verb>; each response is published on <source topic>/response.
The template was checked against the Help Scout Inbox API 2.0 reference pages and a local mock. On api.helpscout.net the token endpoint rejects a dummy client with 400 invalid_client and every packaged path answers 401 invalid_token to an invalid token. Help Scout checks the token before it connectors a request, so those probes confirm the host and authentication scheme but not each path. It has not been run against a real Help Scout account yet, so status stays blocked until an authenticated smoke passes.

Authentication

Help Scout uses OAuth 2.0. For a broker integration the client credentials flow fits best (see Help Scout authentication):
  1. In Help Scout, open Your Profile > My Apps and create an app. A redirect URL is required but unused for client credentials, so any placeholder works.
  2. Publish the app id and secret to crm/help-scout/oauth/token (event TokenGet):
  3. Read access_token from crm/help-scout/oauth/token/response. It is valid for 172800 seconds (two days). Pass it as access_token in every other payload; the connector sends Authorization: Bearer <token>. Request a new token only when a call answers 401.
The credentials must belong to an active, invited Help Scout user, or every call answers 401.
Store the app id and secret as broker secrets (for example HELPSCOUT_APP_ID and HELPSCOUT_APP_SECRET) and have a LoT action add them with GET SECRET. The token response topic carries a live token: restrict it with a rule, never retain it, and do not put tokens in retained messages.

Payload fields

Events

Creates answer 201 Created with the new id in the Resource-ID header and an empty body; updates, tags, fields, snooze and workflow runs answer 204 No Content. ConversationUpdate and CustomerUpdate use JSON Patch. No delete events are packaged on purpose. Writes count as two requests against the account rate limit, which depends on the plan (X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Retry-After). The conversations report needs a Plus or Pro plan.

Basic Syntax

Examples

Get a mailboxId from crm/help-scout/mailboxes/list, then publish to crm/help-scout/conversations/create:
Add "assignTo": <user or team id> to assign it, or "imported": true to log it without sending email.

Receiving webhooks

Help Scout can notify the broker about conversation and customer events (for example convo.created, convo.status, convo.assigned). Register the webhook once in Help Scout (or with POST /v2/webhooks), with a 40-character secret, and receive it with a separate server-mode REST_API connector that enables ENABLE_SERVER. Help Scout signs each delivery with HMAC-SHA1 in the X-HelpScout-Signature header; verify it before trusting the payload. WebhooksList shows which webhooks are configured.

Troubleshooting

Last modified on October 21, 2026