Skip to main content
Login to ConnectWise as an Admin and select System -> Members -> API Members as shown below:  Click on + as shown below:  Fill out all required fields and click Save button. Note: Be sure to set the permission to “Admin”. If you have a role ID other than Admin, please see the bottom of this documentation for setting permissions for a custom role ID. Click on API Keys and then click on the + sign to add a new key:  Give it a description and click Save: 

Ensure to copy both now to a document or directly into MSP Process before you save and close in ConnectWise. 

The keys will disappear after you click save and close.

After you have saved the Public and Private keys to a clipboard or anywhere else for retrieval, the next step will be to enter this information into the MSP Process admin app. On your Onboarding session, please make sure to have these available. Once instructed by your onboarding specialist, please perform the following tasks: Now login to MSP Process and click on Integrations and click Integrations -> PSA Integrations. Click + to Add PSA and select ConnectWise.  Select ConnectWise Enter your PSA Connection Details: 

ConnectWise Permission Details

Introduction

At MSP Process we believe in only setting the minimum permissions required to leverage our application for your business needs. Please find the outline below along with a more granular review of the permissions. 

Adding a Security Role for MSP Process

  1. Login to your ConnectWise Manager account
  2. Navigate to System -> Security Roles
  3. Add a new role, name it MSP Process, and give it the permissions listed below: 
Area | Permission |  Companies | Company Maintenance: Inquire (All) Company/Contact Group Maintenance: Inquire (All) Contacts: Add/Edit/Inquire (All) CRM/Sales Activities: Inquire (All) Manage Attachments: Add/Inquire (All) Notes: Add/Edit/Inquire (All) Team Members: Inquire (All)| Finance* | Invoicing: Inquire (All) | Project | Project Tickets: Inquire (All) | Service Desk | Close Service Tickets: Add/Edit/Inquire (All) Resource Scheduling: Add/Inquire (All) Service Ticket - Dependancies: Add/Edit/Inquire (All) Service Tickets: Add/Edit/Inquire (All) Service Tickets - Finance: Inquire (All) SLA Dashboard: Inquire (All) Ticket Templates: Inquire (All)| System | Member Maintenance: Inquire (All) Table Setup: Inquire (All)| ** ** * only required if using the Invoices tab within the MSP Process Client Portal     4. Within the System area, click the customize link beside the Table Setup permission (screenshot below): ** **     5. Make sure that all of the entries are “allowed access” as shown below. You may then save and close the MSP Process Security Role.

API Endpoints Used by MSP Process

This is a list of all APIs we get information from or post using the API connections. Please adjust your permissions based on the details below. Please note that some of these API requests are part of other functions of our app and are not needed for End User and SMS utilization.  Type | API (resource) | Description GET | /company/companies/count | Check is connection is valid GET | /company/companies/statuses | Get statuses (company filters) GET | /company/companies/types | Get types (company filters) GET | /company/configurations/statuses | Get statuses (configuration filters) GET | /company/configurations/types | Get types (configuration filters) GET | /company/configurations | Get configurations GET POST | /company/companies | Get all companies GET | /company/communicationTypes/info | For contact creation GET POST | /company/contacts | For contact creation GET | /company/noteTypes | note types GET | /company/contacts/{contactId}/notes | contact notes GET | /company/contacts/{contactId} | contact GET | /company/contacts/count | contacts count GET | /company/contacts/validatePortalCredentials | valiadate client portal credentials POST | /company/contacts/requestPassword | request reset password System Type | API (resource) | Description GET | /system/members | Get resources GET | /system/apiMembers | Get API resources GET | /system/departments | Get departments GET | /system/audittrail | Get audit trial GET POST DELETE | /system/callbacks | Get system callbacks Finance Type | API (resource) | Description GET | /finance/invoices | Get the list of invoices GET | /finance/invoices/{id} | Get a specific invoice Service Type | API (resource) | Description GET | /service/tickets/{ticketId}/notes | Ticket notes PATCH | /service/tickets/{model.TicketId}/notes/{noteId} | Update ticket note GET | /service/tickets/{ticketId}/allnotes | Ticket timeline GET | /service/tickets/{ticketId} | Tickets GET | /service/tickets/{ticketId}/timeentries | Time entries GET | /service/priorities | Priorities GET POST PATCH | /service/tickets | tickets GET | /service/boards | boards GET | /service/boards/{boardId}/types | types GET | /service/boards/{boardId}/subtypes | subtypes GET | /service/boards/{boardId}/items | items GET | /service/boards/{boardId}/statuses | statuses GET | /service/impacts | impacts GET | /service/severities | severities GET | /service/locations | locations GET | /service/sources | sources GET | /finance/agreements | agreements Ticket Notes Type | API (resource) | Description POST | /service/ticketNote/{noteId}/markAs | toggle note type Time Entries / Schedule entries Type | API (resource) | Description GET POST | /time/entries | time entries GET | /time/entries/{id} | time entry GET | /time/workTypes | work types GET | /time/workRoles | work roles GET POST | /schedule/entries | schedule entries GET | /schedule/entries/{id} | schedule entry GET | /schedule/statuses | statuses