ConnectWise PSA
Before you start
Section titled “Before you start”- A ConnectWise API member’s Company ID, Public Key, and Private Key. The connection form’s help says these are in ConnectWise under Setup > API Keys.
- Your ConnectWise site: ConnectWise-hosted (
na.myconnectwise.net), or the host name of your self-hosted server. - The API member needs access to the records listed in What ZenTop Triage reads and writes.
Connect ConnectWise
Section titled “Connect ConnectWise”Open Setup → Configuration → Integrations, then select ConnectWise PSA under PSA. The general steps are in Integrations.
| Field or control | What to enter or select |
|---|---|
| Company ID | Your connection’s company identifier. |
| Public Key | The public key for the connection. |
| Private Key | The private key for the connection. |
| Hosting Type | Select the displayed ConnectWise-hosted or self-hosted portal option. |
| Custom Domain | For a self-hosted portal, enter the domain name only, without a protocol or path. |
The portal selection controls which ticket portal is used for linked records, and which ConnectWise address ZenTop Triage connects to.
Test Connection checks the keys against your ConnectWise site and shows the company it connected to. It isn’t required before Save Configuration. On first setup, enter the keys before saving: saving without them stores only the portal settings, and the card stays Not connected.
Automatic triage is turned on per board in Boards & Routing. Saving a board with intake on registers a ConnectWise callback for it, so there is nothing to set up in ConnectWise.
What ZenTop Triage reads and writes
Section titled “What ZenTop Triage reads and writes”ZenTop Triage reads:
- service tickets, their notes, and time entries
- companies (of your selected company types), contacts, and company teams
- members, their skills, work calendars, and schedule entries
- boards, with their statuses, types, subtypes, and items
- priorities and the default SLA
- configurations, agreements, and holiday lists
ZenTop Triage writes:
- new tickets, from Triage and from alert sources
- ticket fields: board, status, type, subtype, item, and owner, plus the summary when summary rewriting is on
- impact and severity; ConnectWise’s SLA then calculates the priority
- internal notes, such as the triage and knowledge base notes
- schedule entries for assignments and escalations
- bundles and merges, when a user chooses them or automatic relationships are on
- configurations and the agreement on a ticket, when those settings are on
- the callbacks used for intake
ZenTop Triage doesn’t delete tickets or notes.
ConnectWise terms in ZenTop Triage
Section titled “ConnectWise terms in ZenTop Triage”| In ZenTop Triage | In ConnectWise |
|---|---|
| Service scope | Board (Boards & Routing) |
| Classification | Type, Subtype, and Item |
| Client company types | Company types (default: types named Client) |
| Client team | The technical members of the company’s team |
| Holidays | A calendar’s holiday list |
| Agreement attachment | Agreements |
| PSA Members | Members |
Feature availability
Section titled “Feature availability”Every ZenTop Triage feature works with ConnectWise except the intake ticket-type filter, which is built for HaloPSA. Search inside the PSA works with ConnectWise-hosted sites only. See Compare PSAs.
Troubleshooting
Section titled “Troubleshooting”| Message or symptom | What to check |
|---|---|
| “Invalid credentials — check your Company ID, Public Key, and Private Key” | The keys are wrong, or the API member is inactive. |
| “ConnectWise API returned status …”, or the connection timed out | Check Hosting Type and Custom Domain. |
| “Failed to save configuration” | Enter Custom Domain as a host name only, without https:// or a trailing slash. |
| The card stays Not connected after saving | The keys weren’t entered. Enter them and save again. |
| “… saved, but intake callback registration failed” | ZenTop Triage couldn’t create the board’s callback, so intake (including the 5-minute check) is off for that board. Save the board again. |
| “Failed to load members. Ensure your PSA connection is configured.” | Test the connection again, then select Sync Now in PSA Members. |