ConnectWise PSA
ConnectWise Manage doesn't call arbitrary REST APIs natively β integrations live outside it. This is the normal pattern in the MSP world, and it takes about 20 minutes to set up with an automation platform.
Pick your middleware
Rewst is purpose-built for MSPs and has a first-class ConnectWise Manage connector plus a generic HTTP action β it can import Chinron's OpenAPI spec directly to pre-build the request shapes. n8n or Make work the same way if you're already standardised on one of those.
The two flows to build
- New contact/member in CW β create in Chinron.
Trigger on "member created" or "contact created" in CW Manage (webhook or polling, depending on your Rewst/n8n plan). Map the CW company to a Chinron
clientIdβ build this mapping once fromGET /clients, then store it as a lookup table in your automation platform. POST the contact's name and email to/clients/{clientId}/users. - Offboarding ticket closed β deactivate in Chinron.
Trigger on a termination ticket status change. Call
GET /clients/{clientId}/users?email=β¦to resolve the departing employee's email to a user id, thenPOST .../deactivate.
Agreement billing (seat counts)
If you true-up CW agreement quantities against active user counts, GET /clients returns an active_users figure per client you can feed into a scheduled reconciliation flow. Full billing management (invoices, Stripe) isn't exposed via the public API β that stays behind the portal login.
Reliability tips
- Create is idempotent on email β retry freely on timeout without dedup logic.
- Honour
Retry-Afteron a 429 rather than hammering the endpoint. - Batch new-hire imports (up to 200 per call) via
POST /clients/{clientId}/users/batchinstead of looping individual creates.