We have built a tool that uses the ConnectWise API to pull in your data.
What it imports:
- Customers: (Companies) Business Name, Email, Phone
- Sub Contacts: Name, Address
- Tickets: Summary, Number, Date
- Ticket Notes: Text, Creator, Date
Note: If your import stops unexpectedly, it is safe to restart the Import without risking duplicate records.
Steps to import
- Register for a CW Developer account if you do not have one.
- ConnectWise now requires a Client ID to use their API. You can register for a Client ID here (in the upper right, click Register).
Like the API keys, we do not store the Client ID after the import is complete. - Set up your API keys in the ConnectWise app (see this illustrated guide for screenshots, or CW's documentation below).
- In the upper right, click PSA > My Account.
- Click the gear icon tab.
- Click the API Keys item in the left-hand list, then click the right arrow button to move it to the right-hand list.
- Click Save & Close.
- Click the newly added API Keys tab.
- Fill in a Description.
- Below the Defaults tab, click the disc icon to save.
- Copy the Public and Private keys generated and save them somewhere.
- In Syncro, head to Admin > App Center
- Find and click the ConnectWise Importer app card.
- Fill in the fields as follows.
- ConnectWise CompanyName - must match what is in CW exactly
- Public API Key - what you generated above
- Private API Key - what you generated above
- ConnectWise API Host
- Cloud hosted:
- North American Cloud: api-na.myconnectwise.net
- European Cloud: api-eu.myconnectwise.net
- South African Cloud: api-za.myconnectwise.net
- Australian Cloud: api-au.myconnectwise.net
- Self-hosted/on-premise: Your on-premise public URL
- Cloud hosted:
- Client ID - what you generated above
- Click Import Now.
Here is a link to a PowerShell module to test the API and get back useful information: https://github.com/christaylorcodes/ConnectWiseManageAPI/blob/master/Examples/TicketExample.ps1
Here is some sample code for testing in PowerShell. Replace the values as appropriate.
$CWMConnectionInfo = @{ # This is the URL to your manage server. Server = 'server.example.com' # This is the company entered at login Company = 'My Company ID' # Public key created for this integration pubkey = '1234' # Private key created for this integration privatekey = 'abcd' # Your ClientID found at https://developer.connectwise.com/ClientID clientid = 'Go generate your own ClientID' } # ^This information is sensitive, take precautions to secure it.^
# Install/Update/Load the module if(Get-InstalledModule 'ConnectWiseManageAPI' -ErrorAction SilentlyContinue){ Update-Module 'ConnectWiseManageAPI' -Verbose } else{ Install-Module 'ConnectWiseManageAPI' -Verbose } Import-Module 'ConnectWiseManageAPI'
# Connect to your Manage server Connect-CWM @CWMConnectionInfo -Force -Verbose
Setting up API Keys (from CW Documentation)
Using the same setup screen as creating a Member an API Member allows granular control over what type of information an integration has access to. A global user allows integrations to be turned on and off easily without requiring the person who initially setup the integration.
The Members screen can be found by going to the System Module and opening the Members page. After accessing the Members page, click the API Members tab. Here you can create a new user and generate API Keys for them.
API Members do not require a user license.