Help Scout is a cloud-based customer support platform that provides shared inboxes, a self-service knowledge base (Docs), live chat (Beacon), and built-in reporting to help support teams manage customer conversations at scale. Trusted by thousands of businesses, Help Scout centralizes customer communication across email, chat, and social channels into a single collaborative workspace, enabling faster response times, consistent service quality, and measurable support outcomes.
Power end-to-end data operations for your Help Scout API with Nexla. Our bi-directional Help Scout connector is purpose-built for Help Scout, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Help Scout or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Help Scout workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
The Help Scout Inbox API 2.0 uses OAuth 2.0 for all authentication. Before creating a Help Scout credential in Nexla, you must create an OAuth2 application in your Help Scout account to obtain an App ID (client ID) and App Secret (client secret). These credentials are used to authenticate Nexla's API requests on your behalf.
Click your avatar or account icon in the upper-right corner of the screen, and select Your Profile from the dropdown menu.
In the left-hand navigation panel of your profile page, click My Apps.
Click the Create My App button to open the application creation form.
Enter a descriptive name for the application in the App Name field — for example, Nexla Integration.
Enter a Redirection URL for the application.
If you plan to use the Client Credentials OAuth2 flow (recommended for server-to-server integrations like Nexla), you can enter a placeholder URL such as https://www.example.com in the Redirection URL field. The Client Credentials flow does not redirect users to an external URL.
Click Create to save the application. Help Scout will display the App ID and App Secret for the newly created application.
Important
Copy your App Secret immediately after creating the application. Help Scout does not display the App Secret again after you navigate away from this page. Store it securely, for example, in a password manager or secrets vault.
Note the App ID and App Secret values — you will need both when configuring the Help Scout credential in Nexla.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Help Scout uses OAuth 2.0 with the Client Credentials flow for server-to-server API access. This flow exchanges your App ID and App Secret directly for an access token, without requiring a user login redirect. Enter the App ID from your Help Scout OAuth2 application in the App ID field. This value serves as the OAuth2 client_id for all API token requests.
Enter the App Secret from your Help Scout OAuth2 application in the App Secret field. This value serves as the OAuth2 client_secret and should be kept confidential.
Access tokens issued via the Client Credentials flow are valid for 48 hours. Nexla automatically handles token renewal by re-requesting a new access token using your App ID and App Secret, so no manual re-authorization is needed.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Help Scout connector tile, then select the credential that will be used to connect to the Help Scout account, and click Next; or, create a new Help Scout credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Help Scout endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
List Conversation Threads
Returns a paginated list of threads for a specific conversation, including replies, notes, and line items. Use this endpoint to retrieve the full thread history for a known conversation ID.
Response data is extracted from $._embedded.threads[*], returning each thread as an individual record.
Configure the following parameters: Conversation ID — the unique identifier of the conversation whose threads should be retrieved.
Conversation IDs can be obtained from the List all conversations endpoint. Use a lookup macro to pass conversation IDs dynamically when chaining API calls.
List Inbox Custom Fields
Returns a paginated list of custom fields configured for a specific inbox (mailbox). Use this endpoint to retrieve the custom field schema for a mailbox, which is needed to map custom field values in conversation exports.
Response data is extracted from $._embedded.fields[*], returning each custom field definition as an individual record.
Configure the following parameters: Mailbox ID — the unique identifier of the inbox whose custom fields should be listed.
Mailbox IDs can be obtained from the List all mailboxes endpoint.
List Inbox Folders
Returns a paginated list of folders within a specific inbox. Use this endpoint to retrieve folder names and IDs for a mailbox, which can be used to filter conversation listings by folder.
Response data is extracted from $._embedded.folders[*], returning each folder as an individual record.
Configure the following parameters: Mailbox ID — the unique identifier of the inbox whose folders should be listed.
Folder IDs returned here can be used as the Folder filter parameter in the List all conversations endpoint.
List Team Members
Returns a list of team members in a specific Help Scout team. Use this endpoint to retrieve agent rosters for a team for reporting or to audit team membership.
Response data is extracted from $._embedded.users[*], returning each team member as an individual record.
Configure the following parameters: Team ID — the unique identifier of the team whose members should be listed.
Team IDs can be found in the Help Scout admin interface or retrieved via the Help Scout API. Refer to the Help Scout API documentation for details.
List all conversations, with optional filtering by mailbox, status, folder, tag, assignee, and full-text query.
Retrieves a paginated list of all conversations with optional filtering by mailbox, status, folder, tag, assignee, modification date, and full-text query. This is the primary endpoint for bulk conversation ingestion from Help Scout.
Sends a GET request to https://api.helpscout.net/v2/conversations with optional query parameters for Mailbox, Folder, Status, Tag, Assigned To, Modified Since, Number, Sort Field, Sort Order, Query, Custom Fields By IDs, Page, and Embed.
Response data is extracted from $._embedded.conversations[*], returning each conversation as an individual record.
Use the Modified Since parameter with a date/time macro to perform incremental ingestion — retrieving only conversations modified since the last run.
List customers with optional filters; sorted by createdAt descending by default.
Retrieves a paginated list of customers from Help Scout with optional filtering by first name, last name, email, and mailbox. Use this endpoint for customer directory exports or CRM synchronization workflows.
Sends a GET request to https://api.helpscout.net/v2/customers with optional query parameters for Firstname, Lastname, Email, Mailbox, Page, Sortfield, and Sortorder.
Response data is extracted from $._embedded.customers[*], returning each customer as an individual record.
Results are sorted by createdAt in descending order by default. Use the Sortfield and Sortorder parameters to adjust ordering for your use case.
List all mailboxes (inboxes) accessible to the authenticated account.
Retrieves a list of all mailboxes (inboxes) accessible to the authenticated Help Scout account. Use this endpoint to discover mailbox IDs needed for filtering conversations, folders, and custom fields.
Response data is extracted from $._embedded.mailboxes[*], returning each mailbox as an individual record.
Mailbox IDs returned by this endpoint are required for the List Inbox Folders, List Inbox Custom Fields, List Saved Replies, and conversation filtering endpoints.
List all workflows for the account, including manual and automatic types.
Retrieves all workflows for the Help Scout account, including both manual and automatic workflow types. Use this endpoint to audit automation rules or export workflow configurations.
Response data is extracted from $._embedded.workflows[*], returning each workflow as an individual record.
Configure the following parameters: Mailbox — filter workflows by mailbox ID. Status — filter by workflow status (active or inactive).
Use the Status filter to retrieve only active workflows, which reduces response size and simplifies auditing.
Get Conversation
Retrieves a single conversation by ID, including metadata, tags, assignee, and optionally pre-loaded threads. Use this endpoint to fetch the complete details of a specific conversation.
Response data is extracted from $, returning the full conversation object as a single record.
Configure the following parameters: Id — the unique identifier of the conversation to retrieve. Embed — optional comma-separated list of related resources to embed (e.g., threads).
Conversation IDs can be obtained from the List all conversations endpoint. Use a lookup macro to pass IDs dynamically when chaining API calls.
List Threads
Returns a paginated list of all threads (messages, notes, line items) belonging to a specific conversation. Use this endpoint to extract the full message history for a conversation for archiving or analytics.
Response data is extracted from $._embedded.threads[*], returning each thread as an individual record.
Configure the following parameters: Conversation Id — the unique identifier of the conversation whose threads should be retrieved.
This endpoint is functionally equivalent to List Conversation Threads. Use either endpoint to retrieve threads for a specific conversation.
Get Customer
Retrieves a single customer by ID, including all embedded contact entries such as emails, phone numbers, and social profiles. Use this endpoint to fetch complete customer profile data for a known customer.
Response data is extracted from $, returning the full customer object as a single record.
Configure the following parameters: Id — the unique identifier of the customer to retrieve.
Customer IDs can be obtained from the List customers endpoint. Use a lookup macro to pass customer IDs dynamically when chaining API calls.
Get Inbox
Retrieves a single mailbox by its unique ID, including its name, email address, and configuration settings. Use this endpoint to fetch full mailbox details for a specific inbox.
Response data is extracted from $, returning the full mailbox object as a single record.
Configure the following parameters: Id — the unique identifier of the mailbox to retrieve.
Mailbox IDs can be obtained from the List all mailboxes endpoint.
List Saved Replies
Returns a paginated list of all saved replies for a specific mailbox, with an option to include chat replies. Use this endpoint to export saved reply content for analysis, backup, or migration.
Response data is extracted from $._embedded.savedReplies[*], returning each saved reply as an individual record.
Configure the following parameters: Mailbox Id — the unique identifier of the inbox whose saved replies should be listed. Include Chat Replies — whether to include chat-type saved replies in results.
Mailbox IDs can be obtained from the List all mailboxes endpoint.
Get Saved Reply
Retrieves a single saved reply by ID from a specific mailbox. Use this endpoint to fetch the full content of a specific saved reply when the saved reply ID is already known.
Response data is extracted from $, returning the full saved reply object as a single record.
Configure the following parameters: Mailbox Id — the mailbox identifier. Id — the unique identifier of the saved reply to retrieve.
Saved reply IDs can be obtained from the List Saved Replies endpoint.
Get User
Retrieves a single Help Scout user (agent) by their unique ID. Use this endpoint to fetch full profile details for a specific agent, including their email, role, and avatar.
Response data is extracted from $, returning the full user object as a single record.
Configure the following parameters: Id — the unique identifier of the user to retrieve.
User IDs can be obtained from conversation assignee fields or from the Help Scout admin interface. Use a lookup macro to pass user IDs dynamically.
List Webhooks
Lists all webhook subscriptions configured for the Help Scout account. Use this endpoint to audit existing webhook configurations or to retrieve webhook IDs for update or deletion operations.
Response data is extracted from $._embedded.webhooks[*], returning each webhook as an individual record.
Admin-level permissions are required to list and manage webhook configurations.
Get Satisfaction Rating
Retrieves a single customer satisfaction rating by ID, including customer, user, and conversation references. Use this endpoint to pull individual CSAT survey responses for analysis or reporting.
Response data is extracted from $, returning the full satisfaction rating object as a single record.
Configure the following parameters: Id — the unique identifier of the satisfaction rating to retrieve.
Satisfaction rating IDs are typically referenced from conversation metadata. Refer to the Help Scout API documentation for details on retrieving rating IDs.
Get Conversations Overall Report
Retrieves the overall conversations report, including volume, customer counts, and tag breakdowns for a specified date range. Use this endpoint to power support performance dashboards or to export historical reporting data.
Sends a GET request to https://api.helpscout.net/v2/reports/conversations with required Start Date and End Date parameters and optional filters for Previous Start Date, Previous End Date, Mailboxes, Tags, Conversation Types, and Folders.
Response data is extracted from $, returning the full report as a single record.
Configure the following parameters: Start Date — report period start date. End Date — report period end date. Mailboxes — optionally filter by specific mailbox IDs. Tags — optionally filter by tags.
Use date/time macros for Start Date and End Date to automate recurring report ingestion for the prior day, week, or month.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Help Scout data sources can also be manually configured to ingest data from any valid Help Scout Inbox API 2.0 endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
The Help Scout Inbox API 2.0 base URL is https://api.helpscout.net/v2/. Help Scout API responses use HAL+JSON format, with records nested under an _embedded key — for example, the path to data for the List Conversations endpoint is $._embedded.conversations[*], for List Customers it is $._embedded.customers[*], for List Threads it is $._embedded.threads[*], and for List Mailboxes it is $._embedded.mailboxes[*]. Pagination metadata is returned in a top-level page object and can be captured separately via the $.page path.
You do not need to include the Authorization header in the Request Headers field — Nexla automatically adds the Bearer token from your Help Scout credential to every API request.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Help Scout data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Help Scout destination, and select the Send to Destination option from the menu. Select the Help Scout connector from the list of available destination connectors, then select the credential that will be used to connect to the Help Scout account, and click Next; or, create a new Help Scout credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Help Scout endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create a new conversation (ticket) in a mailbox
Creates a new conversation (support ticket) in a Help Scout mailbox. Use this endpoint to programmatically open support tickets from external systems such as monitoring tools, CRMs, or data pipelines.
The request body must include at minimum a subject, mailboxId, customer (with email), and at least one thread (the initial message).
Help Scout returns a 201 Created response with a Location header pointing to the new conversation. Enable the Response Webhook option to capture the new conversation ID.
Create a reply thread on a conversation (send a reply to a customer)
Creates a reply thread on an existing conversation, sending a reply to the customer from an agent. Use this endpoint to automate outbound responses based on data-driven conditions or templated replies.
Configure the following parameters: Id — the unique identifier of the conversation to reply to.
Sending a reply will notify the customer via email. Review the reply content carefully before activating this destination in a production environment.
Create a new customer record
Creates a new customer record in Help Scout. Use this endpoint to synchronize customer data from external CRMs, e-commerce platforms, or identity systems into Help Scout.
Sends a POST request to https://api.helpscout.net/v2/customers with the customer's name, email addresses, and optional additional contact information in the request body.
Help Scout deduplicates customers by email address. If a customer with the same email already exists, the API will return a reference to the existing record rather than creating a duplicate.
Updates conversation fields such as status, subject, assignee, tags, and custom fields using JSON Patch operations. Use this endpoint to automate conversation triage, tagging, or assignment workflows.
Configure the following parameters: Id — the unique identifier of the conversation to update.
The request body must follow the JSON Patch format (RFC 6902). For example, to change conversation status to closed, use: [{"op":"replace","path":"/status","value":"closed"}].
Update an existing customer record (name, email, phone, properties)
Updates an existing customer record in Help Scout, including name, email addresses, phone numbers, and custom properties. Use this endpoint to keep Help Scout customer data synchronized with external systems.
Configure the following parameters: Id — the unique identifier of the customer to update.
Customer IDs can be obtained from the List customers source endpoint. Use a lookup macro to pass customer IDs dynamically.
Create a customer thread (inbound message from a customer) on a conversation
Creates a customer thread (inbound message from a customer) on an existing conversation. Use this endpoint to simulate or replay inbound customer messages as part of data migration or conversation reconstruction workflows.
Sends a POST request to the customer thread endpoint for a specific conversation with the message body and customer details in the request body.
Configure the following parameters: Id — the unique identifier of the conversation on which to create the customer thread.
Customer thread creation may trigger automated workflows and notifications configured in Help Scout. Test against a non-production mailbox before activating in a live environment.
Create an internal note thread on a conversation
Creates an internal note thread on an existing conversation. Internal notes are only visible to agents and are not sent to customers. Use this endpoint to add automated context, alerts, or metadata to conversations from external systems.
Sends a POST request to the note thread endpoint for a specific conversation with the note body and optional mentioned user IDs in the request body.
Configure the following parameters: Id — the unique identifier of the conversation on which to create the internal note.
Internal notes are not sent to customers and will not trigger customer-facing notifications. They are visible only to agents with access to the conversation.
Create a new webhook subscription
Creates a new webhook subscription in Help Scout to receive real-time event notifications. Use this endpoint to programmatically register Nexla webhook sources or external endpoints for event-driven data ingestion.
Admin-level permissions are required to create webhook subscriptions. The target URL must be publicly accessible and able to respond to Help Scout webhook payloads.
Update a specific email address on a customer record
Updates a specific email address associated with a customer record in Help Scout. Use this endpoint to correct or update individual email entries on a customer profile without replacing the entire record.
Sends a PATCH request to the customer email endpoint for a specific customer and email ID.
Configure the following parameters: Id — the unique identifier of the customer. Emailid — the unique identifier of the specific email address to update.
Email entry IDs are returned as part of the customer record from the Get Customer source endpoint.
Delete a webhook subscription
Deletes an existing webhook subscription from Help Scout. Use this endpoint to deregister webhooks as part of cleanup workflows or to manage webhook lifecycle programmatically.
Configure the following parameters: Id — the unique identifier of the webhook subscription to delete.
Webhook IDs can be obtained from the List Webhooks source endpoint. Deleting a webhook immediately stops all future event deliveries to its target URL.
Enable or disable a workflow
Enables or disables a Help Scout workflow. Use this endpoint to programmatically toggle automation rules on or off as part of scheduled or event-driven management workflows.
Sends a PATCH request to the workflow status endpoint with the desired enabled/disabled state.
Configure the following parameters: Id — the unique identifier of the workflow to enable or disable.
Workflow IDs can be obtained from the List all workflows source endpoint. Disabling an active workflow immediately stops it from processing new conversations.
Delete (archive) a conversation
Deletes (archives) a conversation in Help Scout. Use this endpoint to programmatically clean up test conversations, remove spam, or archive resolved tickets as part of a data retention workflow.
Configure the following parameters: Id — the unique identifier of the conversation to delete.
Deleting a conversation archives it and removes it from the active inbox view. Archived conversations may be recoverable from the Help Scout admin interface depending on your plan settings.
Help Scout destinations can also be manually configured to send data to any valid Help Scout Inbox API 2.0 endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the Help Scout API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
The Help Scout Inbox API 2.0 base URL is https://api.helpscout.net/v2/, and it accepts JSON request bodies — select JSON as the content format. Common write operations use POST to create resources (e.g., POST /v2/conversations, POST /v2/customers), PATCH to apply partial updates (e.g., updating conversation status, subject, or assignee via JSON Patch), and DELETE to remove resources such as conversations or webhooks. For update/upsert operations, include the ID of the object to be updated at the end of the URL — for example, https://api.helpscout.net/v2/conversations/12345.
You do not need to include the Authorization header — Nexla automatically adds the Bearer token from your Help Scout credential to every API request. Most Help Scout API write endpoints accept a single resource object per call rather than arrays of objects, so confirm the expected request format for your target endpoint in the Help Scout Inbox API 2.0 documentation before enabling record batching. Enable the response webhook option to capture the response from each call — for example, the new conversation ID returned in the Location header after a successful POST /v2/conversations request.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Help Scout endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Help Scout API endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.