More in Setting up a platform

Connect ConnectWise PSA

Connect ConnectWise PSA with an API member's keys. We set up the callback in ConnectWise for you. Tickets come in by themselves, and approved replies go back to ConnectWise.

In the appPlatformSettingsTicket system

If your service tickets live in ConnectWise PSA (once called ConnectWise Manage), connect it directly. No code is needed. We sign in to ConnectWise with an API member's keys. ConnectWise then tells us when a ticket is added or changed. We read the ticket from ConnectWise, and approved replies go back into ConnectWise.

Each platform connects one ticket system. See Connect your ticket system for how that works.

Before you start#

You need someone who can add API members in ConnectWise, usually a ConnectWise admin.

You also need a client ID. ConnectWise asks every program that uses its API to name itself with one. You get it on ConnectWise's developer site, as below.

Make an API member and its keys#

An API member is a ConnectWise member for programs, not people. Replies and notes from us show in ConnectWise as written by it, so give it a clear name.

  1. 1

    In ConnectWise, go to System › Members and open the API Members tab. Click + to add one.

  2. 2

    Give it a Member ID and a Member Name, such as "Cerberius Agent". Choose a Role ID: a security role that may read and change service tickets, read companies, contacts and documents, and add callbacks. Fill in the other boxes ConnectWise asks for, then save.

  3. 3

    Open the new member's API Keys tab. Click +, give the key a Description, and save.

  4. 4

    Copy the Public Key and the Private Key. ConnectWise shows the private key only once.

Which security role?

The API member can only see and change what its role allows. It needs to read and change service tickets and their notes, read companies, contacts, boards and documents, and add callbacks. If it can't add callbacks, the settings page says so: see If tickets don't come in.

Get a client ID#

  1. 1

    Go to developer.connectwise.com and sign in, or sign up with your work email address. ConnectWise may take a day to approve a new account.

  2. 2

    Open Client ID in the menu and make a new one. Name it, for example "Cerberius Agents".

  3. 3

    Copy the client ID it gives you.

Connect ConnectWise#

  1. 1

    Here, go to Settings › Ticket system. On the Connection tab, click Connect a ticket system and choose ConnectWise PSA.

  2. 2

    Under Your ConnectWise, fill in the ConnectWise address, the Company ID, the Public key, the Private key and the Client ID. Show me how on our page shows the ConnectWise steps too.

  3. 3

    Choose how Approved replies go back, what happens After a reply and when Closing, and whether to add the Agent's findings in ConnectWise.

  4. 4

    Click Connect ConnectWise. We add the callback in ConnectWise straight away. Then click Check connection.

  5. 5

    Under Which companies, tick the companies whose tickets this platform takes, or leave them all unticked to take every company's tickets. Under Which boards, tick boards the same way. Click Save.

SettingWhat it does
ConnectWise addressThe address you open ConnectWise at, for example na.myconnectwise.net, eu.myconnectwise.net or au.myconnectwise.net. If ConnectWise runs on your own server, its address. We work out the address of ConnectWise's API ourselves.
Company IDWhat you type in the Company box when you sign in to ConnectWise.
Public keyThe API member's Public Key.
Private keyThe API member's Private Key. Once saved, it is never shown again. Type a new one to replace it. A new public key needs its private key too.
Client IDYour client ID from developer.connectwise.com.
Check connectionShows once ConnectWise is connected. It signs in with the keys, and says whether ConnectWise let us read tickets and boards.
Let ConnectWise tell us about ticketsShows whether ConnectWise tells us about tickets: On, or why not. It also shows Our address in ConnectWise, the address the callback calls. Keep it private.
ConnectWise's signatureConnectWise signs every callback with a key of its own, and says where to read it on your ConnectWise. We read it from there, never from anywhere else, and refuse callbacks without the signature. There is nothing to copy. A connection made before this check has it off, with a warning and Check ConnectWise's signature. Stop checking turns it off: only if good callbacks are refused.
Last heard from ConnectWiseWhen ConnectWise last called. Never yet means it hasn't called. If a call was refused, it says when and why, such as wrong signature.
Which companiesShows once ConnectWise is connected: your ConnectWise companies, read from ConnectWise. Type part of a name to find one. Tick the companies whose tickets come to this platform: the clients whose systems this platform can look into. With none ticked, every company's tickets come here. A company that another of your platforms takes from the same ConnectWise can't be ticked, and says which platform takes it. Tickets already here stay here.
Which boardsShows once ConnectWise is connected: your service boards. Tick the boards whose tickets come here. With none ticked, every board's tickets come here.
Approved repliesConnectWise emails it to the contact: a Discussion note on the ticket, which ConnectWise emails to the ticket's contact straight away. Add it as an internal note: an Internal note, which your team reads in ConnectWise and sends themselves.
After a replyThen set its status to: a status of your boards, such as Waiting on Customer, or Leave it as it is. Statuses belong to boards in ConnectWise: a ticket on a board without this status keeps its own. It only changes once nothing else on the ticket waits here, such as a fix. If ConnectWise refuses the change, the reply still counts as sent. Off at first.
ClosingClose it with: the closed status a ticket gets in ConnectWise when it is closed here. At first we use the board's status called Closed or >Closed, or the board's only closed status. Choose one if a board has several closed statuses and none has those names.
Agent's findings in ConnectWiseWhen on, an Internal note with what the agent found goes on the ConnectWise ticket as soon as a reply is ready to approve. Only your team sees it. Off at first.

Once ConnectWise is connected, change anything here and click Save at the bottom.

How the email reaches the contact

ConnectWise emails a Discussion note to the contact only when the ticket's own Email Contact box is ticked. When it isn't, we tick it for our reply and untick it straight after, so your team's own notes go on as before. The ticket needs a contact with an email address.

What happens with a ConnectWise ticket#

  • A new ticket in ConnectWise reaches the agent, with the files attached to it. Who asked is the ticket's contact, from ConnectWise's own record of them.
  • A new note from the contact, by email or the customer portal, reaches the agent as a follow-up, with any new files on the ticket. Your team's notes and internal notes are skipped.
  • Closing it in ConnectWise stops the work on it here.
  • Closing it here gives it a closed status in ConnectWise, as chosen under Closing.
  • Links attached to a ticket are not opened. Only files kept in ConnectWise come in.
  • Project tickets don't come in. Only service tickets do.

Only tickets that came from ConnectWise go back to ConnectWise. Other tickets on the same platform, from the log watcher for example, don't.

Tickets opened in ConnectWise before you connected don't come in by themselves. Importing older tickets works for Halo only for now.

One ConnectWise, a platform per client

An IT company runs one ConnectWise for all its clients, and each client's systems are their own platform. Connect each client's platform to the same ConnectWise, and under Which companies tick that client's company. Each platform adds its own callback. Two platforms never take the same company's tickets.

If tickets don't come in#

Look under Let ConnectWise tell us about tickets.

  • It says why the callback couldn't be added. Usually the API member's security role doesn't allow it. In ConnectWise, go to System › Security Roles, open the API member's role, and give it more access, or choose another role for the API member. Then click Try again here.
  • It says Off. Someone removed the callback. Click Turn it on.
  • It says On, but nothing comes in. ConnectWise switches a callback off by itself after three days of failed calls. Click Set it up again: it switches the callback back on, or adds it again. Also check that the ticket's company and board are ticked under Which companies and Which boards.
  • It says Refused a call, with why. ConnectWise called, but its signature didn't check out. If it says couldn't read ConnectWise's signing key, ConnectWise didn't answer when we asked for its key: the next callback tries again.

Stop#

  1. 1

    Click Disconnect… at the top of the Connection tab, and confirm. We remove our callback from ConnectWise first, while the keys still work, so ConnectWise stops calling us. Replies stop going back to ConnectWise. Tickets already here stay.

  2. 2

    In ConnectWise, delete the API member's key under System › Members › API Members › API Keys, or the API member itself.

If ConnectWise can't be reached at that moment, the callback stays there. It calls an address that no longer works, and ConnectWise switches it off by itself after three days.

To pause without disconnecting, click Remove the callback under Let ConnectWise tell us about tickets. Set it up again turns it back on.