Connectors · MSP & PSA
ConnectWise PSA MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ConnectWise PSA and the rest of your systems. It gives your agent 927 ConnectWise PSA actions (499 reads, 286 writes and 142 that wait for a confirmation) and holds the ConnectWise PSA credential itself, so the agent never does. It paces ConnectWise PSA'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: "connectwise_manage.tickets.list", intent: "check which ConnectWise PSA account is connected"}# List ConnectWise service tickets · read · 1 upstream call- 927actionsin one signed file
- 499readlook, never change
- 286writecreate and update
- 142wait for a yesdestructive, confirmed first
Set up
Connect ConnectWise PSA 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 ConnectWise PSA.
Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
company_idConnectWise company idpublic_keyAPI member public keyprivate_keyAPI member private keyclient_idRegistered integrator client id
account { op: "connections.requirements", service: "connectwise_manage" } # 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: "connectwise_manage.tickets.list" }# list connectwise service tickets · read · 1 upstream callcheck { action: "connectwise_manage.tickets.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
ConnectWise PSA at a glance
- Sign-in
- Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
company_idpublic_keyprivate_keyclient_id- Limits we pace to
- 600 calls a minute, per connection
- API covered
- ConnectWise PSA API 3.0
api-na.myconnectwise.net/v4_6_release/apis/3.0 - Built from
- ConnectWise PSA's documentation, read 15 September 2026developer.connectwise.com
- Service file
- Version 2.0.0, signed (Ed25519)
- Cached reads
- 499 of 499 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 12 in the store
- Shared entities
- 12, so ask can line ConnectWise PSA up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in ConnectWise PSA.
927 actions in 13 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 499readlook, never change
- 286writecreate and update
- 142destructivewait for a confirmation
PSA
346186 read · 106 write · 54 destructive
List ConnectWise service tickets · List ConnectWise contacts · List ConnectWise companies · Create a ConnectWise service ticket
Directory
11566 read · 34 write · 15 destructive
List ConnectWise members · List ConnectWise member info records · Create a ConnectWise member · Get a ConnectWise member
Procurement
9045 read · 30 write · 15 destructive
List ConnectWise catalog items · List ConnectWise purchase orders · Create a ConnectWise catalog item · Get a ConnectWise catalog item
Projects
8244 read · 25 write · 13 destructive
List ConnectWise projects · Create a ConnectWise project · List ConnectWise project ticket time entries · Get a ConnectWise project
Pipeline
6633 read · 22 write · 11 destructive
List ConnectWise opportunities · Create a ConnectWise opportunity · Get a ConnectWise opportunity · Replace a ConnectWise opportunity
Billing
5729 read · 19 write · 9 destructive
List ConnectWise invoices · List ConnectWise closed invoices · Create a ConnectWise invoice · Get a ConnectWise invoice
Contracts
4221 read · 14 write · 7 destructive
List ConnectWise agreements · Create a ConnectWise agreement · Get a ConnectWise agreement · Replace a ConnectWise agreement
Scheduling
4124 read · 12 write · 5 destructive
Create a ConnectWise schedule entry · List ConnectWise schedule details · List ConnectWise schedule entries · Get a ConnectWise schedule detail
5 more areas · 88 actions
- Time 34
- Expenses 25
- Orders 12
- Ledger 11
- Documents 6
Top actions
The ConnectWise PSA API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 473 of ConnectWise PSA's 544 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
connectwise_manage.tickets.listList ConnectWise service tickets | List service tickets, filtered by a ConnectWise conditions expression. | read | service.ticket.list56 connectors |
connectwise_manage.contacts.listList ConnectWise contacts | List contacts, filtered by a ConnectWise conditions expression. | read | crm.contact.list177 connectors |
connectwise_manage.companies.listList ConnectWise companies | List companies, filtered by a ConnectWise conditions expression. | read | crm.company.list162 connectors |
connectwise_manage.agreements.listList ConnectWise agreements | List agreements, filtered by a ConnectWise conditions expression. | read | service.contract.list23 connectors |
connectwise_manage.opportunities.listList ConnectWise opportunities | List opportunities, filtered by a ConnectWise conditions expression. | read | crm.deal.list43 connectors |
connectwise_manage.tickets.createCreate a ConnectWise service ticket | Create a service ticket. | write | service.ticket.create54 connectors |
connectwise_manage.catalog_items.listList ConnectWise catalog items | List catalog items, filtered by a ConnectWise conditions expression. | read | commerce.product.list112 connectors |
connectwise_manage.projects.listList ConnectWise projects | List projects, filtered by a ConnectWise conditions expression. | read | work.project.list109 connectors |
connectwise_manage.contacts.createCreate a ConnectWise contact | Create a contact. | write | crm.contact.create161 connectors |
connectwise_manage.invoices.listList ConnectWise invoices | List invoices, filtered by a ConnectWise conditions expression. | read | finance.invoice.list101 connectors |
connectwise_manage.companies.createCreate a ConnectWise company | Create a company. | write | crm.company.create142 connectors |
connectwise_manage.tickets.deleteDelete a ConnectWise service ticket | Delete a service ticket permanently. | destructive | service.ticket.delete42 connectors |
Try it
Prompts to paste into Claude.
Each one names the ConnectWise PSA actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which ConnectWise PSA invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
connectwise_manage.invoices.list - Planwrite
Onboard a new company and register its first configuration in ConnectWise PSA.
calls
connectwise_manage.companies.createconnectwise_manage.company_sites.getconnectwise_manage.company_sites.updateconnectwise_manage.configurations.createconnectwise_manage.tickets.create+1 more - Planread
Weekly service board health report in ConnectWise PSA.
calls
connectwise_manage.board_statuses.listconnectwise_manage.board_items.listconnectwise_manage.tickets.listconnectwise_manage.slas.listconnectwise_manage.service_severities.list+1 more - Writewrite
Create a ConnectWise service ticket in ConnectWise PSA. Show me exactly what you will send before you save it.
calls
connectwise_manage.tickets.create - Across systemsread
For each customer, how many invoices are in ConnectWise PSA and how many tickets in HubSpot CRM?
calls
connectwise_manage.invoices.listhubspot_crm.tickets.list
Across your systems
ConnectWise PSA, joined to the rest of your business.
One ask fetches from ConnectWise PSA 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 ConnectWise PSA and how many tickets in HubSpot CRM?
connectwise_manage.invoices.list+hubspot_crm.tickets.list, oncrm.company· HubSpot CRMFor each customer, how many invoices are in ConnectWise PSA and how many tickets in ServiceNow?
connectwise_manage.invoices.list+servicenow_table.incidents.list, oncrm.company· ServiceNow
crm.company 227crm.contact 192work.project 116commerce.product 109finance.invoice 91service.ticket 62crm.deal 43asset.asset 40ask { intent: "for each customer, how many invoices are in ConnectWise PSA and how many tickets in HubSpot CRM", steps: [ { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { action: "hubspot_crm.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"] } } ]}The plan store
Ready-made plans for ConnectWise PSA.
12 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Weekly service board health report
Use it when Someone asks for a weekly snapshot of one service board and the SLA and severity settings behind it.
Triage open service tickets and log a triage note on each
Use it when A dispatcher wants every open ticket on a board reviewed and stamped with an internal triage note in one pass.
Move resolved tickets to a closed status after human approval
Use it when A service manager wants a batch of resolved tickets closed out, but only after a person signs off on the list.
A person decides
Close count resolved tickets on board board id and write a resolution note on each.
Apply a payment to an invoice after approval
Use it when Finance has received a customer payment and wants it applied to a specific invoice with a recorded approval.
A person decides
Apply a payment of amount to invoice invoiceNumber with reference reference number.
Log a time entry against a ticket and note it
Use it when An engineer finished work on a ticket and wants the time booked and the ticket note written together.
Open a sales opportunity and log the first contact note
Use it when A sales rep wants a new opportunity created for a company with its opening note and follow-up activity in place.
Provision a new member and set an approval delegate
Use it when HR or an administrator is onboarding a new staff member who needs an account and a standing approval delegate.
Stand up a project phase and staff it
Use it when A project manager has agreed a new phase and wants it created and staffed in one go.
Create an accounting batch and wait for it to close
Use it when Finance is closing a period and wants an accounting batch created and the run held until the export finishes.
Onboard a new company and register its first configuration
Use it when A new customer has been signed and needs a company record, a corrected site address and a first asset registered.
Retire a board type after checking what still uses it
Use it when An administrator wants to remove an obsolete board type but must prove nothing still depends on it first.
A person decides
Permanently delete board type name on board board id; count tickets currently reference it.
Purge a stale SLA definition after impact review
Use it when An administrator wants an obsolete SLA removed but the impact on templates and service settings must be reviewed first.
A person decides
Permanently delete SLA sla id; count service templates were reviewed for references.
account { op: "plans.install", slug: "connectwise_manage-weekly-service-board-report" }
# then ask for it by name; a schedule can run it on a timetableGovernance for ConnectWise PSA
Destructive actions wait for a yes.
142 ConnectWise PSA actions are destructive. The first 10:
- Delete a ConnectWise service ticket
connectwise_manage.tickets.delete - Delete a ConnectWise contact
connectwise_manage.contacts.delete - Delete a ConnectWise company
connectwise_manage.companies.delete - Delete a ConnectWise agreement
connectwise_manage.agreements.delete - Delete a ConnectWise opportunity
connectwise_manage.opportunities.delete - Delete a ConnectWise project
connectwise_manage.projects.delete - Delete a ConnectWise catalog item
connectwise_manage.catalog_items.delete - Delete a ConnectWise ticket task
connectwise_manage.ticket_tasks.delete - Delete a ConnectWise invoice
connectwise_manage.invoices.delete - Delete a ConnectWise time entry
connectwise_manage.time_entries.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 ConnectWise service ticket?
intent: the user asked me to delete a ConnectWise service ticket
account { op: "keys.create", name: "connectwise-manage-agent", allowed_actions: ["connectwise_manage.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "connectwise_manage.tickets.delete", approver: "[email protected]" }, { match: "connectwise_manage.contacts.delete", approver: "[email protected]" }, { match: "connectwise_manage.companies.delete", approver: "[email protected]" } ]}Cost
What ConnectWise PSA costs on actionlake.
Every ConnectWise PSA action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call ConnectWise PSA 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 927 ConnectWise PSA actions
- 177actions pageeach page of a long list is one call
- 499reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every ConnectWise PSA action.
927 actions by area: the id your agent calls, what it does, and its effect.
PSA346
connectwise_manage.companies.listList ConnectWise companiesreadconnectwise_manage.contacts.listList ConnectWise contactsreadconnectwise_manage.tickets.createCreate a ConnectWise service ticketwriteconnectwise_manage.tickets.listList ConnectWise service ticketsreadconnectwise_manage.board_auto_templates.countCount ConnectWise board auto templatesreadconnectwise_manage.board_auto_templates.createCreate a ConnectWise board auto templatewrite- and 340 more in this area
Directory115
connectwise_manage.members.createCreate a ConnectWise memberwriteconnectwise_manage.members.getGet a ConnectWise memberreadconnectwise_manage.members.listList ConnectWise membersreadconnectwise_manage.system_members_info.listList ConnectWise member info recordsreadconnectwise_manage.member_accruals.countCount ConnectWise member accrualsreadconnectwise_manage.member_accruals.createCreate a ConnectWise member accrualwrite- and 109 more in this area
Procurement90
connectwise_manage.catalog_items.createCreate a ConnectWise catalog itemwriteconnectwise_manage.catalog_items.getGet a ConnectWise catalog itemreadconnectwise_manage.catalog_items.listList ConnectWise catalog itemsreadconnectwise_manage.purchase_orders.listList ConnectWise purchase ordersreadconnectwise_manage.catalog_item_components.countCount ConnectWise catalog item componentsreadconnectwise_manage.catalog_item_components.createCreate a ConnectWise catalog item componentwrite- and 84 more in this area
Projects82
connectwise_manage.project_ticket_time_entries.listList ConnectWise project ticket time entriesreadconnectwise_manage.projects.createCreate a ConnectWise projectwriteconnectwise_manage.projects.getGet a ConnectWise projectreadconnectwise_manage.projects.listList ConnectWise projectsreadconnectwise_manage.project_boards.countCount ConnectWise project boardsreadconnectwise_manage.project_boards.createCreate a ConnectWise project boardwrite- and 76 more in this area
Pipeline66
connectwise_manage.opportunities.createCreate a ConnectWise opportunitywriteconnectwise_manage.opportunities.getGet a ConnectWise opportunityreadconnectwise_manage.opportunities.listList ConnectWise opportunitiesreadconnectwise_manage.opportunities.updateReplace a ConnectWise opportunitywriteconnectwise_manage.activities.countCount ConnectWise activitiesreadconnectwise_manage.activities.createCreate a ConnectWise activitywrite- and 60 more in this area
Billing57
connectwise_manage.closed_invoices.listList ConnectWise closed invoicesreadconnectwise_manage.invoices.createCreate a ConnectWise invoicewriteconnectwise_manage.invoices.getGet a ConnectWise invoicereadconnectwise_manage.invoices.listList ConnectWise invoicesreadconnectwise_manage.billing_cycles.countCount ConnectWise billing cyclesreadconnectwise_manage.billing_cycles.createCreate a ConnectWise billing cyclewrite- and 51 more in this area
Contracts42
connectwise_manage.agreements.createCreate a ConnectWise agreementwriteconnectwise_manage.agreements.getGet a ConnectWise agreementreadconnectwise_manage.agreements.listList ConnectWise agreementsreadconnectwise_manage.agreements.updateReplace a ConnectWise agreementwriteconnectwise_manage.agreement_additions.countCount ConnectWise agreement additionsreadconnectwise_manage.agreement_additions.createCreate a ConnectWise agreement additionwrite- and 36 more in this area
Scheduling41
connectwise_manage.schedule_details.getGet a ConnectWise schedule detailreadconnectwise_manage.schedule_details.listList ConnectWise schedule detailsreadconnectwise_manage.schedule_entries.createCreate a ConnectWise schedule entrywriteconnectwise_manage.schedule_entries.listList ConnectWise schedule entriesreadconnectwise_manage.holiday_lists.countCount ConnectWise holiday listsreadconnectwise_manage.holiday_lists.createCreate a ConnectWise holiday listwrite- and 35 more in this area
Time34
connectwise_manage.time_entries.createCreate a ConnectWise time entrywriteconnectwise_manage.time_entries.getGet a ConnectWise time entryreadconnectwise_manage.time_entries.listList ConnectWise time entriesreadconnectwise_manage.time_entries.updateReplace a ConnectWise time entrywriteconnectwise_manage.time_accruals.countCount ConnectWise time accrualsreadconnectwise_manage.time_accruals.createCreate a ConnectWise time accrualwrite- and 28 more in this area
Expenses25
connectwise_manage.expense_entries.createCreate a ConnectWise expense entrywriteconnectwise_manage.expense_entries.getGet a ConnectWise expense entryreadconnectwise_manage.expense_entries.listList ConnectWise expense entriesreadconnectwise_manage.expense_entries.updateReplace a ConnectWise expense entrywriteconnectwise_manage.expense_classifications.countCount ConnectWise expense classificationsreadconnectwise_manage.expense_classifications.getGet a ConnectWise expense classificationread- and 19 more in this area
Orders12
connectwise_manage.sales_orders.createCreate a ConnectWise sales orderwriteconnectwise_manage.sales_orders.getGet a ConnectWise sales orderreadconnectwise_manage.sales_orders.listList ConnectWise sales ordersreadconnectwise_manage.sales_orders.updateReplace a ConnectWise sales orderwriteconnectwise_manage.sales_order_statuses.countCount ConnectWise sales order statusesreadconnectwise_manage.sales_order_statuses.createCreate a ConnectWise sales order statuswrite- and 6 more in this area
Ledger11
connectwise_manage.accounting_batches.createCreate a ConnectWise accounting batchwriteconnectwise_manage.accounting_batches.getGet a ConnectWise accounting batchreadconnectwise_manage.accounting_batches.listList ConnectWise accounting batchesreadconnectwise_manage.gl_accounts.listList ConnectWise GL accountsreadconnectwise_manage.accounting_batches.countCount ConnectWise accounting batchesreadconnectwise_manage.accounting_batches.deleteDelete a ConnectWise accounting batchdestructive- and 5 more in this area
Documents6
connectwise_manage.system_documents.createCreate a ConnectWise documentwriteconnectwise_manage.system_documents.deleteDelete a ConnectWise documentdestructiveconnectwise_manage.system_documents.getGet a ConnectWise documentreadconnectwise_manage.system_documents.listList ConnectWise documentsreadconnectwise_manage.system_document_types.listList ConnectWise document typesreadconnectwise_manage.system_documents.countCount ConnectWise documentsread
This index shows a sample of each area. All 927 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The ConnectWise PSA MCP server, answered.
Is there a ConnectWise PSA MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 927 ConnectWise PSA actions across PSA, directory, procurement and projects, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ConnectWise PSA.
What do I need to connect ConnectWise PSA?
ConnectWise company id, API member public key, API member private key and Registered integrator client id. The free call account { op: "connections.requirements", service: "connectwise_manage" } lists exactly what to paste.
Can an AI agent delete or change things in ConnectWise PSA?
Only if its key allows it, and only with an explicit confirmation. 142 ConnectWise PSA actions are destructive, including delete a ConnectWise service ticket, delete a ConnectWise contact and delete a ConnectWise company. 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 ConnectWise PSA API limit?
actionlake paces every call to the limits in the ConnectWise PSA service file: 600 calls a minute per connection. Repeated reads are answered from cache (499 ConnectWise PSA actions can be), which never reaches ConnectWise PSA.
What does a ConnectWise PSA action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (177 ConnectWise PSA actions page). Cache hits, searches, dry runs and calls ConnectWise PSA 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 ConnectWise PSA API does it cover?
The ConnectWise PSA API 3.0 at api-na.myconnectwise.net/v4_6_release/apis/3.0. It is built from ConnectWise PSA's documentation as read on 15 September 2026. 927 actions in 13 areas, each one in the signed service file (version 2.0.0).
Can I combine ConnectWise PSA with my other systems?
Yes. ask joins ConnectWise PSA to HubSpot CRM or ServiceNow on the same customer and returns the answer rather than every row. ConnectWise PSA maps crm.company, which 227 other connectors also map.
Does actionlake keep my ConnectWise PSA data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, 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 ConnectWise PSA 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 ConnectWise PSA today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.