Use this article to set up the ConnectWise Manage - API integration with MSPbots.
Prerequisites
- You need admin permissions to perform these steps.
- Prepare the following before you start:
- Company ID
- Company URL
- Your Connectwise Manage on-premise deployment has been updated to version 2019.3 and above patch levels.
How to connect ConnectWise Manage API to MSPbots
1. Create the Security Role for MSPbots.
- Log in to your ConnectWise Manage Console.
- Click System > Security Roles.
You can copy some roles if they have all read-only access already or you can create a new role. - Use the Role ID: MSPbots and ensure it has the correct level and correct Restrict Board Access.
-
Set the permissions. This step will restrict MSPbots' access to tickets and will sync only those that can be accessed.
- Give MSPbots Read Only access to your data to enable the bots and reports to function correctly.
- Check the permission using the permission-checking function in MSPbots app.
-
Set the Inquire Level for all fields to All, and keep the following permissions set to None because these are not needed at this time:
- Add Level
- Edit Level
- Delete Level
- Check the customized permissions.
MSPbots need to have permission to read your data because, without data, the bots and reports won't work.
We need data to create dashboards and drive the bots for automation. You may share only the data you are comfortable sharing for analysis, automation, and dashboard creation. For example, if you want the auto dispatchers to prioritize clients with bigger accounts or subscriptions, we need access to your clients' MRR data. Most MSPs share everything, except the password field, since we have a lot of pre-built dashboards.
2. Create the API key.
- Click System > Members > API Members > + .
- Fill in the blanks and select options on the required fields marked with an asterisk (*).
- Put the Member ID and Member Name: MSPbots
- For the required drop-down fields, choose an option based on your company configuration.
- Click Save to go to the next screen.
- Role ID: MSPbots
- Click API Keys, then +, type MSPbots in the description, and save.
- You will get the Public Key and Private Key. Copy and paste these in the MSPbots setup window to finish the setup.
- Set up the API in the MSPbots app.
- Log in to Integration.
- Navigate to ConnectWise Manage - API.
-
Click the Config option.
-
Copy and paste the details into the setup window.
- Fill in the Company ID and Company URL you prepared in the Prerequisites into ConnectWise URL and ConnectWise Company ID respectively.
-
Fill in the Public Key and Private Key you obtained from 2.2.f into CW API PublicKey and CW API PrivateKey respectively.
- Click Save and Sync.
ConnectWise Manage Product Website
https://www.connectwise.com/platform/business-management/manage
ConnectWise Manage API Documentation
It is useful to add more functions to ConnectWise Manage. If you want to do this, read https://developer.connectwise.com/Products/Manage.
Pulling API Logs from ConnectWise
Refer to How to pull API Logs from ConnectWise.
FAQs
1. What kind of permission does MSPbots need?
MSPbots need data from ConnectWise to generate reports and to drive the bots using data-driven decision-making. This makes having read-only permission for MSPbots to all your data important, especially if you want to create automated processes.
In the future, we will create more bots that perform actions like creating and closing tickets. We will be asking permission accordingly.
2. If I upgrade the ConnectWise app, will it affect the data synchronization?
Yes, upgrading the ConnectWise app will cause data synchronization issues for ConnectWise Manage - API integration.
If you have upgraded, you need to reauthorize the ConnectWise Manage - API integration.
If the field values in your integration connection have not changed, just click the Save and Sync button.
3. How can I configure the webhook for ConnectWise?
You do not need to configure the webhook for ConnectWise separately as it is automatically set up during the integration authorization.
Known issues
1. Incorrect Ticket Resource in the ConnectWise Manage Ticket
There is a known issue where tickets show the resource list as null but are not empty different in the API Realtime Result. For more information on this known issue and the corresponding workaround, refer to Incorrect Ticket Resource in the ConnectWise Manage Ticket.
2. The API connection error details display "connection timed out"
When the API connection error details of ConnectWise API integration contain connection timed out, it is recommended that you check if your firewall has added the IP addresses of MSPbots servers to the whitelist, see What MSPbots server IP addresses can I allow through the firewall.
3. Error: You do not have security permission to perform this action
When your API connection fails and the error message You do not have security permission to perform this action appears, it indicates that your ConnectWise Manage API permissions are not set correctly.
To resolve the issue, refer to the Step 4.c section to review whether your ConnectWise Manage API permissions are set correctly.
- If not correct, refer to Step 4 to set them correctly. Once the settings are completed, the data will successfully sync in the next scheduling cycle.
- If correct but the error still exists, please submit a request to our Help Center.
4. Time Entry status updated, but MSPbots timestamp remains unchanged
The status of your time entries has been modified, but the updated time has not been updated in MSPbots.
Possible Causes
MSPbots performs incremental synchronization of time entry data based on the last updated timestamp.
Due to your not selecting the Show covered items on Standard Invoice checkbox in the ConnectWise Manage app, the new time entries created will be covered by the agreement.
As a result, the ConnectWise Time Entry API will not update the timestamp, so even though the status of your time entries has been modified, the LastUpdated field in the time entry API remains unchanged, causing this issue.
Solutions
Follow the steps below to manually update time entries.
- Go to Integration on the MSPbots app.
- Click the API Tool button on the Integrations screen.
- Click ConnectWise Manage > Time Entries.
- Click Update.
5. The status of one or more APIs is Failed.
The status of the APIs on the API list is Failed, and the Sync History shows the error "You do not have security permission to perform this action."
The API sync fails because a module in the client's integration does not have authorization on specific modules. This can be resolved by following Step 4.c and selecting the All permission under Inquire Level for all APIs with failed syncs.
For example, to resolve a BOARD-SYNC Failed status, set the Table Setup permissions in the System type:
- Click Customize for Table Setup permission.
- Move all access to the Allow Access list, especially setting the Service/Service Board in the Allow Access list.
- Set the Inquire Level for Table Setup to All.
If the module that needs authorization is not on the Security Module page, contact your PSA's account manager for help.
6. Changes to Ticket Status or Resource Not Synced to MSPbots
When you find that changes to a ticket's status or resource in the ConnectWise app are not synced to MSPbots, refer to the article Changes to Ticket Status or Resource in ConnectWise App Not Synced to MSPbots to resolve the issue.
7. Meeting Automatically Set to Mark Done Not Synced to MSPbots
When you find that a meeting is automatically set to Mark Done in the ConnectWise app, the done_flag field value has not been synced to MSPbots. Refer to the article Meeting Automatically Set to Mark Done in the ConnectWise App Not Synced to MSPbots to resolve the issue.
8. Receiving a bot alert without a task case number
You may encounter an issue where you receive a bot alert without a task case number, and there is an audit trail record Task 1 has been marked as done in ConnectWise, but it does not show any tasks in the ticket.
ConnectWise has responded that this may be an issue with parent and child tickets. If a task is deleted, it is not recorded in the Audit Trail.
For more details, refer to the ISSUE-9404 ConnectWise ticket.