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/mcpdo { 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.
- 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 - 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 - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates 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
Quotes
162 read · 13 write · 1 destructive
List all quotes · Create a new quote · Retrieve a single quote · Update a quote
Clock events
117 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
Contacts
92 read · 5 write · 2 destructive
List all contacts · Create a new contact · Get a single contact · Update an existing contact
User absences
93 read · 5 write · 1 destructive
Create a user absence · Create a user absence · Create multiple user absences · List user absences
Time cards
83 read · 4 write · 1 destructive
Create a time card · Generate a time card · List all time cards · List time card history
Appointments
72 read · 4 write · 1 destructive
Create a new appointment · List all appointments · Get a single appointment · Update an appointment
Contracts
72 read · 5 write · 0 destructive
List contracts · Create a contract · Get a single contract · Update a contract
Oauth2 credentials
72 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.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
servicetrade.contacts.listList all contacts | List all contacts. | read | crm.contact.list177 connectors |
servicetrade.companies.listList all companies | List all companies. | read | crm.company.list162 connectors |
servicetrade.locations.listList all locations | List all locations. | read | crm.location.list48 connectors |
servicetrade.users.listList all users | List all users. | read | identity.user.list474 connectors |
servicetrade.contacts.createCreate a new contact | Create a new contact. | write | crm.contact.create161 connectors |
servicetrade.invoices.listList all invoices | List all invoices. | read | finance.invoice.list101 connectors |
servicetrade.companies.createCreate a new company | Create a new company. | write | crm.company.create142 connectors |
servicetrade.locations.createCreate a new location | Create a new location. | write | crm.location.create41 connectors |
servicetrade.companies.deleteDelete a company | Delete a company. | destructive | crm.company.delete119 connectors |
servicetrade.invoices.createCreate an invoice | Create an invoice. | write | finance.invoice.create74 connectors |
servicetrade.users.createCreate a new user | Create a new user. | write | identity.user.create262 connectors |
servicetrade.quotes.createCreate a new quote | Create a new quote. | write | finance.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.
- Readread
Which ServiceTrade invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
servicetrade.invoices.list - Writewrite
Create a new contact in ServiceTrade. Show me exactly what you will send before you save it.
calls
servicetrade.contacts.create - Across systemsread
For each customer, how many invoices are in ServiceTrade and how many tickets in ConnectWise PSA?
calls
servicetrade.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, oncrm.company· ConnectWise PSAFor each customer, how many invoices are in ServiceTrade and how many tickets in HubSpot CRM?
servicetrade.invoices.list+hubspot_crm.tickets.list, oncrm.company· HubSpot CRM
identity.user 517crm.company 227crm.contact 192finance.invoice 91crm.location 49finance.quote 45ask { 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"] } } ]}Governance for ServiceTrade
Destructive actions wait for a yes.
45 ServiceTrade actions are destructive. The first 10:
- Delete a company
servicetrade.companies.delete - Delete a location
servicetrade.locations.delete - Delete an asset
servicetrade.assets.delete - Delete an appointment
servicetrade.appointments.delete - Remove or delete a tag
servicetrade.tags.remove - Delete terms
servicetrade.terms.delete - Delete an import
servicetrade.imports.delete - Delete a region
servicetrade.regions.delete - Delete a comment
servicetrade.comments.delete - Delete a webhook
servicetrade.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.
Delete a company?
intent: the user asked me to delete a company
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]" } ]}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
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 quotewriteservicetrade.quotes.getRetrieve a single quotereadservicetrade.quotes.listList all quotesreadservicetrade.quotes.updateUpdate a quotewriteservicetrade.quotes.add_to_jobAdd quote to a jobwriteservicetrade.quotes.approveApprove a quotewrite- and 10 more in this area
Clock events11
servicetrade.clock_events.clock_inCreate a clock-in eventwriteservicetrade.clock_events.clock_outCreate a clock-out eventwriteservicetrade.clock_events.listList clock eventsreadservicetrade.clock_events.list_clock_insList clock-in events for a jobreadservicetrade.clock_events.deleteDelete a clock eventdestructiveservicetrade.clock_events.getGet a single clock eventread- and 5 more in this area
Contacts9
servicetrade.contacts.createCreate a new contactwriteservicetrade.contacts.getGet a single contactreadservicetrade.contacts.listList all contactsreadservicetrade.contacts.updateUpdate an existing contactwriteservicetrade.contacts.assign_companyAssign contact to a companywriteservicetrade.contacts.assign_locationAssign contact to a locationwrite- and 3 more in this area
User absences9
servicetrade.user_absences.createCreate a user absencewriteservicetrade.user_absences.create_for_userCreate a user absencewriteservicetrade.user_absences.create_manyCreate multiple user absenceswriteservicetrade.user_absences.listList user absencesreadservicetrade.user_absences.deleteDelete a user absencedestructiveservicetrade.user_absences.getGet a single user absenceread- and 3 more in this area
Time cards8
servicetrade.time_cards.createCreate a time cardwriteservicetrade.time_cards.generateGenerate a time cardwriteservicetrade.time_cards.listList all time cardsreadservicetrade.time_cards.list_historyList time card historyreadservicetrade.time_cards.deleteDelete a time carddestructiveservicetrade.time_cards.getRetrieve a single time cardread- and 2 more in this area
Appointments7
servicetrade.appointments.createCreate a new appointmentwriteservicetrade.appointments.getGet a single appointmentreadservicetrade.appointments.listList all appointmentsreadservicetrade.appointments.updateUpdate an appointmentwriteservicetrade.appointments.add_service_requestAdd a service to an appointmentwriteservicetrade.appointments.deleteDelete an appointmentdestructive- and 1 more in this area
Contracts7
servicetrade.contracts.createCreate a contractwriteservicetrade.contracts.getGet a single contractreadservicetrade.contracts.listList contractsreadservicetrade.contracts.updateUpdate a contractwriteservicetrade.contracts.copyCopy a contractwriteservicetrade.contracts.create_childCreate a child contractwrite- and 1 more in this area
Oauth2 credentials7
servicetrade.oauth2_credentials.createCreate new credentialswriteservicetrade.oauth2_credentials.disableDisable credentialswriteservicetrade.oauth2_credentials.enableEnable credentialswriteservicetrade.oauth2_credentials.listList all credentialsreadservicetrade.oauth2_credentials.getGet a single set of credentialsreadservicetrade.oauth2_credentials.rotate_secretRotate client secretdestructive- and 1 more in this area
Time card day logs7
servicetrade.time_card_day_logs.createCreate a day logwriteservicetrade.time_card_day_logs.create_manyCreate multiple day logswriteservicetrade.time_card_day_logs.getRetrieve a single day logreadservicetrade.time_card_day_logs.listList all day logsreadservicetrade.time_card_day_logs.deleteDelete a day logdestructiveservicetrade.time_card_day_logs.updateUpdate a day logwrite- and 1 more in this area
Users7
servicetrade.users.createCreate a new userwriteservicetrade.users.getRetrieve a single userreadservicetrade.users.listList all usersreadservicetrade.users.updateUpdate a userwriteservicetrade.users.assign_roleAssign a role to a userdestructiveservicetrade.users.list_rolesList roles assigned to a userread- and 1 more in this area
Assets6
servicetrade.assets.createCreate an assetwriteservicetrade.assets.getGet a single assetreadservicetrade.assets.listList assetsreadservicetrade.assets.updateUpdate an assetwriteservicetrade.assets.deleteDelete an assetdestructiveservicetrade.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 itemwriteservicetrade.budget_line_items.createCreate a budget line itemwriteservicetrade.budget_line_items.getGet a single budget line itemreadservicetrade.budget_line_items.listList budget line itemsreadservicetrade.budget_line_items.deleteDelete a budget line itemdestructiveservicetrade.budget_line_items.updateUpdate a budget line itemwrite
Clock spans6
servicetrade.clock_spans.batchBatch create, update, or delete clock spanswriteservicetrade.clock_spans.createCreate a clock span (clock-in)writeservicetrade.clock_spans.getGet a clock span by IDreadservicetrade.clock_spans.listList clock spansreadservicetrade.clock_spans.deleteDelete a clock spandestructiveservicetrade.clock_spans.updateUpdate a clock span (typically clock-out)write
Companies6
servicetrade.companies.createCreate a new companywriteservicetrade.companies.getRetrieve a single companyreadservicetrade.companies.listList all companiesreadservicetrade.companies.updateUpdate a companywriteservicetrade.companies.deleteDelete a companydestructiveservicetrade.companies.mergeMerge a company into anotherwrite
Contract rules6
servicetrade.contract_rules.createCreate a contract rulewriteservicetrade.contract_rules.getGet a single contract rulereadservicetrade.contract_rules.listList contract rules for a contractreadservicetrade.contract_rules.list_by_date_rangeList contract rules by date rangereadservicetrade.contract_rules.deleteDelete a contract ruledestructiveservicetrade.contract_rules.updateUpdate a contract rulewrite
Invoices6
servicetrade.invoices.createCreate an invoicewriteservicetrade.invoices.getRetrieve a single invoice by IDreadservicetrade.invoices.listList all invoicesreadservicetrade.invoices.updateUpdate an invoicewriteservicetrade.invoices.create_from_jobCreate invoice from jobwriteservicetrade.invoices.create_from_recurrencesCreate invoice from recurrenceswrite
Locations6
servicetrade.locations.createCreate a new locationwriteservicetrade.locations.getGet a single locationreadservicetrade.locations.listList all locationsreadservicetrade.locations.updateUpdate a locationwriteservicetrade.locations.deleteDelete a locationdestructiveservicetrade.locations.mergeMerge a location into anotherwrite
Service recurrences6
servicetrade.service_recurrences.createCreate a new service recurrencewriteservicetrade.service_recurrences.getRetrieve a single service recurrencereadservicetrade.service_recurrences.listList all service recurrencesreadservicetrade.service_recurrences.list_eventsGet events for a task list service recurrencereadservicetrade.service_recurrences.regenerateRegenerate a task list service recurrencewriteservicetrade.service_recurrences.updateUpdate a service recurrencewrite
Tags6
servicetrade.tags.createCreate a tag or attach to an entitywriteservicetrade.tags.getGet a single tagreadservicetrade.tags.listList all tagsreadservicetrade.tags.mergeMerge tagswriteservicetrade.tags.removeRemove or delete a tagdestructiveservicetrade.tags.renameRename a tagwrite
Attachments5
servicetrade.attachments.getGet a single attachmentreadservicetrade.attachments.get_thumbnailGet thumbnail URLs for an attachmentreadservicetrade.attachments.listList attachments for an entityreadservicetrade.attachments.updateUpdate an attachmentwriteservicetrade.attachments.deleteDelete an attachmentdestructive
Brands5
servicetrade.brands.createCreate a new brand for a companywriteservicetrade.brands.getGet a single brand for a companyreadservicetrade.brands.listList all brandsreadservicetrade.brands.list_for_companyList brands for a companyreadservicetrade.brands.updateUpdate a brand for a companywrite
Budget categories5
servicetrade.budget_categories.createCreate a new budget categorywriteservicetrade.budget_categories.getGet a single budget categoryreadservicetrade.budget_categories.listList budget categoriesreadservicetrade.budget_categories.updateUpdate a budget categorywriteservicetrade.budget_categories.deleteDelete a budget categorydestructive
Budgets5
servicetrade.budgets.createCreate a new budgetwriteservicetrade.budgets.getGet a single budgetreadservicetrade.budgets.listList budgetsreadservicetrade.budgets.reviseRevise a budgetwriteservicetrade.budgets.updateUpdate a budgetwrite
Change order categories5
servicetrade.change_order_categories.createCreate a new change order categorywriteservicetrade.change_order_categories.getGet a single change order categoryreadservicetrade.change_order_categories.listList change order categoriesreadservicetrade.change_order_categories.updateUpdate a change order categorywriteservicetrade.change_order_categories.deleteDelete a change order categorydestructive
Change order line items5
servicetrade.change_order_line_items.createCreate a change order line itemwriteservicetrade.change_order_line_items.getGet a single change order line itemreadservicetrade.change_order_line_items.listList change order line itemsreadservicetrade.change_order_line_items.updateUpdate a change order line itemwriteservicetrade.change_order_line_items.deleteDelete a change order line itemdestructive
Change orders5
servicetrade.change_orders.createCreate a new change orderwriteservicetrade.change_orders.getGet a single change orderreadservicetrade.change_orders.listList change ordersreadservicetrade.change_orders.updateUpdate a change orderwriteservicetrade.change_orders.deleteDelete a change orderdestructive
Comments5
servicetrade.comments.createCreate a commentwriteservicetrade.comments.getGet a single commentreadservicetrade.comments.listList commentsreadservicetrade.comments.updateUpdate a commentwriteservicetrade.comments.deleteDelete a commentdestructive
Contact types5
servicetrade.contact_types.createCreate a custom contact typewriteservicetrade.contact_types.listList all contact typesreadservicetrade.contact_types.mergeMerge contact typeswriteservicetrade.contact_types.updateUpdate a custom contact typewriteservicetrade.contact_types.deleteDelete a custom contact typedestructive
Deficiencies5
servicetrade.deficiencies.createReport a new deficiencywriteservicetrade.deficiencies.getGet a single deficiencyreadservicetrade.deficiencies.listList all deficienciesreadservicetrade.deficiencies.updateUpdate an existing deficiencywriteservicetrade.deficiencies.deleteDelete a deficiencydestructive
External ids5
servicetrade.external_ids.getGet external ID for a specific systemreadservicetrade.external_ids.list_for_entityGet all external IDs for an entityreadservicetrade.external_ids.lookup_entityLook up entity by external IDreadservicetrade.external_ids.setSet external ID for an entitywriteservicetrade.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.