Skip to main content
Once you have created your API member with the proper security role and permissions, connect it in the Neo dashboard.

Required Information

Gather the following from your ConnectWise system before you start:
string
required
The text-based Member ID you created for the Neo API member (e.g., neo_agent). This is found in System → Members → API Members.
string
required
The Public Key generated for your Neo API member. This acts as the username for API authentication.
string
required
The Private Key generated for your Neo API member. This acts as the password for API authentication.
string
required
Your ConnectWise API base URL (e.g., https://api-na.myconnectwise.net/). This is the URL used for API access to your ConnectWise instance.
string
required
Your company name exactly as shown on the ConnectWise login screen. This must match precisely for authentication to work.

The company name as it appears on the ConnectWise login screen

You do not type Neo’s regular member ID here. After you connect, Neo offers to set its non-API ConnectWise member and lists your members to pick from. It is optional; see Choosing Neo’s ConnectWise member below.

Configuring the Integration

1

Open ConnectWise in the Neo dashboard

In the Neo Agent Dashboard, open Integrations, switch to the Directory tab, and select ConnectWise. The connect page walks you through the same steps as this guide, one at a time.
2

Enter your credentials

On the “Enter connection details” step, fill in the credentials you gathered:
  • Username (public key)
  • Password (private key)
  • PSA URL
  • Company Name, exactly as on the login screen
  • Neo’s API-only Member ID

The connection details step on the ConnectWise connect page

Click Save & run checks. Neo runs the checks on the values you entered and stores the credentials only when the required checks pass. After a passing run, save registers the webhook and does not re-run the ticket-read probe.
3

Watch the verification checks

Neo runs its verification checks one by one against the values you entered: authentication, the identity Neo acts as, ticket read access, write access, webhook permission, and data sync (sync starts after save). Each check reports as it completes.
All required checks green means Neo can read and write tickets and can register the webhook. A failed check names the exact ConnectWise screen to fix. Fix the permission, then click Save & run checks again.
4

Pick Neo's ConnectWise member (optional)

After a successful connect, Neo asks which ConnectWise member it should be recorded as for assignments and time entries. You can skip this and set it later; the next section explains the trade-off.

Choosing Neo’s ConnectWise member

Optional. ConnectWise does not let an API-only member own a time entry, so Neo needs a separate non-API member (an ordinary one) to be recorded as when it:
  • is assigned a ticket
  • logs its own time, including notifying a contact via a time entry
  • replies to a customer (see Who authors Neo’s notes below)
Neo lists the ConnectWise members it can use, so the API member it signs in with and any disabled members do not appear. If you skip it, Neo keeps working: it writes notes, updates tickets, and logs time against the technician who asked in chat. What it cannot do is take ownership of a ticket or log time under its own name. This member consumes a ConnectWise licence, which is why it is optional. Change it any time: Integrations → ConnectWise → Neo’s non-API ConnectWise member → Change.

Who authors Neo’s notes

ConnectWise records a note against whichever member wrote it. Neo uses two: So customers see the identity you chose, while your technicians can still tell which notes Neo wrote. To change the name your customers see, rename that member in ConnectWise — “Acme Support”, for example. There is no setting in Neo to configure.
If you have not chosen a non-API member, Neo writes every note under the API member.

Troubleshooting Connection Issues

If a check fails or the save is rejected, check the following:
  • Verify that the API Member Identifier is correct and corresponds to an active API member
  • Ensure the Public and Private keys were generated correctly in ConnectWise
  • Check that the company name matches exactly what appears on the ConnectWise login screen
  • Confirm the ConnectWise PSA URL is correct and accessible
  • Review the security role permissions for your Neo API member
  • Ensure all required permissions listed in the API member creation guide are assigned
  • Verify that both Inquire and Add/Edit levels are set correctly
  • Check that the “Neo” security role is properly assigned to the API member
  • Confirm your ConnectWise PSA URL is accessible from external networks
  • Check if any firewall rules might be blocking API connections
  • Whitelist Neo Agent’s IP address if your system restricts access by IP
  • Test the URL accessibility from outside your network
ConnectWise blocks API-only members from creating time entries. This is a ConnectWise restriction, not a permissions setting. Granting Time & Expense on the security role is necessary but not sufficient: the time entry must be owned by a regular (non-API) member.To fix it:
  1. Create a regular (non-API) member for Neo and assign it the Neo security role.
  2. Go to Integrations → ConnectWise → Neo’s non-API ConnectWise member → Change and pick that member.
Until then, Neo’s other capabilities keep working and time-entry attempts log an action-required notice in your inbox instead of failing the workflow.

What’s Next?

With your ConnectWise system connected, you can now:
  • Create Workflows: Build automated workflows that interact with your ConnectWise tickets and data
  • Set Up Pod Integration: Consider setting up the ConnectWise Pod for seamless in-PSA access
Start with simple workflows to test the integration before implementing more complex automation scenarios. This helps identify any configuration issues early in the process.