Connect ConnectWise PSA
Create the ConnectWise API member, security role and API keys that QuantumOps signs in with, connect them in the setup wizard or Tenant settings and keep the callback working.
Last updated 21 days ago
QuantumOps reads your tickets from ConnectWise PSA and writes back to them. It signs in with an API member that you create in ConnectWise, and it learns about ticket changes through a callback that it registers in your ConnectWise. This page walks through creating the API member in ConnectWise, connecting it in QuantumOps and keeping the connection healthy. For what each QuantumOps feature does on ConnectWise, see What works on each PSA.
Before you start:
- You need the Administrator role in QuantumOps.
- You need a ConnectWise login that can create security roles and members.
- You choose ConnectWise PSA in the setup wizard, before the first ticket arrives. After that the choice is locked, because every ticket, member and status id that QuantumOps stores belongs to the PSA you picked. A customer who moves to another PSA starts as a new QuantumOps tenant.
What QuantumOps uses the connection for
QuantumOps signs in to ConnectWise as the API member, with no person involved. It uses that access to:
- Read tickets and their notes, companies, contacts, members, boards, statuses and types, so it can analyze tickets and build its dashboards and reports.
- Write to ConnectWise when a feature does: an analysis or research note, a reply that a technician approves, a status, owner or priority change, a schedule entry for an appointment, a time entry, a document attached to a ticket.
- Register a callback, so that ConnectWise tells QuantumOps the moment a ticket is created or changed.
ConnectWise keeps statuses, types, subtypes and items on a board. QuantumOps therefore never gives a ticket a status that belongs to another board, and it maps each board you choose on its own. See Map your PSA and check its health.
Create the API member in ConnectWise
You do this in ConnectWise, not in QuantumOps. The setup wizard shows this list in its Before you begin panel.
- Create a security role for QuantumOps with these rights:
- Service Desk, service tickets: inquire, add and edit
- Service Desk, service surveys: inquire
- Table Setup: inquire
- Companies and contacts: inquire, add and edit
- Companies, Configurations: inquire
- System, Members: inquire
- Schedule: inquire, add, edit and delete
- Time entry: inquire and add
- System callbacks: inquire, add and delete
- Documents: inquire and add
- System, audit trail: inquire (optional, for a ticket's status history)
- Create an API member. Add a member of the API type and give it the security role from step 1.
- Create the API keys. On the member's API Keys tab create a key and copy both parts now. ConnectWise shows the private key only once.
Companies and contacts needs add and edit as well as inquire because QuantumOps saves a caller's phone number on a contact: when a technician saves a caller's new number on the Call Taking screen, and when a call recording is matched to a contact that has no number yet. If the role lacks them, only those saves are refused, with a message such as The ConnectWise API member is not allowed to do this (changing the phone number of contact 123). Its security role needs the permission.
Also decide now how customers receive replies. QuantumOps posts a reply as a customer-visible note and asks ConnectWise to send notifications, and ConnectWise sends it through the board's e-mail template. See Customer e-mail on Autotask and ConnectWise.
Connect ConnectWise in the setup wizard
- In the setup wizard, open step 2. Under Choose your PSA, select ConnectWise PSA. The page then reads Connect to ConnectWise PSA.
- Fill in the credentials card, described in the next table.
- Select Save and test connection.
- Map your boards. See Map your PSA and check its health.
- Choose Next.
Next stays unavailable until the connection test has succeeded and the mapping is saved. If you change a field after a successful test, the result is cleared and you test again.
Save and test connection saves the form first, then tests the saved connection. The test looks up your company to find the address of your ConnectWise API and its version, reads system information, and reads one service ticket. A successful test shows Connection successful, the message Connected to ConnectWise., the version and the site, and the web address of your ConnectWise. QuantumOps keeps what it found, so later calls skip the lookup, and it looks again by itself if ConnectWise moves your site to a new release.
If you enter a different site or company id, QuantumOps forgets what it found and the callback it registered, because that is another ConnectWise. Test again, and recreate the callback.
Setup wizard step 10, Dashboard Setup, has nothing to configure on ConnectWise. Your technicians use the QuantumOps browser extension, which shows the same insights beside the ticket. See The browser extension on Autotask and ConnectWise.
Requests and limits
There is no request budget field for ConnectWise. QuantumOps keeps the number of simultaneous requests low and backs off when ConnectWise answers that it is limiting requests. A change that ConnectWise did not answer in time is never sent twice: the message says the change may or may not have been saved, and asks you to check the ticket before trying again.
The callback
ConnectWise tells QuantumOps about changes through a callback. When you complete the setup wizard, QuantumOps registers one callback in your ConnectWise, named QuantumOps ticket events, for tickets across the company. It points at your instance's address, and ConnectWise delivers callbacks only to a secure (https) address.
If registration fails, setup is still saved and the closing message begins Setup is saved, but and says the ConnectWise webhooks could not be registered, with the reason. Open the ConnectWise Integration section of Tenant settings and choose Recreate Webhooks. If the reason mentions the System callbacks permission, add that right to the API member's security role first.
Recreate Webhooks is safe to run again. A callback that is already registered and active is left alone, and a stale one is replaced.
Change the connection later
- Select the gear icon in the page header. The page is titled Tenant Configuration.
- Open the ConnectWise Integration section. It has four parts:
- Health shows the state of the connection, callback and mapping. Select Check again to read it again. See Map your PSA and check its health.
- The credentials card, with the same fields as the wizard.
- Edit the mapping opens the mapping for your boards.
- Recreate Webhooks registers the callback again.
- Change what you need and select Save and test connection.
Leave Private key empty to keep the stored one. A key is only ever sent from the screen to QuantumOps, never back.
Fix common problems
The test says this instance has no ConnectWise client id
ConnectWise refuses every request that does not carry the identifier of the integration. TechPulse supplies it with your instance's settings. Contact support, then test again.
ConnectWise rejected the keys
A message such as ConnectWise rejected the API keys while reading system information. Check the company id, public key and private key. means the sign-in failed. If you lost the private key, create a new API key on the member's API Keys tab.
The site address or the company id is not accepted
Two messages say that the lookup of your company failed. Each carries the address you typed in ConnectWise site, for example na.myconnectwise.net.
- ConnectWise at and your address, then could not be reached for the company lookup. The ConnectWise site is wrong, or the address is not reachable from QuantumOps. Use the address you sign in at, as a host name and not an IP address. An address that is an IP address is refused with The ConnectWise site address must be a host name, not an IP address.
- Your address, then does not know the company id and your company id in quotes, ending Check the company id and the site address. The Company id is not one that this site knows. Use the company id you type on the ConnectWise sign-in page.
The API member is not allowed to do something
A message such as The ConnectWise API member is not allowed to do this (reading a ticket). Its security role needs the permission. means the security role lacks a right. The words in brackets say what QuantumOps was doing. Add the right from the list above that matches the action, then try again.
The test says the API member cannot read service tickets
The message ConnectWise accepted the keys but the API member cannot read service tickets. is followed by the reason ConnectWise gave. Give the role the Service Desk right to inquire into service tickets.
Tickets are not arriving
- Look at the header. If it shows Paused, QuantumOps still receives callbacks but does not analyze tickets. See Pausing and resuming AI processing.
- Open the ConnectWise Integration section and read Health. Fix any line that shows a problem.
- Select Recreate Webhooks.
- Open Pipeline Health to see tickets that were received but failed or were skipped, and why.
A write is refused because a board is not mapped
A message such as Board 'Projects' has no spam status mapped means that board lacks a choice QuantumOps needs for the action. Open Edit the mapping and make the choice. The Health check lists every board with a gap.
Related pages
- What works on each PSA: which features differ on ConnectWise and why.
- Map your PSA and check its health: the per-board mapping and the health check.
- Customer e-mail on Autotask and ConnectWise: how replies reach customers.
- The browser extension on Autotask and ConnectWise: the side panel for ConnectWise technicians.
- Setup wizard: HaloPSA and your organization: step 2 and the organization step.
- Tenant settings: the rest of the Tenant Configuration page.
Was this helpful?
More in Integrations
Your HaloPSA connectionDocumentation HubDocumentation sourcesConnecting SharePoint documentationStill need help? Ask the team