Skip to main content
Neo Agent needs its own security role and API member in ConnectWise. Create the role first, set its permissions in one pass, then create the API member with it.

Creating the Security Role and API Member

1

Create the Neo security role

Go to System → Security Roles and create a new role with Role ID Neo. Save it.

System → Security Roles

Add a new role

Name it Neo and save

2

Set the permission levels, one module at a time

Open each module once. In every module, including Sales and Marketing, set Inquire Level to All on every entry first. Then open the groups below and set Add and Edit Level to All on the chips listed.

Service Desk

Service TicketsClose Service TicketsService Ticket - DependenciesMerge TicketsResource SchedulingKnowledge Base CreatorTicket Templates
Also set Delete Level to All on Resource Scheduling.
Company MaintenanceConfigurationsContactsManage AttachmentsManagementNotes
Time EntryTime Entry Billable Option
Project TicketsClose Project TicketsClose ProjectsProject HeadersProject NotesProject Ticket - DependenciesProject Ticket Tasks
AgreementsBilling View Time
ProductsProduct Catalog
My CompanyTable Setup
Sales and Marketing need no write access. Read access lets Neo look up context (companies, SLAs, agreements, configurations) and does not allow changes.
Two entries deserve a second look:
  • System → API Reports needs Inquire = All. ConnectWise treats this entry separately from the rest of the System module, and it lets Neo batch note history efficiently.
  • Companies → Manage Attachments is what enables ticket file attachments. Without Add = All there, attachments fail with a 403 permission error.
Keep Add, Edit, and Delete at None on the financial and admin entries not listed above. Neo does not need to write to them:
  • Invoicing and Invoice Approval
  • Billing Rate Maintenance
  • Accounting Interface
  • Purchase Orders and Purchasing Approvals
  • Member Maintenance
  • Security Roles
  • Add Licenses
The Neo dashboard’s permission groups control what Neo actually does; the role only sets the maximum access.
3

Create the API member and generate keys

  1. Go to System → Members → API Members and create a new member.
  2. Set the Security Role to Neo, the Member ID to something clear like neo_agent, and the email to psa-noreply@neoagent.io.
  3. Open the member’s API Keys tab and create a key pair with a description like “Neo-API”.
  4. Copy the Public Key and the Private Key now. ConnectWise does not show the private key again.
Use psa-noreply@neoagent.io here, never another @neoagent.io address such as team@neoagent.io. ConnectWise mails member notifications to the address on the member record. psa-noreply@neoagent.io discards everything it receives; any other Neo address delivers your ticket notifications, and the customer data inside them, to a Neo inbox instead of your team’s. An address on your own domain works too. Neo never reads this field — it authenticates with the API keys.
Note the Member ID, the Public Key (username), and the Private Key (password). The connection step needs all three.
4

Create a regular member for time entries (optional, recommended)

ConnectWise does not let API-only members create time entries. If Neo should log time, create a second, regular member:
  1. Go to System → Members (the regular list, not API Members).
  2. Create a member such as neo_agent_member and assign it the Neo security role.
  3. Note its Member ID.
This member needs no API keys. Neo authenticates with the API member’s keys and only records this member as the author of time entries. After you connect, Neo asks which member to use and lists your members to pick from (connection setup).
If you skip this step, everything else works. Neo only cannot write time entries, and an attempt surfaces an action-required notice in your inbox.

What’s Next?

Proceed to connect ConnectWise to Neo Agent.
Before you proceed, verify you have:
  • The API Member ID
  • The Public Key (username) and Private Key (password)
  • Your ConnectWise PSA URL
  • Your exact company name from the ConnectWise login screen
  • (Optional) The regular member’s ID, if Neo should log time