Skip to content

Connect ConnectWise PSA (Manage)

Ledger reads your clients, agreements, and billing additions from ConnectWise PSA (Manage). This is a PSA connector, so its data feeds billing reconciliation (as do Autotask and HaloPSA) — see billing for how Ledger uses it — rather than device liveness; a ConnectWise configuration on its own is a billing assertion, never proof a device is actually being managed.

1. Create a read-only API member

  1. Log into ConnectWise Manage as an administrator.
  2. Create a dedicated API member (not a human login) for Ledger.
  3. Assign it a security role with read-only permissions — this connection only ever reads, so it never needs write access to any module. (Ticket creation, section 2, always uses its own separate credential.)
  4. Under that API member, generate an API key pair: a Public key and a Private key. ConnectWise shows the private key once.

You'll also need your Company ID — the login/company identifier you use to sign into ConnectWise Manage (not your company's display name).

2. Ticket creation (off by default)

Ledger can create a ticket in ConnectWise for an exception, but only where your account has been enabled for it. It is switched off unless your account has been enabled, and until then the Add connection screen shows no ticket-creation option. You do not need to do anything for it now; in particular, do not create a ticket-creation credential in advance.

If it is enabled for you, a ticket-creation credential is always its own, separate connection with its own API member and key pair, never the read-only one from section 1. Even then, Ledger only creates a ticket and attaches the affected device to it; it never edits, closes or deletes a ticket, and never changes anything else in ConnectWise. See Tickets.

3. Add the connection in Ledger

From Connections → Add connection → ConnectWise PSA, fill in:

Field Value
Company ID (login company) Your ConnectWise login company ID
Public key The API member's public key
Private key The API member's private key
Site Your ConnectWise region (see below), or "On-premise"
On-premise host Only if you selected "On-premise" above

Region options for cloud-hosted ConnectWise:

Site Host
NA api-na.myconnectwise.net
EU api-eu.myconnectwise.net
AUS api-aus.myconnectwise.net
On-premise you supply the host

What Ledger sends on every request

Authorization: Basic base64("{companyId}+{publicKey}:{privateKey}")
clientId: <Ledger's ConnectWise integration identifier>
Content-Type: application/json
Accept: application/vnd.connectwise.com+json; version=2019.1

The clientId header identifies Ledger as a registered ConnectWise integration; it is the same for every customer and is not a secret of yours.

The Accept header pins a specific API version so ConnectWise's data model never shifts under your connection without notice.

What Ledger reads

Clients/companies, devices under configurations, and billing data under agreements → additions (and, when an addition is linked to a configuration, that link) — used to power the billing reconciliation view. This connection never writes anything back.

Rotating credentials later

Generate a new key pair on the API member in ConnectWise and update it from the connection's Rotate credentials action in Ledger — this re-tests the connection with the new keys and never leaves the old ones stored.