Appearance
ConnectWise PSA Setup
ConnectWise PSA is Junto's primary integration. It syncs tickets, companies, contacts, and time entries, providing the foundation for signal triage.
Prerequisites
- A ConnectWise PSA instance (cloud or on-premise)
- An API member account with appropriate security role permissions
- Your ConnectWise Company Identifier and base URL
Step 1: Create a Security Role
- In ConnectWise, go to System > Security Roles and create a new role named Junto.
- Configure the permissions below. Actions not listed can be left at None.
Companies
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| Company Maintenance | All | All | None | All |
| Company/Contact Group Maintenance | All | All | All | All |
| Configurations | None | None | None | All |
| Contacts | All | All | None | All |
| Manage Attachments | All | None | None | All |
Finance
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| Agreements | None | None | None | All |
| Company Finance | None | All | None | All |
| Invoicing | None | None | None | All |
Procurement
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| Product Catalog | None | None | None | All |
| Products | All | None | None | All |
Sales
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| Opportunity | All | None | None | All |
| CRM/Sales Activities | All | None | None | All |
Service Desk
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| Close Service Tickets | None | All | None | All |
| Merge Tickets | All | None | None | All |
| Reports | None | None | None | All |
| Resource Scheduling | All | None | All | All |
| Service Ticket - Finance | None | None | None | All |
| Service Tickets | All | All | None | All |
System
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| API Reports | None | None | None | All |
| Manage Hosted API | None | None | None | All |
| Member Maintenance | None | None | None | All |
| My Company | None | None | None | All |
| Table Setup | None | None | None | All |
| Table Setup > Customize | All | All | All | All |
Note: For Table Setup > Customize, click Customize to open the security dialog and restrict access to only Service / Email Connector, Service / Priority, and Service / Service Board. Move all other items to the "Disallow Access to these" list.

Time & Expense
| Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|
| Time Entry | All | All | All | All |
| Time Entry Billable Option | All | All | All | All |
| Reports | None | None | None | All |
Optional / Future Permissions
Pre-configure these for upcoming features. Not currently required.
| Module | Action | Add | Edit | Delete | Inquire |
|---|---|---|---|---|---|
| Companies | Notes | None | None | None | All |
| Companies | Team Members | None | None | None | All |
| Sales | Closed Opportunity | None | All | None | All |
| Sales | Opportunity Finance | None | None | None | All |
| Sales | Reports | None | None | None | All |
| Sales | Sales Dashboard | None | None | None | All |
| Sales | Sales Funnel | None | None | None | All |
| Sales | Sales Order Finance | None | None | None | All |
| Sales | Sales Orders | All | All | All | All |
Step 2: Create an API Member
- In ConnectWise, go to System > Members and create a new API member.
- Set the member ID and name to junto and assign the Junto security role.
- Generate API keys (public and private) for this member.
Step 3: Configure in Junto
- In Junto, go to Settings > Integrations > ConnectWise PSA.
- Click Add Configuration and fill in:
- Company Identifier -- Your ConnectWise company ID (e.g.,
mycompany). - Base URL -- Your ConnectWise instance URL (e.g.,
na.myconnectwise.net). - Public Key -- The API public key from Step 2.
- Private Key -- The API private key from Step 2.
- Company Identifier -- Your ConnectWise company ID (e.g.,
- Click Create. Junto validates the connection by querying your ConnectWise instance.
Step 4: Map Service Boards
After connecting, configure which ConnectWise service boards Junto should monitor:
- Select the boards you want to sync tickets from.
- Apply selections, then map each board's ConnectWise statuses to Junto signal statuses.
Status Mapping
Each ConnectWise ticket status must be mapped to a Junto signal status. This mapping controls how tickets flow through Junto and which processors run on them.
| Junto Status | Meaning | Map to these CW statuses |
|---|---|---|
| New | Ticket just arrived, needs triage | New, Open, Unassigned — statuses for tickets that haven't been looked at yet |
| Child | Merged or bundled under a parent ticket | Child, Merged — statuses for tickets that are part of a parent ticket |
| Resolved | Work is done, pending confirmation | Resolved, Completed, Done — triggers resolution processors (AI resolution summary, service catalog classification) |
| Closed | Fully closed, no further action | Closed, Cancelled — final state, no processors run |
| Active | Everything else | All remaining statuses (In Progress, Assigned, Waiting, Scheduled, etc.) |
Why this matters:
- New triggers intake processors — triage, priority classification, categorization, sentiment analysis
- Resolved triggers resolution processors — AI resolution summary, resolution comparison, service catalog classification
- Closed is a terminal state — tickets are hidden from the default signal view
- Child tickets are excluded from the main signal list to avoid duplicates
- Active is the working state — tickets are visible and monitored but don't trigger intake processors again
Tip: When in doubt, map a status to Active. Only map to New, Child, Resolved, or Closed when the status clearly matches those definitions.
Step 5: Map Technicians
Link your Junto users to their ConnectWise member records:
- Go to the Member Mapping section on the ConnectWise settings page.
- For each Junto user, select their corresponding ConnectWise member.
- This mapping enables time entries created by the AI agent to be attributed to the correct technician.
Step 6: Run Initial Sync
Click Full Sync to perform the initial data import. This syncs:
- Companies -- All active companies from ConnectWise.
- Contacts -- Contacts associated with synced companies.
- Tickets -- Open tickets from the selected service boards.
- Time entries -- Time entries associated with synced tickets.
After the initial sync, Junto keeps your data up to date automatically.
Real-Time Sync
Changes in ConnectWise (tickets, time entries, companies, and contacts) sync to Junto automatically in real-time. No manual setup is required — this is configured automatically when you connect the integration.
Troubleshooting
- Connection fails -- Verify your Company Identifier, Base URL, and API keys. Ensure the API member is not disabled.
- Tickets not syncing -- Check that the correct service boards are selected and that the API member has read access to those boards.
- Time entries not attributed -- Verify the technician mapping. The Junto user who initiates the agent must be mapped to a ConnectWise member.
- Real-time sync not working -- If changes in ConnectWise are not appearing in Junto promptly, contact Junto support.