Skip to content

Connectors · Work & projects

ServiceTrade MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ServiceTrade and the rest of your systems. It gives your agent 376 ServiceTrade actions (165 reads, 166 writes and 45 that wait for a confirmation) and holds the ServiceTrade credential itself, so the agent never does. It paces ServiceTrade'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: "servicetrade.contacts.list",  intent: "check which ServiceTrade account is connected"}# List all contacts · read · 1 upstream call
  • 376actionsin one signed file
  • 165readlook, never change
  • 166writecreate and update
  • 45wait for a yesdestructive, confirmed first

Set up

Connect ServiceTrade 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 ServiceTrade.

    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_idServiceTrade API client ID: in ServiceTrade create OAuth2 API credentials (Settings > API credentials) for a user…
    • client_secretServiceTrade API client secret, shown once when the credentials are created or rotated
    account { op: "connections.requirements", service: "servicetrade" }
    # 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: "servicetrade.contacts.list" }# list all contacts · read · 1 upstream callcheck { action: "servicetrade.contacts.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

ServiceTrade 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
10 calls a second, per connection
API covered
ServiceTrade API 1.0.0 (OpenAPI 3.1, api.servicetrade.com/api)api.servicetrade.com/api
Built from
ServiceTrade's documentation, read 23 October 2026api.servicetrade.comapi.servicetrade.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
161 of 165 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line ServiceTrade up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in ServiceTrade.

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

  • 165readlook, never change
  • 166writecreate and update
  • 45destructivewait for a confirmation
  1. Quotes

    16

    2 read · 13 write · 1 destructive

    List all quotes · Create a new quote · Retrieve a single quote · Update a quote

  2. Clock events

    11

    7 read · 3 write · 1 destructive

    Create a clock-in event · Create a clock-out event · List clock events · List clock-in events for a job

  3. Contacts

    9

    2 read · 5 write · 2 destructive

    List all contacts · Create a new contact · Get a single contact · Update an existing contact

  4. User absences

    9

    3 read · 5 write · 1 destructive

    Create a user absence · Create a user absence · Create multiple user absences · List user absences

  5. Time cards

    8

    3 read · 4 write · 1 destructive

    Create a time card · Generate a time card · List all time cards · List time card history

  6. Appointments

    7

    2 read · 4 write · 1 destructive

    Create a new appointment · List all appointments · Get a single appointment · Update an appointment

  7. Contracts

    7

    2 read · 5 write · 0 destructive

    List contracts · Create a contract · Get a single contract · Update a contract

  8. Oauth2 credentials

    7

    2 read · 4 write · 1 destructive

    Create new credentials · List all credentials · Disable credentials · Enable credentials

75 more areas · 302 actions
  • Time card day logs 7
  • Users 7
  • Assets 6
  • Budget line items 6
  • Clock spans 6
  • Companies 6
  • Contract rules 6
  • Invoices 6
  • Locations 6
  • Service recurrences 6
  • Tags 6
  • Attachments 5
  • Brands 5
  • Budget categories 5
  • Budgets 5
  • Change order categories 5
  • Change order line items 5
  • Change orders 5
  • Comments 5
  • Contact types 5
  • Deficiencies 5
  • External ids 5
  • Group labels 5
  • Invoice items 5
  • Invoice recurrence items 5
  • Job items 5
  • Job type group labels 5
  • Jobs 5
  • Quote items 5
  • Quote template items 5
  • Quote templates 5
  • Regions 5
  • Service items 5
  • Service templates 5
  • Task lists 5
  • Tax groups 5
  • Terms 5
  • Time card comments 5
  • User group labels 5
  • User values 5
  • Webhooks 5
  • External syncs 4
  • External systems 4
  • Invoice recurrences 4
  • Job contexts 4
  • Lib items 4
  • Payments 4
  • Service requests 4
  • Tasks 4
  • Warehouses 4
  • Imports 3
  • Library task lists 3
  • Messages 3
  • Projects 3
  • Task instances 3
  • Account settings 2
  • Accounts 2
  • Activities 2
  • Asset definitions 2
  • Deficiency reports 2
  • Entity filters 2
  • Eula 2
  • Library tasks 2
  • Master agreement 2
  • Payment terms 2
  • Quote requests 2
  • Roles 2
  • Service lines 2
  • Auth 1
  • Config 1
  • History 1
  • Oauth2 userinfo 1
  • Tax rates 1
  • Tokens 1
  • User activities 1

Top actions

The ServiceTrade API, shaped for agents.

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

ActionWhat it doesEffectSame name in
servicetrade.contacts.listList all contactsList all contacts.readcrm.contact.list177 connectors
servicetrade.companies.listList all companiesList all companies.readcrm.company.list162 connectors
servicetrade.locations.listList all locationsList all locations.readcrm.location.list48 connectors
servicetrade.users.listList all usersList all users.readidentity.user.list474 connectors
servicetrade.contacts.createCreate a new contactCreate a new contact.writecrm.contact.create161 connectors
servicetrade.invoices.listList all invoicesList all invoices.readfinance.invoice.list101 connectors
servicetrade.companies.createCreate a new companyCreate a new company.writecrm.company.create142 connectors
servicetrade.locations.createCreate a new locationCreate a new location.writecrm.location.create41 connectors
servicetrade.companies.deleteDelete a companyDelete a company.destructivecrm.company.delete119 connectors
servicetrade.invoices.createCreate an invoiceCreate an invoice.writefinance.invoice.create74 connectors
servicetrade.users.createCreate a new userCreate a new user.writeidentity.user.create262 connectors
servicetrade.quotes.createCreate a new quoteCreate a new quote.writefinance.quote.create52 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

    Which ServiceTrade invoices are more than 30 days overdue? Group them by customer with the total owed.

    callsservicetrade.invoices.list

  2. Writewrite

    Create a new contact in ServiceTrade. Show me exactly what you will send before you save it.

    callsservicetrade.contacts.create

  3. Across systemsread

    For each customer, how many invoices are in ServiceTrade and how many tickets in ConnectWise PSA?

    callsservicetrade.invoices.listconnectwise_manage.tickets.list

Across your systems

ServiceTrade, joined to the rest of your business.

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

  • For each customer, how many invoices are in ServiceTrade and how many tickets in ConnectWise PSA?

    servicetrade.invoices.list + connectwise_manage.tickets.list, on crm.company · ConnectWise PSA

  • For each customer, how many invoices are in ServiceTrade and how many tickets in HubSpot CRM?

    servicetrade.invoices.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorsidentity.user 517crm.company 227crm.contact 192finance.invoice 91crm.location 49finance.quote 45
ask
ask {  intent: "for each customer, how many invoices are in ServiceTrade and how many tickets in ConnectWise PSA",  steps: [    { action: "servicetrade.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "inv",        right: "tix",        on: "crm.company",        group_by: "inv.company_name",        select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for ServiceTrade

Destructive actions wait for a yes.

45 ServiceTrade actions are destructive. The first 10:

  • Delete a companyservicetrade.companies.delete
  • Delete a locationservicetrade.locations.delete
  • Delete an assetservicetrade.assets.delete
  • Delete an appointmentservicetrade.appointments.delete
  • Remove or delete a tagservicetrade.tags.remove
  • Delete termsservicetrade.terms.delete
  • Delete an importservicetrade.imports.delete
  • Delete a regionservicetrade.regions.delete
  • Delete a commentservicetrade.comments.delete
  • Delete a webhookservicetrade.webhooks.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.

doservicetrade.companies.deleteconfirm_policy: human

Delete a company?

intent: the user asked me to delete a company

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

Cost

What ServiceTrade costs on actionlake.

Every ServiceTrade action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call ServiceTrade 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 376 ServiceTrade actions
  • 376actions pageeach page of a long list is one call
  • 161reads 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 ServiceTrade action.

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

Quotes16
  • servicetrade.quotes.createCreate a new quotewrite
  • servicetrade.quotes.getRetrieve a single quoteread
  • servicetrade.quotes.listList all quotesread
  • servicetrade.quotes.updateUpdate a quotewrite
  • servicetrade.quotes.add_to_jobAdd quote to a jobwrite
  • servicetrade.quotes.approveApprove a quotewrite
  • and 10 more in this area
Clock events11
  • servicetrade.clock_events.clock_inCreate a clock-in eventwrite
  • servicetrade.clock_events.clock_outCreate a clock-out eventwrite
  • servicetrade.clock_events.listList clock eventsread
  • servicetrade.clock_events.list_clock_insList clock-in events for a jobread
  • servicetrade.clock_events.deleteDelete a clock eventdestructive
  • servicetrade.clock_events.getGet a single clock eventread
  • and 5 more in this area
Contacts9
  • servicetrade.contacts.createCreate a new contactwrite
  • servicetrade.contacts.getGet a single contactread
  • servicetrade.contacts.listList all contactsread
  • servicetrade.contacts.updateUpdate an existing contactwrite
  • servicetrade.contacts.assign_companyAssign contact to a companywrite
  • servicetrade.contacts.assign_locationAssign contact to a locationwrite
  • and 3 more in this area
User absences9
  • servicetrade.user_absences.createCreate a user absencewrite
  • servicetrade.user_absences.create_for_userCreate a user absencewrite
  • servicetrade.user_absences.create_manyCreate multiple user absenceswrite
  • servicetrade.user_absences.listList user absencesread
  • servicetrade.user_absences.deleteDelete a user absencedestructive
  • servicetrade.user_absences.getGet a single user absenceread
  • and 3 more in this area
Time cards8
  • servicetrade.time_cards.createCreate a time cardwrite
  • servicetrade.time_cards.generateGenerate a time cardwrite
  • servicetrade.time_cards.listList all time cardsread
  • servicetrade.time_cards.list_historyList time card historyread
  • servicetrade.time_cards.deleteDelete a time carddestructive
  • servicetrade.time_cards.getRetrieve a single time cardread
  • and 2 more in this area
Appointments7
  • servicetrade.appointments.createCreate a new appointmentwrite
  • servicetrade.appointments.getGet a single appointmentread
  • servicetrade.appointments.listList all appointmentsread
  • servicetrade.appointments.updateUpdate an appointmentwrite
  • servicetrade.appointments.add_service_requestAdd a service to an appointmentwrite
  • servicetrade.appointments.deleteDelete an appointmentdestructive
  • and 1 more in this area
Contracts7
  • servicetrade.contracts.createCreate a contractwrite
  • servicetrade.contracts.getGet a single contractread
  • servicetrade.contracts.listList contractsread
  • servicetrade.contracts.updateUpdate a contractwrite
  • servicetrade.contracts.copyCopy a contractwrite
  • servicetrade.contracts.create_childCreate a child contractwrite
  • and 1 more in this area
Oauth2 credentials7
  • servicetrade.oauth2_credentials.createCreate new credentialswrite
  • servicetrade.oauth2_credentials.disableDisable credentialswrite
  • servicetrade.oauth2_credentials.enableEnable credentialswrite
  • servicetrade.oauth2_credentials.listList all credentialsread
  • servicetrade.oauth2_credentials.getGet a single set of credentialsread
  • servicetrade.oauth2_credentials.rotate_secretRotate client secretdestructive
  • and 1 more in this area
Time card day logs7
  • servicetrade.time_card_day_logs.createCreate a day logwrite
  • servicetrade.time_card_day_logs.create_manyCreate multiple day logswrite
  • servicetrade.time_card_day_logs.getRetrieve a single day logread
  • servicetrade.time_card_day_logs.listList all day logsread
  • servicetrade.time_card_day_logs.deleteDelete a day logdestructive
  • servicetrade.time_card_day_logs.updateUpdate a day logwrite
  • and 1 more in this area
Users7
  • servicetrade.users.createCreate a new userwrite
  • servicetrade.users.getRetrieve a single userread
  • servicetrade.users.listList all usersread
  • servicetrade.users.updateUpdate a userwrite
  • servicetrade.users.assign_roleAssign a role to a userdestructive
  • servicetrade.users.list_rolesList roles assigned to a userread
  • and 1 more in this area
Assets6
  • servicetrade.assets.createCreate an assetwrite
  • servicetrade.assets.getGet a single assetread
  • servicetrade.assets.listList assetsread
  • servicetrade.assets.updateUpdate an assetwrite
  • servicetrade.assets.deleteDelete an assetdestructive
  • servicetrade.assets.enable_group_taskingEnable tasking for an abstract asset groupwrite
Budget line items6
  • servicetrade.budget_line_items.copy_to_jobCopy budget line item to job itemwrite
  • servicetrade.budget_line_items.createCreate a budget line itemwrite
  • servicetrade.budget_line_items.getGet a single budget line itemread
  • servicetrade.budget_line_items.listList budget line itemsread
  • servicetrade.budget_line_items.deleteDelete a budget line itemdestructive
  • servicetrade.budget_line_items.updateUpdate a budget line itemwrite
Clock spans6
  • servicetrade.clock_spans.batchBatch create, update, or delete clock spanswrite
  • servicetrade.clock_spans.createCreate a clock span (clock-in)write
  • servicetrade.clock_spans.getGet a clock span by IDread
  • servicetrade.clock_spans.listList clock spansread
  • servicetrade.clock_spans.deleteDelete a clock spandestructive
  • servicetrade.clock_spans.updateUpdate a clock span (typically clock-out)write
Companies6
  • servicetrade.companies.createCreate a new companywrite
  • servicetrade.companies.getRetrieve a single companyread
  • servicetrade.companies.listList all companiesread
  • servicetrade.companies.updateUpdate a companywrite
  • servicetrade.companies.deleteDelete a companydestructive
  • servicetrade.companies.mergeMerge a company into anotherwrite
Contract rules6
  • servicetrade.contract_rules.createCreate a contract rulewrite
  • servicetrade.contract_rules.getGet a single contract ruleread
  • servicetrade.contract_rules.listList contract rules for a contractread
  • servicetrade.contract_rules.list_by_date_rangeList contract rules by date rangeread
  • servicetrade.contract_rules.deleteDelete a contract ruledestructive
  • servicetrade.contract_rules.updateUpdate a contract rulewrite
Invoices6
  • servicetrade.invoices.createCreate an invoicewrite
  • servicetrade.invoices.getRetrieve a single invoice by IDread
  • servicetrade.invoices.listList all invoicesread
  • servicetrade.invoices.updateUpdate an invoicewrite
  • servicetrade.invoices.create_from_jobCreate invoice from jobwrite
  • servicetrade.invoices.create_from_recurrencesCreate invoice from recurrenceswrite
Locations6
  • servicetrade.locations.createCreate a new locationwrite
  • servicetrade.locations.getGet a single locationread
  • servicetrade.locations.listList all locationsread
  • servicetrade.locations.updateUpdate a locationwrite
  • servicetrade.locations.deleteDelete a locationdestructive
  • servicetrade.locations.mergeMerge a location into anotherwrite
Service recurrences6
  • servicetrade.service_recurrences.createCreate a new service recurrencewrite
  • servicetrade.service_recurrences.getRetrieve a single service recurrenceread
  • servicetrade.service_recurrences.listList all service recurrencesread
  • servicetrade.service_recurrences.list_eventsGet events for a task list service recurrenceread
  • servicetrade.service_recurrences.regenerateRegenerate a task list service recurrencewrite
  • servicetrade.service_recurrences.updateUpdate a service recurrencewrite
Tags6
  • servicetrade.tags.createCreate a tag or attach to an entitywrite
  • servicetrade.tags.getGet a single tagread
  • servicetrade.tags.listList all tagsread
  • servicetrade.tags.mergeMerge tagswrite
  • servicetrade.tags.removeRemove or delete a tagdestructive
  • servicetrade.tags.renameRename a tagwrite
Attachments5
  • servicetrade.attachments.getGet a single attachmentread
  • servicetrade.attachments.get_thumbnailGet thumbnail URLs for an attachmentread
  • servicetrade.attachments.listList attachments for an entityread
  • servicetrade.attachments.updateUpdate an attachmentwrite
  • servicetrade.attachments.deleteDelete an attachmentdestructive
Brands5
  • servicetrade.brands.createCreate a new brand for a companywrite
  • servicetrade.brands.getGet a single brand for a companyread
  • servicetrade.brands.listList all brandsread
  • servicetrade.brands.list_for_companyList brands for a companyread
  • servicetrade.brands.updateUpdate a brand for a companywrite
Budget categories5
  • servicetrade.budget_categories.createCreate a new budget categorywrite
  • servicetrade.budget_categories.getGet a single budget categoryread
  • servicetrade.budget_categories.listList budget categoriesread
  • servicetrade.budget_categories.updateUpdate a budget categorywrite
  • servicetrade.budget_categories.deleteDelete a budget categorydestructive
Budgets5
  • servicetrade.budgets.createCreate a new budgetwrite
  • servicetrade.budgets.getGet a single budgetread
  • servicetrade.budgets.listList budgetsread
  • servicetrade.budgets.reviseRevise a budgetwrite
  • servicetrade.budgets.updateUpdate a budgetwrite
Change order categories5
  • servicetrade.change_order_categories.createCreate a new change order categorywrite
  • servicetrade.change_order_categories.getGet a single change order categoryread
  • servicetrade.change_order_categories.listList change order categoriesread
  • servicetrade.change_order_categories.updateUpdate a change order categorywrite
  • servicetrade.change_order_categories.deleteDelete a change order categorydestructive
Change order line items5
  • servicetrade.change_order_line_items.createCreate a change order line itemwrite
  • servicetrade.change_order_line_items.getGet a single change order line itemread
  • servicetrade.change_order_line_items.listList change order line itemsread
  • servicetrade.change_order_line_items.updateUpdate a change order line itemwrite
  • servicetrade.change_order_line_items.deleteDelete a change order line itemdestructive
Change orders5
  • servicetrade.change_orders.createCreate a new change orderwrite
  • servicetrade.change_orders.getGet a single change orderread
  • servicetrade.change_orders.listList change ordersread
  • servicetrade.change_orders.updateUpdate a change orderwrite
  • servicetrade.change_orders.deleteDelete a change orderdestructive
Comments5
  • servicetrade.comments.createCreate a commentwrite
  • servicetrade.comments.getGet a single commentread
  • servicetrade.comments.listList commentsread
  • servicetrade.comments.updateUpdate a commentwrite
  • servicetrade.comments.deleteDelete a commentdestructive
Contact types5
  • servicetrade.contact_types.createCreate a custom contact typewrite
  • servicetrade.contact_types.listList all contact typesread
  • servicetrade.contact_types.mergeMerge contact typeswrite
  • servicetrade.contact_types.updateUpdate a custom contact typewrite
  • servicetrade.contact_types.deleteDelete a custom contact typedestructive
Deficiencies5
  • servicetrade.deficiencies.createReport a new deficiencywrite
  • servicetrade.deficiencies.getGet a single deficiencyread
  • servicetrade.deficiencies.listList all deficienciesread
  • servicetrade.deficiencies.updateUpdate an existing deficiencywrite
  • servicetrade.deficiencies.deleteDelete a deficiencydestructive
External ids5
  • servicetrade.external_ids.getGet external ID for a specific systemread
  • servicetrade.external_ids.list_for_entityGet all external IDs for an entityread
  • servicetrade.external_ids.lookup_entityLook up entity by external IDread
  • servicetrade.external_ids.setSet external ID for an entitywrite
  • servicetrade.external_ids.updateUpdate external ID for an entitywrite

Group labels 5Invoice items 5Invoice recurrence items 5Job items 5Job type group labels 5Jobs 5Quote items 5Quote template items 5Quote templates 5Regions 5Service items 5Service templates 5Task lists 5Tax groups 5Terms 5Time card comments 5User group labels 5User values 5Webhooks 5External syncs 4External systems 4Invoice recurrences 4Job contexts 4Lib items 4Payments 4Service requests 4Tasks 4Warehouses 4Imports 3Library task lists 3Messages 3Projects 3Task instances 3Account settings 2Accounts 2Activities 2Asset definitions 2Deficiency reports 2Entity filters 2Eula 2Library tasks 2Master agreement 2Payment terms 2Quote requests 2Roles 2Service lines 2Auth 1Config 1History 1Oauth2 userinfo 1Tax rates 1Tokens 1User activities 1

This index shows a sample of each area. All 376 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The ServiceTrade MCP server, answered.

Is there a ServiceTrade MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 376 ServiceTrade actions across quotes, clock events, contacts and user absences, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ServiceTrade.

What do I need to connect ServiceTrade?

ServiceTrade API client ID: in ServiceTrade create OAuth2 API credentials (Settings > API credentials) for a user… and ServiceTrade API client secret, shown once when the credentials are created or rotated. The free call account { op: "connections.requirements", service: "servicetrade" } lists exactly what to paste.

Can an AI agent delete or change things in ServiceTrade?

Only if its key allows it, and only with an explicit confirmation. 45 ServiceTrade actions are destructive, including delete a company, delete a location and delete an asset. 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 ServiceTrade API limit?

actionlake paces every call to the limits in the ServiceTrade service file: 10 calls a second per connection. Repeated reads are answered from cache (161 ServiceTrade actions can be), which never reaches ServiceTrade.

What does a ServiceTrade action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (376 ServiceTrade actions page). Cache hits, searches, dry runs and calls ServiceTrade 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 ServiceTrade API does it cover?

The ServiceTrade API 1.0.0 (OpenAPI 3.1, api.servicetrade.com/api) at api.servicetrade.com/api. It is built from ServiceTrade's documentation as read on 23 October 2026. 376 actions in 83 areas, each one in the signed service file (version 1.0.0).

Can I combine ServiceTrade with my other systems?

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

Does actionlake keep my ServiceTrade 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 ServiceTrade 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 ServiceTrade today.

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