---
title: "ConnectWise PSA MCP server for AI agents - actionlake"
description: "Give Claude 927 ConnectWise PSA actions through one MCP server: PSA, directory, procurement. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/connectwise-psa
updated: 2026-10-10
---

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.

[Connect ConnectWise PSA free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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: "connectwise_manage.tickets.list",
  intent: "check which ConnectWise PSA account is connected"
}
# List ConnectWise service tickets · read · 1 upstream call
```

- 927 actions in one signed file
- 499 read look, never change
- 286 write create and update
- 142 wait for a yes destructive, confirmed first

Set up

## Connect ConnectWise PSA 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 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_id` ConnectWise company id
   - `public_key` API member public key
   - `private_key` API member private key
   - `client_id` Registered integrator client id
   ```
   account { op: "connections.requirements", service: "connectwise_manage" }
   # 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: "connectwise_manage.tickets.list" }
   # list connectwise service tickets · read · 1 upstream call
   check { 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_id` `public_key` `private_key` `client_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 2026[developer.connectwise.com](https://developer.connectwise.com/Products/ConnectWise_PSA)

**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.

- **499** read look, never change
- **286** write create and update
- **142** destructive wait for a confirmation

1. ### PSA
   346
   186 read · 106 write · 54 destructive
   List ConnectWise service tickets · List ConnectWise contacts · List ConnectWise companies · Create a ConnectWise service ticket
2. ### Directory
   115
   66 read · 34 write · 15 destructive
   List ConnectWise members · List ConnectWise member info records · Create a ConnectWise member · Get a ConnectWise member
3. ### Procurement
   90
   45 read · 30 write · 15 destructive
   List ConnectWise catalog items · List ConnectWise purchase orders · Create a ConnectWise catalog item · Get a ConnectWise catalog item
4. ### Projects
   82
   44 read · 25 write · 13 destructive
   List ConnectWise projects · Create a ConnectWise project · List ConnectWise project ticket time entries · Get a ConnectWise project
5. ### Pipeline
   66
   33 read · 22 write · 11 destructive
   List ConnectWise opportunities · Create a ConnectWise opportunity · Get a ConnectWise opportunity · Replace a ConnectWise opportunity
6. ### Billing
   57
   29 read · 19 write · 9 destructive
   List ConnectWise invoices · List ConnectWise closed invoices · Create a ConnectWise invoice · Get a ConnectWise invoice
7. ### Contracts
   42
   21 read · 14 write · 7 destructive
   List ConnectWise agreements · Create a ConnectWise agreement · Get a ConnectWise agreement · Replace a ConnectWise agreement
8. ### Scheduling
   41
   24 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.list` List ConnectWise service tickets | List service tickets, filtered by a ConnectWise conditions expression. | read | `service.ticket.list` 56 connectors |
| `connectwise_manage.contacts.list` List ConnectWise contacts | List contacts, filtered by a ConnectWise conditions expression. | read | `crm.contact.list` 177 connectors |
| `connectwise_manage.companies.list` List ConnectWise companies | List companies, filtered by a ConnectWise conditions expression. | read | `crm.company.list` 162 connectors |
| `connectwise_manage.agreements.list` List ConnectWise agreements | List agreements, filtered by a ConnectWise conditions expression. | read | `service.contract.list` 23 connectors |
| `connectwise_manage.opportunities.list` List ConnectWise opportunities | List opportunities, filtered by a ConnectWise conditions expression. | read | `crm.deal.list` 43 connectors |
| `connectwise_manage.tickets.create` Create a ConnectWise service ticket | Create a service ticket. | write | `service.ticket.create` 54 connectors |
| `connectwise_manage.catalog_items.list` List ConnectWise catalog items | List catalog items, filtered by a ConnectWise conditions expression. | read | `commerce.product.list` 112 connectors |
| `connectwise_manage.projects.list` List ConnectWise projects | List projects, filtered by a ConnectWise conditions expression. | read | `work.project.list` 109 connectors |
| `connectwise_manage.contacts.create` Create a ConnectWise contact | Create a contact. | write | `crm.contact.create` 161 connectors |
| `connectwise_manage.invoices.list` List ConnectWise invoices | List invoices, filtered by a ConnectWise conditions expression. | read | `finance.invoice.list` 101 connectors |
| `connectwise_manage.companies.create` Create a ConnectWise company | Create a company. | write | `crm.company.create` 142 connectors |
| `connectwise_manage.tickets.delete` Delete a ConnectWise service ticket | Delete a service ticket permanently. | destructive | `service.ticket.delete` 42 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.

1. Read read
   Which ConnectWise PSA invoices are more than 30 days overdue? Group them by customer with the total owed.
   calls `connectwise_manage.invoices.list`
2. Plan write
   Onboard a new company and register its first configuration in ConnectWise PSA.
   calls `connectwise_manage.companies.create` `connectwise_manage.company_sites.get` `connectwise_manage.company_sites.update` `connectwise_manage.configurations.create` `connectwise_manage.tickets.create` +1 more
3. Plan read
   Weekly service board health report in ConnectWise PSA.
   calls `connectwise_manage.board_statuses.list` `connectwise_manage.board_items.list` `connectwise_manage.tickets.list` `connectwise_manage.slas.list` `connectwise_manage.service_severities.list` +1 more
4. Write write
   Create a ConnectWise service ticket in ConnectWise PSA. Show me exactly what you will send before you save it.
   calls `connectwise_manage.tickets.create`
5. Across systems read
   For each customer, how many invoices are in ConnectWise PSA and how many tickets in HubSpot CRM?
   calls `connectwise_manage.invoices.list` `hubspot_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`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)
- For each customer, how many invoices are in ConnectWise PSA and how many tickets in ServiceNow?
  `connectwise_manage.invoices.list` + `servicenow_table.incidents.list`, on `crm.company` · [ServiceNow](https://actionlake.com/connectors/servicenow)

Also mapped by other connectors `crm.company` **227** `crm.contact` **192** `work.project` **116** `commerce.product` **109** `finance.invoice` **91** `service.ticket` **62** `crm.deal` **43** `asset.asset` **40**

ask

```
ask {
  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"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

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.

1. ### 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.
   **Effect**
   read
   **Steps**
   6
   **Needs**
   board id
   **Install**
   `connectwise_manage-weekly-service-board-report`
2. ### 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.
   **Effect**
   write
   **Steps**
   3 · loops
   **Needs**
   board id and conditions
   **Install**
   `connectwise_manage-triage-open-tickets-to-board`
3. ### 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.
   **Effect**
   write
   **Steps**
   4 · loops
   **Needs**
   board id, conditions and task id
   **Install**
   `connectwise_manage-close-resolved-tickets-with-approval`
4. ### 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_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   amount, invoice id, payment date and reference number
   **Install**
   `connectwise_manage-apply-invoice-payment`
5. ### 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.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   member id, ticket id, time end, time start and work role id
   **Install**
   `connectwise_manage-log-time-against-ticket`
6. ### 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.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   company id, contact id, name, note type id and sales rep id
   **Install**
   `connectwise_manage-open-opportunity-from-company`
7. ### 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.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   delegate to id, department id, email, first name, identifier, last name, license class, start date and title
   **Install**
   `connectwise_manage-provision-member-and-delegate`
8. ### 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.
   **Effect**
   write
   **Steps**
   5 · loops
   **Needs**
   description, member ids, note type id, project id, scheduled end and scheduled start
   **Install**
   `connectwise_manage-stand-up-project-phase-and-team`
9. ### 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.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   batch identifier
   **Install**
   `connectwise_manage-await-accounting-batch-export`
10. ### 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.
    **Effect**
    write
    **Steps**
    6
    **Needs**
    address line1, board id, city, config status id, config type id, identifier, name, site id, state and zip
    **Install**
    `connectwise_manage-onboard-company-with-site-and-config`
11. ### 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.
    **Effect**
    destructive
    **Steps**
    5
    **Needs**
    board id and type id
    **Install**
    `connectwise_manage-retire-board-type-with-approval`
12. ### 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.
    **Effect**
    destructive
    **Steps**
    6
    **Needs**
    sla id
    **Install**
    `connectwise_manage-purge-stale-sla-definitions`

install a plan

```
account { op: "plans.install", slug: "connectwise_manage-weekly-service-board-report" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance 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.

do connectwise_manage.tickets.delete confirm_policy: **human**

Delete a ConnectWise service ticket?

**intent:** the user asked me to delete a ConnectWise service ticket

run suspended · waiting for a named person · key _connectwise-manage-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
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: "lead@example.com" },
    { match: "connectwise_manage.contacts.delete", approver: "lead@example.com" },
    { match: "connectwise_manage.companies.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to ConnectWise PSA only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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.

- 1 upstream call per action all 927 ConnectWise PSA actions
- 177 actions page each page of a long list is one call
- 499 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every ConnectWise PSA action.

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

**PSA 346**

- `connectwise_manage.companies.list` List ConnectWise companies read
- `connectwise_manage.contacts.list` List ConnectWise contacts read
- `connectwise_manage.tickets.create` Create a ConnectWise service ticket write
- `connectwise_manage.tickets.list` List ConnectWise service tickets read
- `connectwise_manage.board_auto_templates.count` Count ConnectWise board auto templates read
- `connectwise_manage.board_auto_templates.create` Create a ConnectWise board auto template write
- and 340 more in this area

**Directory 115**

- `connectwise_manage.members.create` Create a ConnectWise member write
- `connectwise_manage.members.get` Get a ConnectWise member read
- `connectwise_manage.members.list` List ConnectWise members read
- `connectwise_manage.system_members_info.list` List ConnectWise member info records read
- `connectwise_manage.member_accruals.count` Count ConnectWise member accruals read
- `connectwise_manage.member_accruals.create` Create a ConnectWise member accrual write
- and 109 more in this area

**Procurement 90**

- `connectwise_manage.catalog_items.create` Create a ConnectWise catalog item write
- `connectwise_manage.catalog_items.get` Get a ConnectWise catalog item read
- `connectwise_manage.catalog_items.list` List ConnectWise catalog items read
- `connectwise_manage.purchase_orders.list` List ConnectWise purchase orders read
- `connectwise_manage.catalog_item_components.count` Count ConnectWise catalog item components read
- `connectwise_manage.catalog_item_components.create` Create a ConnectWise catalog item component write
- and 84 more in this area

**Projects 82**

- `connectwise_manage.project_ticket_time_entries.list` List ConnectWise project ticket time entries read
- `connectwise_manage.projects.create` Create a ConnectWise project write
- `connectwise_manage.projects.get` Get a ConnectWise project read
- `connectwise_manage.projects.list` List ConnectWise projects read
- `connectwise_manage.project_boards.count` Count ConnectWise project boards read
- `connectwise_manage.project_boards.create` Create a ConnectWise project board write
- and 76 more in this area

**Pipeline 66**

- `connectwise_manage.opportunities.create` Create a ConnectWise opportunity write
- `connectwise_manage.opportunities.get` Get a ConnectWise opportunity read
- `connectwise_manage.opportunities.list` List ConnectWise opportunities read
- `connectwise_manage.opportunities.update` Replace a ConnectWise opportunity write
- `connectwise_manage.activities.count` Count ConnectWise activities read
- `connectwise_manage.activities.create` Create a ConnectWise activity write
- and 60 more in this area

**Billing 57**

- `connectwise_manage.closed_invoices.list` List ConnectWise closed invoices read
- `connectwise_manage.invoices.create` Create a ConnectWise invoice write
- `connectwise_manage.invoices.get` Get a ConnectWise invoice read
- `connectwise_manage.invoices.list` List ConnectWise invoices read
- `connectwise_manage.billing_cycles.count` Count ConnectWise billing cycles read
- `connectwise_manage.billing_cycles.create` Create a ConnectWise billing cycle write
- and 51 more in this area

**Contracts 42**

- `connectwise_manage.agreements.create` Create a ConnectWise agreement write
- `connectwise_manage.agreements.get` Get a ConnectWise agreement read
- `connectwise_manage.agreements.list` List ConnectWise agreements read
- `connectwise_manage.agreements.update` Replace a ConnectWise agreement write
- `connectwise_manage.agreement_additions.count` Count ConnectWise agreement additions read
- `connectwise_manage.agreement_additions.create` Create a ConnectWise agreement addition write
- and 36 more in this area

**Scheduling 41**

- `connectwise_manage.schedule_details.get` Get a ConnectWise schedule detail read
- `connectwise_manage.schedule_details.list` List ConnectWise schedule details read
- `connectwise_manage.schedule_entries.create` Create a ConnectWise schedule entry write
- `connectwise_manage.schedule_entries.list` List ConnectWise schedule entries read
- `connectwise_manage.holiday_lists.count` Count ConnectWise holiday lists read
- `connectwise_manage.holiday_lists.create` Create a ConnectWise holiday list write
- and 35 more in this area

**Time 34**

- `connectwise_manage.time_entries.create` Create a ConnectWise time entry write
- `connectwise_manage.time_entries.get` Get a ConnectWise time entry read
- `connectwise_manage.time_entries.list` List ConnectWise time entries read
- `connectwise_manage.time_entries.update` Replace a ConnectWise time entry write
- `connectwise_manage.time_accruals.count` Count ConnectWise time accruals read
- `connectwise_manage.time_accruals.create` Create a ConnectWise time accrual write
- and 28 more in this area

**Expenses 25**

- `connectwise_manage.expense_entries.create` Create a ConnectWise expense entry write
- `connectwise_manage.expense_entries.get` Get a ConnectWise expense entry read
- `connectwise_manage.expense_entries.list` List ConnectWise expense entries read
- `connectwise_manage.expense_entries.update` Replace a ConnectWise expense entry write
- `connectwise_manage.expense_classifications.count` Count ConnectWise expense classifications read
- `connectwise_manage.expense_classifications.get` Get a ConnectWise expense classification read
- and 19 more in this area

**Orders 12**

- `connectwise_manage.sales_orders.create` Create a ConnectWise sales order write
- `connectwise_manage.sales_orders.get` Get a ConnectWise sales order read
- `connectwise_manage.sales_orders.list` List ConnectWise sales orders read
- `connectwise_manage.sales_orders.update` Replace a ConnectWise sales order write
- `connectwise_manage.sales_order_statuses.count` Count ConnectWise sales order statuses read
- `connectwise_manage.sales_order_statuses.create` Create a ConnectWise sales order status write
- and 6 more in this area

**Ledger 11**

- `connectwise_manage.accounting_batches.create` Create a ConnectWise accounting batch write
- `connectwise_manage.accounting_batches.get` Get a ConnectWise accounting batch read
- `connectwise_manage.accounting_batches.list` List ConnectWise accounting batches read
- `connectwise_manage.gl_accounts.list` List ConnectWise GL accounts read
- `connectwise_manage.accounting_batches.count` Count ConnectWise accounting batches read
- `connectwise_manage.accounting_batches.delete` Delete a ConnectWise accounting batch destructive
- and 5 more in this area

**Documents 6**

- `connectwise_manage.system_documents.create` Create a ConnectWise document write
- `connectwise_manage.system_documents.delete` Delete a ConnectWise document destructive
- `connectwise_manage.system_documents.get` Get a ConnectWise document read
- `connectwise_manage.system_documents.list` List ConnectWise documents read
- `connectwise_manage.system_document_types.list` List ConnectWise document types read
- `connectwise_manage.system_documents.count` Count ConnectWise documents read

This index shows a sample of each area. All 927 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/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.

## More connectors like ConnectWise PSA

Shares the most action names with

- [HaloPSA 211](https://actionlake.com/connectors/halopsa)
- [Kaseya BMS 116](https://actionlake.com/connectors/kaseya-bms)
- [ScalePad 86](https://actionlake.com/connectors/scalepad)
- [RepairShopr 78](https://actionlake.com/connectors/repairshopr)
- [Syncro 78](https://actionlake.com/connectors/syncro)
- [Accelo 67](https://actionlake.com/connectors/accelo)

Joins with, on shared entities

- [Acumatica Cloud ERP 9](https://actionlake.com/connectors/acumatica-cloud-erp)
- [ERPNext (Frappe) 9](https://actionlake.com/connectors/erpnext-frappe)
- [Odoo 8](https://actionlake.com/connectors/odoo)
- [ServiceTitan 8](https://actionlake.com/connectors/servicetitan)
- [Freshservice 8](https://actionlake.com/connectors/freshservice)
- [Planhat 8](https://actionlake.com/connectors/planhat)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by ConnectWise PSA; the name is the vendor's own. Counts are from the ConnectWise PSA service file, version 2.0.0.

## Give your agent ConnectWise PSA today.

[Connect ConnectWise PSA free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

---

Source: https://actionlake.com/connectors/connectwise-psa
More: https://actionlake.com/llms.txt
