Helpdesk
Help Scout
API integration
Ship Helpdesk features without building the integration. Full Help Scout API access via Proxy, normalized data through Unified APIs, and 90+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Help Scout
Common scenarios for SaaS companies building Help Scout integrations for their customers.
AI-Powered Ticket Triage and Response Drafting
AI support platforms can ingest incoming Help Scout conversations, analyze sentiment and intent, apply tags, route to the right mailbox, and post hidden internal notes with suggested responses — all without the end customer seeing any automation.
Bi-Directional CRM Contact Sync
Vertical CRMs can keep their customer records perfectly in sync with Help Scout by writing back customer details, addresses, phone numbers, emails, social profiles, and organization associations — ensuring support agents always have the latest context from the system of record.
Voice of Customer and CSAT Analytics
Feedback and analytics platforms can poll closed conversations, correlate Help Scout's native satisfaction ratings with their own survey data, and enrich conversations with outcome tags to build unified customer sentiment dashboards.
Event-Driven Workflow Automation
Workflow orchestration tools can listen for Help Scout webhook events, trigger external business logic, and programmatically run Help Scout's native workflows on batches of conversations to enforce consistent handling across teams.
Contextual Agent Sidebar via Custom Fields
SaaS products can dynamically read a user's mailbox custom fields and customer properties, then push enriched external data (subscription tier, usage metrics, order history) into those fields so agents see full context without leaving Help Scout.
What You Can Build
Ship these features with Truto + Help Scout
Concrete product features your team can ship faster by leveraging Truto’s Help Scout integration instead of building from scratch.
Two-Way Conversation Sync with Internal Notes
Sync Help Scout conversations and threads into your product, and push back internal notes, status updates, and tags without ever emailing the end customer.
Dynamic Custom Field Mapping Engine
Query mailbox fields and ticket fields from Help Scout to auto-generate matching forms in your UI, letting users map their data to the right Help Scout workspace without manual configuration.
Deep Customer Profile Sync
Programmatically create and update Help Scout customers including nested sub-entities like emails, phone numbers, chat handles, social profiles, addresses, and website URLs from your application's contact database.
Organization and Property Management
Create organizations, link customers to them, and define custom organization property definitions to surface external identifiers (e.g., account IDs, MRR) directly in the Help Scout agent sidebar.
Automated Workflow Execution Pipeline
List available Help Scout workflows and programmatically run them against batches of up to 50 conversations at once, enabling bulk triage, tagging, and assignment from external triggers.
Attachment-Aware Bug Tracking Integration
Download and upload conversation attachments to bridge Help Scout support threads with external QA or bug-tracking systems, keeping screenshots and logs linked across tools.
SuperAI
Help Scout AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_helpscout_customers
List customers filtered by mailbox, firstName, lastName, or modifiedSince in Help Scout. Returns id, firstName, lastName, gender, jobTitle, location, organization, photoType, photoUrl, age, createdAt, updatedAt, background, and draft fields.
get_single_helpscout_customer_by_id
Get customer details by id in Help Scout. Returns fields including firstName, lastName, jobTitle, location, organization, photoUrl, background, gender, age, createdAt, updatedAt, draft, and embedded sub-entities like emails, phones, chats, social_profiles, websites, properties, and address.
create_a_helpscout_customer
Create a new customer in Help Scout with provided customer details. Returns the resource ID and location of the created customer.
delete_a_helpscout_customer_by_id
Delete a customer by id in Help Scout, including their survey responses and conversations. This operation hard-deletes the customer and cannot be undone. Fails if user lacks access to all conversations or if customer has more than 100 conversations.
update_a_helpscout_customer_by_id
Update a customer profile by id in Help Scout using patch operations on fields such as firstName, lastName, emails, phones, and social profiles. Returns no content on success.
helpscout_customers_overwrite
Overwrite customer data by id in Help Scout. Updates fields like firstName, lastName, photoUrl, photoType, jobTitle, location, background, age, gender, and organization. Fields not set will be overwritten with null.
list_all_helpscout_conversations
List conversations filtered by mailbox, folder, status, tag, assigned_to, modifiedSince, number, and customFieldsByIds in Help Scout. Returns id, number, threads, type, folderId, status, subject, mailboxId, assignee, createdBy, createdAt, closedBy, closedAt, tags, cc, bcc, primaryCustomer, snooze, nextEvent, and customFields fields.
get_single_helpscout_conversation_by_id
Get conversation by id in Help Scout. Returns id, number, threads count, type, folderId, status, state, subject, preview, mailboxId, assignee info, creator info, timestamps, source, tags, cc, bcc, primary customer, custom fields, snooze and next event details.
create_a_helpscout_conversation
Create a conversation in Help Scout with required parameters subject, type, mailboxId, status, customer, and threads. Returns the created conversation's ID and location.
update_a_helpscout_conversation_by_id
Update a conversation in Help Scout by changing subject, customer, draft status, mailbox, status, or owner using id. Returns no content on success. If conversation merged, returns 404.
delete_a_helpscout_conversation_by_id
Delete a conversation by id in Help Scout. Returns no content on success. If the conversation was merged, a 404 is returned; use Get Conversation to find the new location.
list_all_helpscout_users
List users in Help Scout. Returns an array of user objects including id, firstName, lastName, email, role, timezone, photoUrl, createdAt, updatedAt, type, mention, initials, jobTitle, phone, and alternateEmails.
get_single_helpscout_user_by_id
Get information about a specific user in Help Scout by id. Returns id, firstName, lastName, email, role, timezone, type, photoUrl, initials, mention, jobTitle, phone, alternateEmails, createdAt, and updatedAt.
delete_a_helpscout_user_by_id
Delete a user by id in Help Scout. Only Administrators and Account Owners can delete users. The user making the request cannot delete themselves.
list_all_helpscout_teams
List teams in Help Scout. Returns an array of teams with fields id, name, initials, mention, createdAt, updatedAt, timezone, and photoUrl.
list_all_helpscout_team_members
List team members for team with id in Help Scout. Returns an array of user objects including id, firstName, lastName, email, role, timezone, photoUrl, createdAt, updatedAt, type, mention, initials, jobTitle, phone, and alternateEmails.
list_all_helpscout_tags
List tags used across all inboxes in Help Scout. Returns id, name, slug, ticketCount, color, createdAt, and updatedAt for each tag.
get_single_helpscout_tag_by_id
Get a tag by id in Help Scout. Returns id, name, slug, and color of the tag.
list_all_helpscout_conversation_threads
List threads for a conversation in Help Scout using id. Returns thread id, type, status, state, body, source type and via, customer info, creator info, assigned user, savedReplyId, email fields (to, cc, bcc), createdAt, openedAt, rating, schedule details, and attachments.
create_a_helpscout_conversation_thread
Create a reply thread for a conversation in Help Scout with required parameters id, text, and customer. Returns the internal ID of the newly created thread in Resource-Id header. Note: max 100 threads per conversation and company policies may restrict updates on old conversations.
update_a_helpscout_conversation_thread_by_id
Update a thread's text or hidden status in Help Scout. Requires id for conversation and thread. Returns no content. Only allowed for administrators or if thread editing is enabled. Supports replace operation on /text and /hidden paths.
list_all_helpscout_conversation_attachments
List threads for a conversation in Help Scout using id. Returns thread id, type, status, state, body, source type and via, customer info, createdBy info, assignedTo info, savedReplyId, email fields (to, cc, bcc), createdAt, openedAt, rating details, scheduled details, and attachments.
helpscout_conversation_attachments_download
Use this endpoint to download the file associated with an attachment in a conversation thread. The URL is provided in the attachments downloadUrl field when you retrieve the conversation threads
create_a_helpscout_conversation_attachment
Upload an attachment to a specific thread in a conversation in Help Scout. Requires conversation_id, thread_id, fileName, mimeType, and base64-encoded data. The response confirms creation. Uploaded attachments are scanned for malicious content and may be inaccessible if detected.
list_all_helpscout_mailboxes
List mailboxes in Help Scout. Returns id, name, slug, email, createdAt, and updatedAt for each mailbox.
get_single_helpscout_mailbox_by_id
Get mailbox information by id in Help Scout. Returns id, name, slug, email, createdAt, and updatedAt fields.
list_all_helpscout_me
Get information about the authenticated user in Help Scout. Returns id, firstName, lastName, email, role, timezone, photoUrl, createdAt, updatedAt, type, mention, initials, jobTitle, phone, alternateEmails, and companyId.
list_all_helpscout_mailbox_fields
List custom fields for a mailbox in Help Scout using mailbox id. Returns fields with id, required status, order, type, name, and dropdown options with id, order, and label.
list_all_helpscout_customer_properties
List customer property definitions in Help Scout. Returns type, slug, name, and options for dropdown properties.
create_a_helpscout_customer_property
Create a customer property in Help Scout with type, slug, and name. Returns the created property. Limit of 50 customer property definitions per company.
delete_a_helpscout_customer_property_by_id
Delete a specific customer property definition in Help Scout using id. This is a soft delete operation; the property will be scheduled for hard deletion and its slug released.
list_all_helpscout_inbox_folders
List inbox folders for mailbox_id in Help Scout. Returns id, type, name, totalCount, userId, activeCount, and updatedAt for each folder.
list_all_helpscout_ticket_fields
Use this endpoint to retrieve all custom field values associated with a specific conversation (ticket) in Help Scout. Custom fields help capture additional information about a conversation, such as priority, order number, or any custom data you’ve configured for your workspace.
list_all_helpscout_inbox_saved_replies
List saved replies for inbox_id in Help Scout. Returns id, name, preview for email replies, and chatPreview for chats.
get_single_helpscout_inbox_saved_reply_by_id
Get a saved reply by inbox_id and id in Help Scout. Returns id, name, text, and chatText of the saved reply.
create_a_helpscout_inbox_saved_reply
Create a saved reply in Help Scout for mailbox_id with required name. Returns the created saved reply including its name, text, and chatText fields.
update_a_helpscout_inbox_saved_reply_by_id
Update a saved reply in Help Scout using mailbox_id and id. Returns no content on success.
delete_a_helpscout_inbox_saved_reply_by_id
Delete saved reply by id in Help Scout. Requires mailbox_id and id. No content is returned in the response.
list_all_helpscout_workflows
List workflows filtered by mailboxId and type in Help Scout. Returns id, mailboxId, type, status, order, name, createdAt, and modifiedAt for each workflow.
update_a_helpscout_workflow_by_id
Update workflow status by setting status to 'active' or 'inactive' in Help Scout. Requires id, op as 'replace', value as new status, and path as '/status'. Returns no content on success.
helpscout_workflows_run
Run a specific manual workflow in Help Scout using its workflow_id. Requires workflow_id. Applies workflow actions to each conversation listed in conversationIds (max 50). Returns no content on successful execution.
list_all_helpscout_webhooks
List webhooks in Help Scout. Returns an array of webhooks with fields including id, url, state, events, notification, payloadVersion, and label.
get_single_helpscout_webhook_by_id
Get information about a specific webhook in Help Scout by id. Returns id, url called on events, list of events, notification flag, label, payloadVersion, and state.
create_a_helpscout_webhook
Create a webhook in Help Scout with url, events, and secret. Returns the webhook id in the Resource-ID header.
update_a_helpscout_webhook_by_id
Update webhook with id in Help Scout. Requires url, events, and secret. Returns no content on success.
delete_a_helpscout_webhook_by_id
Delete a webhook by id in Help Scout. Returns no content on success.
get_single_helpscout_satisfaction_rating_by_id
Get satisfaction rating by id in Help Scout. Returns id, threadId, conversationId, conversationNumber, mailboxId, comments, rating, createdAt, user, and customer details.
list_all_helpscout_mailbox_folders
List inbox folders for mailbox_id in Help Scout. Returns id, type, name, totalCount, userId, activeCount, and updatedAt for each folder.
get_single_helpscout_customer_address_by_id
Get the address of a specific customer in Help Scout by customer id. Returns city, state, postalCode, country, and address lines.
create_a_helpscout_customer_address
Create an address for a customer in Help Scout. Requires id, city, state, postalCode, and country. Returns location of the created address.
update_a_helpscout_customer_address_by_id
Update address for a customer in Help Scout using id. Requires city, state, postalCode, and country. Returns no content on success.
delete_a_helpscout_customer_address_by_id
Delete address for a specific customer in Help Scout. Requires id. No content is returned in the response.
list_all_helpscout_customer_chat_handles
List chat handles for a customer in Help Scout. Requires customer_id. Returns an array of chat objects with id, value, and type fields.
create_a_helpscout_customer_chat_handle
Create a chat handle for a customer in Help Scout. Requires customer_id, type, and value. Returns the internal ID of the newly created chat handle.
update_a_helpscout_customer_chat_handle_by_id
Update chat handle for a specific chat identified by id and customer_id in Help Scout. Requires type (chat type) and value (chat handle). No content is returned in the response.
delete_a_helpscout_customer_chat_handle_by_id
Delete a chat handle for a customer in Help Scout using customer_id and id. No content is returned in the response.
list_all_helpscout_customer_emails
List emails for a specific customer in Help Scout. Requires customer_id. Returns an array of email objects including id, value, and type.
create_a_helpscout_customer_email
Create an email for a customer in Help Scout. Requires customer_id, type (home, other, work), and value (email). Returns Resource-Id header with the internal ID of the new email.
update_a_helpscout_customer_email_by_id
Update email for customer with customer_id and id in Help Scout. Returns no content on success.
delete_a_helpscout_customer_email_by_id
Delete an email for a specific customer in Help Scout using customer id and email id. No content is returned in the response.
list_all_helpscout_customer_phones
List phone numbers for a customer in Help Scout using customer_id. Returns an array of phones with id, value, and type fields.
create_a_helpscout_customer_phone
Create a phone for customer with customer_id in Help Scout. Requires type and value. Returns the internal ID of the newly created phone in Resource-Id header.
update_a_helpscout_customer_phone_by_id
Update phone for customer using customer_id and id. Requires type (phone location) and value (telephone number). Response returns no content.
delete_a_helpscout_customer_phone_by_id
Delete a phone by id for a customer in Help Scout. Requires customer_id and id. Returns no content on success.
list_all_helpscout_customer_social_profiles
List social profiles for a customer in Help Scout. Requires customer_id. Returns id, value (profile URL), and type of each social profile.
create_a_helpscout_customer_social_profile
Create a social profile for a customer in Help Scout using customer_id. Requires type and value. Returns the internal ID of the newly created social profile.
update_a_helpscout_customer_social_profile_by_id
Update social profile for customer with customer_id and social profile id in Help Scout. Requires type and value fields. No content is returned in the response.
delete_a_helpscout_customer_social_profile_by_id
Delete a social profile by id for a customer identified by customer_id in Help Scout. No content is returned in the response.
list_all_helpscout_customer_websites
List websites for a customer in Help Scout. Requires customer_id. Returns an array of website objects with id and value fields.
create_a_helpscout_customer_website
Create a website for a customer in Help Scout using customer_id and value. Returns the internal ID of the newly created website in Resource-Id header.
update_a_helpscout_customer_website_by_id
Update website URL for a specific website of a customer in Help Scout. Requires customer_id, id, and value (website URL). Returns no content on success.
delete_a_helpscout_customer_website_by_id
Delete a specific website by id for a customer identified by customer_id in Help Scout. No content is returned in the response.
list_all_helpscout_user_statuses
List user statuses in Help Scout. Returns userId, email (status, updatedAt, performedBy, source), and chat (status, mailboxStatuses) fields for each user.
get_single_helpscout_user_status_by_id
Get the status of a specific user in Help Scout by id. Returns userId, email status details (status, updatedAt, performedBy, source), and chat status details (status and mailboxStatuses).
update_a_helpscout_user_status_by_id
Update user status in Help Scout. Requires id and status. Returns no content on success.
list_all_helpscout_organizations
List organizations in Help Scout. Returns id, name, website, description, location, logoUrl, note, domains, phones, and brandColor for each organization in the response.
get_single_helpscout_organization_by_id
Get details of a specific organization in Help Scout using id. Returns fields including id, name, website, description, location, brandColor, customerCount, conversationCount, and properties.
create_a_helpscout_organization
Create an organization in Help Scout. Returns the id of the created organization in the Resource-ID header, which uniquely identifies the organization.
update_a_helpscout_organization_by_id
Update an organization in Help Scout using id. Performs a full replacement—any omitted fields are cleared. Returns no content on success.
delete_a_helpscout_organization_by_id
Delete a specific organization in Help Scout using id. Also removes this organization reference from all customers. Returns no content on success.
list_all_helpscout_organization_conversations
List conversations for an organization in Help Scout. Requires organization_id. Returns conversation details such as id, subject, status, type, assignee, createdAt, and primaryCustomer information.
list_all_helpscout_organization_customers
List customers associated with a specific organization in Help Scout. Requires organization_id. Returns id, firstName, lastName, jobTitle, location, organization, photoUrl, createdAt, and updatedAt for each customer.
list_all_helpscout_organization_property_definitions
List all organization-property-definitions in Help Scout. Each account can have up to 50 property definitions. Returns slug, name, type, and options for dropdown properties.
get_single_helpscout_organization_property_definition_by_id
Get an organization property definition in Help Scout using id. Returns slug, name, type, and options array with dropdown labels for the property.
create_a_helpscout_organization_property_definition
Create a new organization property definition in Help Scout. Requires type, slug, and name. Returns the created property's details including type, slug, name, and options for dropdown types.
update_a_helpscout_organization_property_definition_by_id
Update an existing organization property definition in Help Scout. Requires id. You can update the property's name and options list. The response returns no content (HTTP 204) on success.
delete_a_helpscout_organization_property_definition_by_id
Delete an organization property definition in Help Scout using id. This performs a soft-delete and the property will be permanently removed after a grace period.
list_all_helpscout_company_reports
Get overall company performance report in Help Scout. Returns filterTags (available tag filters), current and previous time range statistics, user performance metrics, and deltas showing performance change when two time ranges are specified.
list_all_helpscout_customer_helped_reports
Get the customers helped report in Help Scout for a given time range. Returns current and optionally previous arrays including 'date' and 'customers' fields showing how many customers were helped during each period.
list_all_helpscout_company_drilldown_reports
Get detailed conversation data for a company in Help Scout using required parameters start and end. Returns conversation fields including id, number, type, subject, status, customerName, and assignedName.
Why Truto
Why use Truto’s MCP server for Help Scout
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Help Scout
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified User Directory API
Unified Ticketing API
Attachments
Attachments are the files associated with a ticket or a comment.
Collections
Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
Comments
Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
Contacts
Contact represent the external people you are in contact with. These could be customers, leads, etc. Contacts can be associated with an Account if the underlying product supports it.
Fields
Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Ticket, Contact, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.
Tags
Tags represent a common classification approach used in various ticketing systems. A Ticket may have one or more Tags associated with them.
Teams
Teams represent the grouping system used for Users. These are usually called groups, teams, agent groups, etc. in the underlying products. A User can belong to one or more Teams.
Ticket Status
Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.
Ticket Types
Ticket Types represent the classification system used by the underlying products for Tickets. Some examples are bugs, feature, incident, etc.
Tickets
Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
Users
Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
Workspaces
Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.
How It Works
From zero to integrated
Go live with Help Scout in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Help Scout account
Use Truto’s frontend SDK to connect your customer’s Help Scout account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Help Scout
Truto’s Proxy API is a 1-to-1 mapping of the Help Scout API. You call us, we call Help Scout, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Help Scout’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Help Scout on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the Help Scout integration use?
Help Scout uses OAuth 2.0 for API access. Truto handles the full OAuth flow — token exchange, refresh, and storage — so your end users simply authorize their Help Scout account through Truto's managed connect flow.
How does Help Scout's data model map to Truto's Unified Ticketing API?
Help Scout Conversations map to Tickets, Threads map to Comments, Customers map to Contacts, Mailboxes map to Workspaces, Users map to Users, Teams map to Teams, Tags map to Tags, and mailbox/ticket custom fields map to Fields. Attachments and ticket statuses are also supported through their respective unified resources.
Can I create internal notes on conversations without notifying the customer?
Yes. Use the create_a_helpscout_conversation_thread endpoint with a hidden/internal note type. This is ideal for posting AI summaries, audit trails, or agent-facing context without triggering any email to the end customer.
How are Help Scout's nested customer sub-entities handled?
Help Scout stores customer emails, phones, addresses, chat handles, social profiles, and websites as separate sub-entities. Truto exposes dedicated CRUD endpoints for each — for example, create_a_helpscout_customer_email or update_a_helpscout_customer_phone_by_id — so you can manage granular contact data without overwriting the entire customer record.
Can I trigger Help Scout's native workflows via the API?
Yes. The helpscout_workflows_run endpoint lets you programmatically execute a predefined Help Scout manual workflow against a batch of conversations. You can also list all workflows with list_all_helpscout_workflows and toggle them with update_a_helpscout_workflow_by_id.
Does the integration support webhook management for real-time events?
Yes. You can create, list, update, and delete Help Scout webhooks via Truto (create_a_helpscout_webhook, list_all_helpscout_webhooks, etc.), allowing your application to receive real-time notifications for conversation events instead of relying on polling.
Help Scout
Get Help Scout integrated into your app
Our team understands what it takes to make a Help Scout integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us