ConnectWise PSA
Works with: ConnectWise PSA (Manage), cloud and on-premise. What SafeHanded does in ConnectWise: internal notes on every step · a customer-visible reply for link delivery · close-to-purge · request from a ticket · optional chain-of-custody certificate attachment.
Before you start
Section titled “Before you start”- A ConnectWise administrator, and a SafeHanded Owner/Admin on the Team plan or above.
- About ten minutes.
1. Connect
Section titled “1. Connect”- In ConnectWise, create an API member under System → Members → API Members with a public/private
key pair, and get your developer
clientIdfrom developer.connectwise.com. - In SafeHanded: Settings → Integrations, choose Connect and pick ConnectWise PSA. Give the connection a name, enter the ConnectWise site, Company ID, public and private keys and clientId, then click Connect and test.
2. Close detection
Section titled “2. Close detection”Nothing to set up. SafeHanded polls ConnectWise for status changes, so resolving or closing a ticket purges its credential on the next poll. SafeHanded re-reads the ticket via the API before anything is purged — see how ticketing works.
3. Request from a ticket (deep link)
Section titled “3. Request from a ticket (deep link)”ConnectWise PSA can add your own entry to the service ticket’s menu.
- In ConnectWise PSA, go to System → Setup Tables → Custom Menu Entry and add an entry for the Service Ticket screen, named Create SafeHanded request.
- Paste the link below as its URL. Then replace
TICKET_IDat the end with ConnectWise’s ticket-ID merge field ([cw_id]). - Save. The entry appears in the ticket’s menu and opens a new SafeHanded request linked to that ticket.
https://safehanded.com/app/requests/new?ticket=TICKET_IDTo copy this link, open Settings → Integrations, select your ConnectWise integration and go to its Activity tab.
Choosing a preset (optional). A preset is a saved request — the reason, how long the credential is kept, who receives it and how the link is sent. To start from one, add &preset= and the preset’s slug to the end of the link, for example &preset=password-reset. Each preset’s slug is shown, with a copy button, under Settings → Request presets. With no preset in the link, SafeHanded uses the client’s default preset, then the organisation default (Settings → Policy → Default preset for new requests), and otherwise the policy defaults.
4. Status mapping
Section titled “4. Status mapping”Board statuses are site-specific, so the status map (Status mapping on the integration’s
Configuration tab) matters most here: map each board status to
open / pending / resolved / closed. Only a status that maps to your purge trigger destroys a
credential.
What technicians see
Section titled “What technicians see”Internal notes (never customer-facing) at each step; the final note names when and who closed the ticket. Link delivery via Reply in the ticket posts a customer-visible Discussion note. With Attach the chain-of-custody certificate to the ticket turned on in your policy, the signed custody certificate PDF is attached on purge.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Cause / fix |
|---|---|
| Test connection failed | Check the member’s key pair and that your clientId is registered. |