> ## Documentation Index
> Fetch the complete documentation index at: https://kb.mspprocess.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Free Plan Onboarding - Connectwise

> Login to ConnectWise as an Admin and select System -&gt; Members -&gt; API Members as shown below: Click on + as shown below: Fill out all required fields…

Login to ConnectWise as an Admin and select **System** -> **Members** -> **API Members** as shown below: 

![](https://mintcdn.com/triggr/o9r5jEtjdR2oUtiW/images/msp-process-kb/c135ec0ae468.png?fit=max\&auto=format\&n=o9r5jEtjdR2oUtiW\&q=85\&s=cddf0378b5a59018a8cf1c546d0e1623)

Click on **+** as shown below: 

![](https://mintcdn.com/triggr/dXDzJtUmPBaHtkPV/images/msp-process-kb/ff21f8b52cc9.png?fit=max\&auto=format\&n=dXDzJtUmPBaHtkPV\&q=85\&s=d7760e93387bae46a76959ee248174dc)

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: 

![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/18ff6363d69d.png?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=2a83c86bc37d53d1ac588583018b1f5b)

![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/18ff6363d69d.png?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=2a83c86bc37d53d1ac588583018b1f5b)

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.