Skip to content

Connectors · Service desk & support

Help Scout MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Help Scout and the rest of your systems. It gives your agent 145 Help Scout actions (79 reads, 47 writes and 19 that wait for a confirmation) and holds the Help Scout credential itself, so the agent never does. It paces Help Scout's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "helpscout.customers.list",  intent: "check which Help Scout account is connected"}# List Customers · read · 1 upstream call
  • 145actionsin one signed file
  • 79readlook, never change
  • 47writecreate and update
  • 19wait for a yesdestructive, confirmed first

Set up

Connect Help Scout in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Help Scout.

    OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_idHelp Scout App ID
    • client_secretHelp Scout App Secret, shown beside the App ID under Your Profile > My Apps
    account { op: "connections.requirements", service: "helpscout" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "helpscout.customers.list" }# list customers · read · 1 upstream callcheck { action: "helpscout.customers.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Help Scout at a glance

Sign-in
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
You provide
client_idclient_secret
Limits we pace to
200 calls a minute, per connection
API covered
Help Scout Mailbox API 2.0 (v2, with the v3 list/get endpoints)api.helpscout.net
Built from
Help Scout's documentation, read 22 October 2026developer.helpscout.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
79 of 79 reads, for up to 5 minutes; a write clears what it affects
Shared entities
7, so ask can line Help Scout up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Help Scout.

145 actions in 37 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 79readlook, never change
  • 47writecreate and update
  • 19destructivewait for a confirmation
  1. Reports

    32

    32 read · 0 write · 0 destructive

    Chat Report · Company Customers Helped · Company Drilldown · Company Overall Report

  2. Conversation threads

    9

    3 read · 6 write · 0 destructive

    Create Chat Thread · Create Customer Thread · Create Note · Create Phone Thread

  3. Customers

    8

    3 read · 3 write · 2 destructive

    List Customers · Create Customer · Get Customer · Update Customer

  4. Conversations

    7

    4 read · 2 write · 1 destructive

    List Conversations · Create Conversation · Get Conversation · Update Conversation

  5. Inbox saved replies

    5

    2 read · 2 write · 1 destructive

    Create Saved Reply · List Saved Replies · Get Saved Reply · Update Saved Reply

  6. Organization properties

    5

    2 read · 2 write · 1 destructive

    Create Organization Property Definition · List Organization Property Definitions · Get Organization Property Definition · Update Organization Property Definition

  7. Organizations

    5

    2 read · 2 write · 1 destructive

    List Organizations · Create Organization · Get Organization by ID · Update Organization

  8. Users

    5

    3 read · 1 write · 1 destructive

    List Users · Get Resource Owner · Create User · Get User

29 more areas · 69 actions
  • Webhooks 5
  • Customer address 4
  • Customer chat handles 4
  • Customer emails 4
  • Customer phones 4
  • Customer social profiles 4
  • Customer websites 4
  • Conversation attachments 3
  • Conversation thread schedules 3
  • Customer properties 3
  • User statuses 3
  • Workflows 3
  • Conversation snooze 2
  • Inbox routing 2
  • Inboxes 2
  • Organization property values 2
  • System users 2
  • Tags 2
  • Team members 2
  • User conversation reassignment 2
  • Conversation custom fields 1
  • Conversation tags 1
  • Customer property values 1
  • Inbox fields 1
  • Inbox folders 1
  • Organization conversations 1
  • Organization customers 1
  • Ratings 1
  • Teams 1

Top actions

The Help Scout API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 23 of Help Scout's 23 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
helpscout.customers.listList CustomersList Customers.readcrm.contact.list177 connectors
helpscout.organizations.listList OrganizationsList Organizations.readcrm.company.list162 connectors
helpscout.users.listList UsersList Users.readidentity.user.list474 connectors
helpscout.users.meGet Resource OwnerGet Resource Owner.readidentity.current_user.get307 connectors
helpscout.customers.createCreate CustomerCreate Customer.writecrm.contact.create161 connectors
helpscout.organizations.createCreate OrganizationCreate Organization.writecrm.company.create142 connectors
helpscout.teams.listList TeamsList Teams.readidentity.group.list262 connectors
helpscout.users.createCreate UserCreate User.writeidentity.user.create262 connectors
helpscout.tags.listList TagsList Tags.readcrm.tag.list65 connectors
helpscout.customers.deleteDelete CustomerDelete Customer.destructivecrm.contact.delete147 connectors
helpscout.conversations.listList ConversationsList Conversations.readservice.conversation.list19 connectors
helpscout.conversations.createCreate ConversationCreate Conversation.writeservice.conversation.create13 connectors

Try it

Prompts to paste into Claude.

Each one names the Help Scout actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Find the Help Scout contacts with no email address, so we can clean them up.

    callshelpscout.customers.list

  2. Writewrite

    Create Customer in Help Scout. Show me exactly what you will send before you save it.

    callshelpscout.customers.create

  3. Across systemsread

    Which Help Scout companies have invoices in ConnectWise PSA, and how many each?

    callshelpscout.organizations.listconnectwise_manage.invoices.list

Across your systems

Help Scout, joined to the rest of your business.

One ask fetches from Help Scout and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which Help Scout companies have invoices in ConnectWise PSA, and how many each?

    helpscout.organizations.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which Help Scout companies have invoices in NetSuite, and how many each?

    helpscout.organizations.list + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorsidentity.user 517identity.group 239crm.company 227crm.contact 192identity.current_user 142crm.tag 47service.conversation 12
ask
ask {  intent: "which Help Scout companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "helpscout.organizations.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Help Scout

Destructive actions wait for a yes.

19 Help Scout actions are destructive. These are all of them:

  • Delete Customerhelpscout.customers.delete
  • Delete Organization by IDhelpscout.organizations.delete
  • Delete Userhelpscout.users.delete
  • Delete Conversationhelpscout.conversations.delete
  • Delete Customer Asynchronouslyhelpscout.customers.delete_async
  • Delete Webhookhelpscout.webhooks.delete
  • Delete Emailhelpscout.customer_emails.delete
  • Delete Phonehelpscout.customer_phones.delete
  • Delete Addresshelpscout.customer_address.delete
  • Delete Websitehelpscout.customer_websites.delete
  • Delete Snoozehelpscout.conversation_snooze.delete
  • Delete Customer Property Definitionhelpscout.customer_properties.delete
  • Delete Saved Replyhelpscout.inbox_saved_replies.delete
  • Delete Chat Handlehelpscout.customer_chat_handles.delete
  • Delete Organization Property Definitionhelpscout.organization_properties.delete
  • Delete Attachmenthelpscout.conversation_attachments.delete
  • Delete Social Profilehelpscout.customer_social_profiles.delete
  • Remove Organization Property Valuehelpscout.organization_property_values.delete
  • Delete Thread Schedulehelpscout.conversation_thread_schedules.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dohelpscout.customers.deleteconfirm_policy: human

Delete Customer?

intent: the user asked me to delete Customer

run suspended · waiting for a named person · key helpscout-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "helpscout-agent",  allowed_actions: ["helpscout.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "helpscout.customers.delete", approver: "[email protected]" },    { match: "helpscout.organizations.delete", approver: "[email protected]" },    { match: "helpscout.users.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Help Scout only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Help Scout costs on actionlake.

Every Help Scout action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Help Scout refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 145 Help Scout actions
  • 145actions pageeach page of a long list is one call
  • 79reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Help Scout action.

145 actions by area: the id your agent calls, what it does, and its effect.

Reports32
  • helpscout.reports.chatChat Reportread
  • helpscout.reports.company_customers_helpedCompany Customers Helpedread
  • helpscout.reports.company_drilldownCompany Drilldownread
  • helpscout.reports.company_overallCompany Overall Reportread
  • helpscout.reports.conversations_busy_timesConversations - Busiest Time of Dayread
  • helpscout.reports.conversations_drilldownConversations - Drilldownread
  • helpscout.reports.conversations_field_drilldownConversations - Drilldown by Fieldread
  • helpscout.reports.conversations_newConversations - New Conversationsread
  • helpscout.reports.conversations_new_drilldownConversations - New Conversations Drilldownread
  • helpscout.reports.conversations_overallConversations - Overall Reportread
  • helpscout.reports.conversations_received_messagesConversations - Received Messages Statisticsread
  • helpscout.reports.conversations_volume_by_channelAll Channels - Volumes by Channelread
  • helpscout.reports.docs_overallDocs Overall Reportread
  • helpscout.reports.emailEmail Reportread
  • helpscout.reports.happiness_overallHappiness Overall Reportread
  • helpscout.reports.happiness_ratingsHappiness Ratings Reportread
  • helpscout.reports.phonePhone Reportread
  • helpscout.reports.productivity_first_response_timeProductivity - First Response Timeread
  • helpscout.reports.productivity_overallProductivity Overall Reportread
  • helpscout.reports.productivity_replies_sentProductivity - Replies Sentread
  • helpscout.reports.productivity_resolution_timeProductivity - Resolution Timeread
  • helpscout.reports.productivity_resolvedProductivity - Resolvedread
  • helpscout.reports.productivity_response_timeProductivity - Response Timeread
  • helpscout.reports.userUser/Team Overall Reportread
  • helpscout.reports.user_chatUser/Team Chat Reportread
  • helpscout.reports.user_conversation_historyUser Conversation Historyread
  • helpscout.reports.user_customer_helpedUser Customers Helpedread
  • helpscout.reports.user_drilldownUser Drill-downread
  • helpscout.reports.user_happinessUser Happinessread
  • helpscout.reports.user_happiness_drilldownUser Happiness drilldownread
  • helpscout.reports.user_repliesUser Repliesread
  • helpscout.reports.user_resolutionsUser Resolutionsread
Conversation threads9
  • helpscout.conversation_threads.create_chatCreate Chat Threadwrite
  • helpscout.conversation_threads.create_customerCreate Customer Threadwrite
  • helpscout.conversation_threads.create_noteCreate Notewrite
  • helpscout.conversation_threads.create_phoneCreate Phone Threadwrite
  • helpscout.conversation_threads.create_replyCreate Reply Threadwrite
  • helpscout.conversation_threads.get_original_sourceGet Thread Original Sourceread
  • helpscout.conversation_threads.listList Threadsread
  • helpscout.conversation_threads.list_v3List Threads (v3)read
  • helpscout.conversation_threads.updateUpdate Threadwrite
Customers8
  • helpscout.customers.createCreate Customerwrite
  • helpscout.customers.deleteDelete Customerdestructive
  • helpscout.customers.delete_asyncDelete Customer Asynchronouslydestructive
  • helpscout.customers.getGet Customerread
  • helpscout.customers.listList Customersread
  • helpscout.customers.list_v3List Customers (v3)read
  • helpscout.customers.overwriteOverwrite Customerwrite
  • helpscout.customers.updateUpdate Customerwrite
Conversations7
  • helpscout.conversations.createCreate Conversationwrite
  • helpscout.conversations.deleteDelete Conversationdestructive
  • helpscout.conversations.getGet Conversationread
  • helpscout.conversations.get_v3Get Conversation (v3)read
  • helpscout.conversations.listList Conversationsread
  • helpscout.conversations.list_v3List Conversations (v3)read
  • helpscout.conversations.updateUpdate Conversationwrite
Inbox saved replies5
  • helpscout.inbox_saved_replies.createCreate Saved Replywrite
  • helpscout.inbox_saved_replies.deleteDelete Saved Replydestructive
  • helpscout.inbox_saved_replies.getGet Saved Replyread
  • helpscout.inbox_saved_replies.listList Saved Repliesread
  • helpscout.inbox_saved_replies.updateUpdate Saved Replywrite
Organization properties5
  • helpscout.organization_properties.createCreate Organization Property Definitionwrite
  • helpscout.organization_properties.deleteDelete Organization Property Definitiondestructive
  • helpscout.organization_properties.getGet Organization Property Definitionread
  • helpscout.organization_properties.listList Organization Property Definitionsread
  • helpscout.organization_properties.updateUpdate Organization Property Definitionwrite
Organizations5
  • helpscout.organizations.createCreate Organizationwrite
  • helpscout.organizations.deleteDelete Organization by IDdestructive
  • helpscout.organizations.getGet Organization by IDread
  • helpscout.organizations.listList Organizationsread
  • helpscout.organizations.updateUpdate Organizationwrite
Users5
  • helpscout.users.createCreate Userwrite
  • helpscout.users.deleteDelete Userdestructive
  • helpscout.users.getGet Userread
  • helpscout.users.listList Usersread
  • helpscout.users.meGet Resource Ownerread
Webhooks5
  • helpscout.webhooks.createCreate Webhookwrite
  • helpscout.webhooks.deleteDelete Webhookdestructive
  • helpscout.webhooks.getGet Webhookread
  • helpscout.webhooks.listList Webhooksread
  • helpscout.webhooks.updateUpdate Webhookwrite
Customer address4
  • helpscout.customer_address.createCreate Addresswrite
  • helpscout.customer_address.deleteDelete Addressdestructive
  • helpscout.customer_address.getGet Addressread
  • helpscout.customer_address.updateUpdate Addresswrite
Customer chat handles4
  • helpscout.customer_chat_handles.createCreate Chat Handlewrite
  • helpscout.customer_chat_handles.deleteDelete Chat Handledestructive
  • helpscout.customer_chat_handles.listList Chats Handlesread
  • helpscout.customer_chat_handles.updateUpdate Chat Handleswrite
Customer emails4
  • helpscout.customer_emails.createCreate Emailwrite
  • helpscout.customer_emails.deleteDelete Emaildestructive
  • helpscout.customer_emails.listList Emailsread
  • helpscout.customer_emails.updateUpdate Emailwrite
Customer phones4
  • helpscout.customer_phones.createCreate Phonewrite
  • helpscout.customer_phones.deleteDelete Phonedestructive
  • helpscout.customer_phones.listList Phonesread
  • helpscout.customer_phones.updateUpdate Phonewrite
Customer social profiles4
  • helpscout.customer_social_profiles.createCreate Social Profilewrite
  • helpscout.customer_social_profiles.deleteDelete Social Profiledestructive
  • helpscout.customer_social_profiles.listList Social Profilesread
  • helpscout.customer_social_profiles.updateUpdate Social Profilewrite
Customer websites4
  • helpscout.customer_websites.createCreate Websitewrite
  • helpscout.customer_websites.deleteDelete Websitedestructive
  • helpscout.customer_websites.listList Websitesread
  • helpscout.customer_websites.updateUpdate Websitewrite
Conversation attachments3
  • helpscout.conversation_attachments.createUpload Attachmentwrite
  • helpscout.conversation_attachments.deleteDelete Attachmentdestructive
  • helpscout.conversation_attachments.get_dataGet Attachment Dataread
Conversation thread schedules3
  • helpscout.conversation_thread_schedules.deleteDelete Thread Scheduledestructive
  • helpscout.conversation_thread_schedules.publishPublish Thread Schedulewrite
  • helpscout.conversation_thread_schedules.updateUpdate Thread Schedulewrite
Customer properties3
  • helpscout.customer_properties.createCreate Customer Property Definitionwrite
  • helpscout.customer_properties.deleteDelete Customer Property Definitiondestructive
  • helpscout.customer_properties.listList Customer Property Definitionsread
User statuses3
  • helpscout.user_statuses.getGet user statusread
  • helpscout.user_statuses.listList users statusesread
  • helpscout.user_statuses.setSet user statuswrite
Workflows3
  • helpscout.workflows.listList Workflowsread
  • helpscout.workflows.runRun Manual Workflowswrite
  • helpscout.workflows.updateUpdate workflow statuswrite
Conversation snooze2
  • helpscout.conversation_snooze.deleteDelete Snoozedestructive
  • helpscout.conversation_snooze.updateUpdate Snoozewrite
Inbox routing2
  • helpscout.inbox_routing.getGet Routing configurationread
  • helpscout.inbox_routing.updateUpdate Routing configurationwrite
Inboxes2
  • helpscout.inboxes.getGet Inboxread
  • helpscout.inboxes.listList Inboxesread
Organization property values2
  • helpscout.organization_property_values.deleteRemove Organization Property Valuedestructive
  • helpscout.organization_property_values.setSet Organization Property Valuewrite
System users2
  • helpscout.system_users.getGet System Userread
  • helpscout.system_users.listList System Usersread
Tags2
  • helpscout.tags.getGet Tag by IDread
  • helpscout.tags.listList Tagsread
Team members2
  • helpscout.team_members.listList Team Membersread
  • helpscout.team_members.updateUpdate Team Memberswrite
User conversation reassignment2
  • helpscout.user_conversation_reassignment.getGet Conversation Reassignment configurationread
  • helpscout.user_conversation_reassignment.updateUpdate Conversation Reassignment configurationwrite
Conversation custom fields1
  • helpscout.conversation_custom_fields.updateUpdate Custom Fieldswrite
Conversation tags1
  • helpscout.conversation_tags.updateUpdate Tagswrite
Customer property values1
  • helpscout.customer_property_values.updateUpdate Customer Propertieswrite
Inbox fields1
  • helpscout.inbox_fields.listList Inbox Custom Fieldsread
Inbox folders1
  • helpscout.inbox_folders.listList Inbox Foldersread
Organization conversations1
  • helpscout.organization_conversations.listGet Organization Conversationsread
Organization customers1
  • helpscout.organization_customers.listGet Organization Customersread
Ratings1
  • helpscout.ratings.getGet Satisfaction Ratingread
Teams1
  • helpscout.teams.listList Teamsread

Questions

The Help Scout MCP server, answered.

Is there a Help Scout MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 145 Help Scout actions across reports, conversation threads, customers and conversations, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Help Scout.

What do I need to connect Help Scout?

Help Scout App ID and Help Scout App Secret, shown beside the App ID under Your Profile > My Apps. The free call account { op: "connections.requirements", service: "helpscout" } lists exactly what to paste.

Can an AI agent delete or change things in Help Scout?

Only if its key allows it, and only with an explicit confirmation. 19 Help Scout actions are destructive, including delete Customer, delete Organization by ID and delete User. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Help Scout API limit?

actionlake paces every call to the limits in the Help Scout service file: 200 calls a minute per connection. Repeated reads are answered from cache (79 Help Scout actions can be), which never reaches Help Scout.

What does a Help Scout action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (145 Help Scout actions page). Cache hits, searches, dry runs and calls Help Scout refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Help Scout API does it cover?

The Help Scout Mailbox API 2.0 (v2, with the v3 list/get endpoints) at api.helpscout.net. It is built from Help Scout's documentation as read on 22 October 2026. 145 actions in 37 areas, each one in the signed service file (version 1.0.0).

Can I combine Help Scout with my other systems?

Yes. ask joins Help Scout to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Help Scout maps crm.company, which 227 other connectors also map.

Does actionlake keep my Help Scout data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Help Scout credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Help Scout today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.