Skip to main content

Syncing your PSA - Connectwise

Connecting ConnectWise Manage to Activate

Activate imports your client list directly from ConnectWise Manage so you can identify revenue opportunities across your customer base. This article describes how to connect your ConnectWise Manage instance to Hatz.

This article covers connecting Activate to ConnectWise Manage specifically. For a complete walkthrough of Activate — the dashboard, working a prospect end-to-end, and creating tenants — see the Activate: A Guide for MSP Partners article.

Before you begin

You will need:

- An administrator account in ConnectWise Manage with permission to create API Members and Security Roles.

- Administrator access to the Activate section in Hatz.

The procedure typically takes ten to fifteen minutes.

Overview

Connecting ConnectWise requires four values: a Site, a Company ID, a Public Key, and a Private Key. The first two values identify your ConnectWise instance; the latter two are generated within ConnectWise and authorize Hatz to read your data. You will create a dedicated API Member, assign it a read-only Security Role, generate a key pair, and enter those values in Hatz.

Step 1: Create an API Member in ConnectWise

1. In ConnectWise Manage, navigate to SystemMembers.

2. Open the API Members tab.

3. Click the + icon to create a new API Member.

4. Enter a recognizable identifier such as hatz-sellai in the Member ID field, and a descriptive name such as Hatz Activate Integration in the Member Name field.

5. Set the Level to Corporate (Level 1).

6. Save the record. The Security Role will be assigned in Step 2.

Step 2: Create a read-only Security Role

Activate requires read access to Companies and Contacts. Hatz recommends scoping the API Member to a dedicated, read-only role.

1. Navigate to SystemSecurity Roles.

2. Create a new role named Hatz Activate (Read-Only).

3. Grant Inquire Level: All on the following permissions:

- Companies → Company Maintenance

- Companies → Contacts

4. Ensure that Add, Edit, and Delete are set to None for all modules. Activate does not write to ConnectWise under any circumstance.

5. Save the role.

6. Return to the API Member created in Step 1 and assign Hatz Activate (Read-Only) as its Role ID.

Step 3: Generate an API key pair

1. Open the API Member created in Step 1.

2. Select the API Keys tab.

3. Click the + icon and enter a description, such as Hatz Activate.

4. Save the entry. ConnectWise will display a Public Key and a Private Key.

▎ Important: The Private Key is displayed only once. Record both values in a secure location, such as a password manager, before closing the dialog. If the Private Key is lost, the key pair must be deleted and a new one generated.

Step 4: Identify your Site and Company ID

Site refers to the ConnectWise REST API host for your region. This is not the URL used to sign in to ConnectWise Manage. Common values for cloud-hosted ConnectWise instances are:

For cloud-hosted ConnectWise Manage, this is usually a regional host such as api-na.myconnectwise.net, api-eu.myconnectwise.net, or api-au.myconnectwise.net. Enter the host only when possible. Do not enter your normal ConnectWise sign-in URL, a localhost URL, a private IP address, or a VPN-only address.

Self-hosted or custom-hosted customers should enter the public HTTPS hostname of their installation's API endpoint. If your ConnectWise environment restricts inbound API traffic by network allowlist, allow requests from the Hatz ConnectWise sync IP: 34.145.228.1.

Company ID is the identifier entered in the Company field on the ConnectWise Manage sign-in screen. It is distinct from the company's display name. If the value is not known, please contact your ConnectWise account owner.

Step 5: Complete the connection in Hatz

1. In Hatz, open Activate from the administrator navigation.

2. Click Connect a PSA.

3. Select ConnectWise Manage.

4. Enter the values found from previous steps

5. Click Connect.

Hatz validates the credentials against ConnectWise immediately. Once validated, the initial customer sync begins, and imported records will appear in the Activate customer table within a few seconds.

Troubleshooting

"ConnectWise rejected the credentials. Verify company ID, public key, and private key."

ConnectWise returned a 401 or 403 response. Please verify the following, in order:

1. The Company ID is the value entered in the Company field on the ConnectWise sign-in screen, not the company's display name and not a numeric company record ID.

2. The Public Key and Private Key are exact, case-sensitive copies of the values displayed in ConnectWise, with no leading or trailing whitespace. If the Private Key is no longer visible, generate a new key pair.

3. The API keys belong to the same API Member that has the Hatz Activate security role assigned.

4. The Security Role assigned to the API Member grants Inquire: All on Company Maintenance and Contacts.

5. The Site value is the ConnectWise REST API host, such as api-na.myconnectwise.net, and not the browser sign-in URL. Remove paths such as /v4_6_release/apis/3.0 unless Support has asked you to include them.

6. If your ConnectWise tenant uses network restrictions, confirm with your ConnectWise administrator that Hatz is allowed to reach the API endpoint from 34.145.228.1.

"Failed to reach ConnectWise Manage." or "ConnectWise company list failed."

Activate was unable to reach ConnectWise. Confirm that ConnectWise is operational at status.connectwise.com and that the Site value matches your region. For custom-hosted or self-hosted environments, confirm the API host is publicly reachable over HTTPS. If the environment uses an IP allowlist or firewall restriction, allow Hatz requests from 34.145.228.1. If the issue persists, contact Hatz Support and include the approximate time of the failed attempt, the Site value you entered, and whether the allowlist has been updated.

Customers were imported without primary contact emails.

This is expected behavior. Activate retrieves the email of each company's default contact in ConnectWise. Companies whose default contact has no email entry will appear in Hatz with an empty email field.

Rotating credentials

To rotate the API key pair:

1. In ConnectWise, delete the existing key pair on the API Member and generate a new one.

2. In Hatz, revoke the existing credential from the Activate credentials list.

3. Connect again using the procedure in Step 5 with the new key pair.

Disconnecting

To revoke Hatz's access:

1. In Hatz, revoke the credential from the Activate credentials list.

2. In ConnectWise, delete the API key pair, the API Member, or both.

Data accessed and stored

On each sync, Activate requests two categories of information from ConnectWise:

- All non-deleted companies.

- The primary email of each company's default contact.

The following fields are persisted in Hatz: company name, website domain, default contact name, default contact email, and the ConnectWise company identifier. No other ConnectWise data is stored. Credentials are encrypted at rest, and Activate never creates, modifies, or deletes records in ConnectWise.

Did this answer your question?