Knowledge Base

Free Plan Onboarding - Autotask Free Plan Onboarding

Login to Autotask and create your API username and password: 

Under Admin -> Resources (Users) click on New and select "API User", Select MSP Process as your integration partner, and generate a username and password. These two fields will be the username and password you will use to connect Alert Manager to Datto Autotask. 

Select Security Level "API User" (system)

In MSP Process click on Integrations -> PSA Integrations and click on Plus sign on Add as shown below: 

Click on Autotask and then input the username and password from the steps above: 

 

The following is the setup process for the Autotask Ticket Insight. This must be completed after setting up the API and putting it API keys into app.mspprocess.com.

 

Configuring the MSP Process Insight in Autotask

 

In the menu select Admin → Extensions & Integrations

Select Integration Center

At the Vendors tab, find ‘MSP Process’ in the Vendor Name column and click ‘Edit’

‘Active’ checkbox should be checked.

 

Enable Vendor Insights and press ‘Save & Close’

Then go to Admin ->  Features & Settings


Select ‘Ticket Categories’

Select ‘Ticket Category’ which you use as Default and Edit this default ticket category.

Open ‘Insights’ tab

Drag and drop the insights within the "Visible Insights" section to control their order of appearance on the Insights tab. Insights in the "Hidden Insights" section will not display on the Ticket. The "Always Display" checkbox should be checked.

After pressing ‘Save & Close’ you will be able to see POD in Ticket window.

 

Free Plan Onboarding - HaloPSA Free Plan Onboarding

The first thing that you be required is the create the HaloPSA API keys.

 

1) Choose the configuration gear,

2 Choose HaloPSA API.

3) Now grab the URL for your Halo instance under Resource Server - copy this and have it available to put into the app.mspprocess.com configuration. Only the first component until the end of the domain name is required.

4) Finally, click on the View Applications button.

Save the Resource Server to a notepad or another place for retrieval later.

Click on New on the top, right-hand side to create a new API

 

Follow these steps:

1) name the Application (MSP Process, in this case or something similar), 

2) Choose Authentication Method (Client ID and Secret - these will be provided to the integration step in app.mspprocess.com from above)

3) Copy and Paste the Client Id  for later retrieval  onto a clipboard or other for later retrieval to put in app.mspprocess.com

4) Copy and Paste the Client Secret onto a clipboard or other for later retrieval to put in app.mspprocess.com

5) "Agent to log in as" should choose an Agent with admin privileges and

6) Save

 

 

 

 

Click on Permission Tab. Edit the permissions. And click on the ones identified below. Make sure the final step is the Save the permission Changes.

 

At this point, you are ready for onboarding with your specialist. Make sure you have your Resource Server, Client Secret and Secret ID obtained earlier. These will be required  for input  into app.mspprocess.com integration page.

 

Once you have done the integration with you have completed the API integration with your onboarding specialist, you will have to complete the HaloPSA configuration:

Now we are going to create a Custom Tab in Halo. So go to Halo and under Configurations -> Custom Tabs, with the Entity set to "Ticket", click on "New" to create a new Custom Tab.

Enter the name of the custom tab to something like: "MSP Process",  Sequence "2" (or wherever you want it to appear), Type "Iframe", and finally, paste the URL that you copied from the app.mspprocess.com integration page, and hit Save.

For each ticket type that you would like for the MSP Process functionality to appear as a Custom Tab, you have to follow the following process:

Under the Halo Configuration-> Ticket -> Ticket Types, choose the ticket type that you would like to configure. Incident in this example.

Edit the Ticket Type, in this case, Incident, under the item Custom Tabs, make sure the box "All all Custom Tabs" is turned on. Save the configuration.

 

At this point, please contact your MSP Process account manager or onboarding specialist. You will be required to put the Resource Server, Client ID and Secret into the MSP Process application please have this data ready for the onboarding session.

Once the previous step is completed,  you will have access to the MSP Process custom tab when you access a ticket (on an Incident ticket in this case) on your HaloPSA!

 

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: 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: 

The keys will disappear after you click save and close so copy both now to a document or directly into MSP Process before you save and close in ConnectWise. 

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 (screeshot 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